bfd/
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
1b315056
CS
12008-07-09 Craig Silverstein <csilvers@google.com>
2
3 * Makefile.am (BFD32_LIBS): Add compress.lo.
4 (BFD32_LIBS_CFILES): Add compress.c.
5 (BFD_H_FILES): Likewise.
6 * Makefile.in: Regenerate.
7 * bfd-in2.h: Regenerate.
8 * config.in: Add HAVE_ZLIB_H
9 * configure.in: Add test for libz and zlib.h
10 * configure: Regenerate.
11 * dwarf2.c (read_section): New function.
12 (read_indirect_string): Call new function read_section.
13 (read_abbrevs): Likewise.
14 (decode_line_info): Likewise.
15 (read_debug_ranges): Likewise.
16 (find_line): Call new function read_section when just one
17 .zdebug_info section is found, otherwise read and compress
18 multiple sections.
19 (_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr.
20 * elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix.
21 (special_sections_z): New struct.
22 (special_sections): Refer to special_sections_z.
23 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize
24 sections named .zdebug_*.
25 (_bfd_mips_elf_fake_sections): Likewise.
26 * compress.c: New file.
27 (bfd_uncompress_section_contents): New function.
28
329dcd78
NC
292008-07-07 Christophe Lyon <christophe.lyon@st.com>
30
31 * elf32-arm.c (arm_type_of_stub): Don't crash on local symbols in
32 the presence of a PLT.
33
c29aae59
AM
342008-07-07 Alan Modra <amodra@bigpond.net.au>
35
36 * bfd.c (bfd_demangle): Always trim off bfd_get_symbol_leading_char.
37
7382d32a
AM
382008-07-02 Alan Modra <amodra@bigpond.net.au>
39
40 * elf32-ppc.c (is_pic_glink_stub): New function.
41 (ppc_elf_get_synthetic_symtab): Don't generate symbols when
42 multiple shared/pie stubs per plt entry.
43
cb53bf42
RS
442008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
45
46 * elf.c (_bfd_elf_get_synthetic_symtab): Increment p by
47 bed->s->int_rels_per_ext_rel.
48
6ba2a415
RS
492008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
50
51 * syms.c (BSF_SYNTHETIC): New flag.
52 * elf.c (_bfd_elf_get_synthetic_symtab): Set it.
53 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise.
54 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
55 * bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour
56 for synthetic symbols.
57 * bfd-in2.h: Regenerate.
58
3dccd7b7
DJ
592008-06-30 Daniel Jacobowitz <dan@codesourcery.com>
60
61 * elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
62 Expand comments.
63 (arm_map_one_stub): Use | 1 when setting the low bit.
64
f57718b4
AS
652008-06-29 Andreas Schwab <schwab@suse.de>
66
67 * elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
68 addend on _GLOBAL_OFFSET_TABLE_.
69
7413f23f
DJ
702008-06-24 Daniel Jacobowitz <dan@codesourcery.com>
71
72 * elf32-arm.c (STUB_ENTRY_NAME): Define.
73 (arm_thumb_thumb_long_branch_stub): Use bx instead of b.n.
74 (arm_pic_long_branch_stub): Mention R_ARM_REL32 instead of
75 R_ARM_ABS32.
76 (struct elf32_arm_stub_hash_entry): Add output_name.
77 (arm_build_one_stub): Move offsets into the offset argument
78 of _bfd_final_link_relocate. Correct offset for
79 arm_thumb_arm_v4t_stub_long_branch.
80 (elf32_arm_size_stubs): Set stub_entry->output_name.
81 (elf32_arm_ouput_plt_map_sym): Rename to elf32_arm_output_map_sym.
82 Update all callers.
83 (elf32_arm_output_stub_sym): New.
84 (arm_map_one_stub): Correct formatting. Use elf32_arm_output_stub_sym.
85
7c39fb20
AM
862008-06-20 Alan Modra <amodra@bigpond.net.au>
87
88 * elf32-spu.c (needs_ovl_stub): Correctly return nonovl_stub for
89 non-branch insns.
90
f3c29e8a
AM
912008-06-20 Alan Modra <amodra@bigpond.net.au>
92
93 * elf32-spu.c (build_stub): Allow wraparound on stub branches.
94 (allocate_spuear_stubs, build_spuear_stubs): Return value from
95 count_stub/build_stub.
96 (spu_elf_build_stubs): Correct location of stub reloc error message.
97
de73c611
SR
982008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
99
100 * elf32-cr16.c (ELF_MACHINE_ALT1): Define to EM_CR16_OLD.
101
7a283e07
RW
1022008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
103
104 * configure: Regenerate.
105
99302af9
AM
1062008-06-17 Alan Modra <amodra@bigpond.net.au>
107
108 * elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space.
109 (spu_elf_check_vma): Add extra_stack_space param, copy to htab.
110 (spu_elf_auto_overlay): Use it.
111 (RECURSE_UNMARK): Define as 0.
112 (unmark_overlay_section): Heed RECURSE_UNMARK.
113 * elf32-spu.h (spu_elf_check_vma): Update prototype.
114
ff7eeb89
DD
1152008-06-12 DJ Delorie <dj@redhat.com>
116
117 * elf32-m32c.c (ELF_MACHINE_ALT1): Define as EM_M32C_OLD.
118
c13bb2ea
PB
1192008-06-09 Paul Brook <paul@codesourcery.com>
120
121 bfd/
122 * elf32-arm.c (elf32_arm_merge_private_bfd_data): Allow BE8 shared
123 libraries.
124
f4ac8484
DJ
1252008-06-09 Christophe Lyon <christophe.lyon@st.com>
126
127 * elf32-arm.c (arm_stub_is_thumb): Define.
128 (elf32_arm_final_link_relocate): Handle near mode switching stubs.
129
6a267715
AM
1302008-06-07 Alan Modra <amodra@bigpond.net.au>
131
132 * elf32-spu.c (spu_elf_auto_overlay): Add valid area below sp
133 to stack calculation.
134
23684067
PB
1352008-06-06 Paul Brook <paul@codesourcery.com>
136
137 bfd/
138 * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
139
97407faf
AM
1402008-06-06 Alan Modra <amodra@bigpond.net.au>
141
142 * elf32-spu.c (spu_elf_auto_overlay): Relax requirement that
143 file names be unique. Specify archive:path in overlay script.
144
7cfbafbc
AM
1452008-06-05 Alan Modra <amodra@bigpond.net.au>
146
147 PR ld/6590
148 * elf64-ppc.c (ppc_build_one_stub): Correct reloc offsets.
149
0f0a5e58
AM
1502008-06-04 Alan Modra <amodra@bigpond.net.au>
151
152 * elf.c (ignore_section_sym): Don't test section sym value here.
153 (elf_map_symbols): Instead check zero value here as was done prior
154 to 2006-05-26 change.
155
696b7ad2
NC
1562008-06-04 Nick Clifton <nickc@redhat.com>
157
158 PR ld/6019
159 * elf32-avr.c (elf32_avr_relax_section): Handle the case where
160 there are no local symbols.
161
1f27ab8d
AM
1622008-06-04 Alan Modra <amodra@bigpond.net.au>
163
164 * elf32-spu.c (get_sym_h): Don't attempt to read global syms.
165 (process_stubs): Likewise.
166 (discover_functions): Don't used cached symbols.
167 (maybe_insert_function): Correct condition under which function
168 array is realloc'd.
169 (mark_functions_via_relocs): Delete unused variable.
170
adfef0bd
NC
1712008-05-30 Frediano Ziglio <frediano.ziglio@vodafone.com>
172 Nick Clifton <nickc@redhat.com>
173
174 PR ld/6511
175 * elf64-hppa.c (allocate_global_data_opd): Default to using the
176 dynamic symbol table for local function names in shared libraries.
177
11701589
JK
1782008-05-29 Jan Kratochvil <jan.kratochvil@redhat.com>
179
180 * elf.c (assign_file_positions_for_load_sections): Adjust pre-section
181 gaps based on VMA and P_VADDR instead of LMA and P_PADDR addresses.
182
124b52c6
AM
1832008-05-28 Alan Modra <amodra@bigpond.net.au>
184
185 * elf32-spu.c (spu_elf_object_p): New function.
186 (elf_backend_object_p): Define.
187 (build_stub): Correct second word of 8 byte overlay stubs.
188 (spu_elf_relocate_section): Formatting.
189
bb864ac1
CES
1902008-05-24 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
191
192 * elf.c (elfcore_write_register_note): New function.
193 * elf-bfd.h (elfcore_write_register_note): New prototype.
194
da5938a2
NC
1952008-05-22 Christophe Lyon <christophe.lyon@st.com>
196
197 * elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols.
198 (elf32_arm_stub_add_mapping_symbol): Remove.
199 (elf32_arm_add_stub): Don't generate mapping symbols. Change
200 prototype.
201 (elf32_arm_size_stubs): Use new elf32_arm_add_stub
202 prototype. Don't generate thumb to arm glue for calls.
203 (arm_map_one_stub): Define.
204 (elf32_arm_output_arch_local_syms): Generate mapping symbols for
205 long calls stubs.
206
7fb9f789
NC
2072008-05-21 Maxim Kuvyrkov <maxim@codesourcery.com>
208
209 Add multi-GOT support for m68k.
210 * elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
211 glist): New fields.
212 (struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
213 struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
214 struct elf_m68k_multi_got): New data structures.
215 (struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
216 allow_multigot_p, multi_got_): New fields.
217 (elf_m68k_multi_got): New macro.
218 (elf_m68k_link_hash_newfunc): Initialize new fields of
219 struct elf_m68k_link_hash_entry.
220 (elf_m68k_link_hash_table_create): Initialize new fields of
221 struct elf_m68k_link_hash_table.
222 (elf_m68k_link_hash_table_free): New static function implementing hook.
223 (elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
224 static functions for struct elf_m68k_got.
225 (elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
226 elf_m68k_got_entry_eq): New static functions for
227 struct elf_m68k_got_entry.
228 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
229 ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
230 (enum elf_m68k_get_entry_howto): New enum.
231 (elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
232 elf_m68k_remove_got_entry_type): New static functions for
233 struct elf_m68k_got_entry.
234 (elf_m68k_add_entry_to_got): New static function.
235 (elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
236 elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
237 functions for struct elf_m68k_bfd2got_entry.
238 (struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
239 elf_m68k_can_merge_gots): New traversal.
240 (struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
241 elf_m68k_merge_gots): Ditto.
242 (struct elf_m68k_finalize_got_offsets_arg,
243 elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
244 (struct elf_m68k_partition_multi_got_arg,
245 elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
246 elf_m68k_partition_multi_got): Ditto.
247 (elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
248 functions.
249 (elf_m68k_copy_indirect_symbol): New static function implementing
250 a hook.
251 (elf_m68k_check_relocs): Update to add entries to multi-GOT.
252 (elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
253 (elf_m68k_always_size_sections): Assign BFDs to GOTs.
254 (elf_m68k_relocate_section): Update to properly handle GOT relocations.
255 (elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
256 of a global symbol.
257 (bfd_elf_m68k_set_target_options): New function.
258 (bfd_elf32_bfd_link_hash_table_free): Define hook.
259 (bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
260 to skip generic calculation of GOT offsets.
261 (elf_backend_copy_indirect_symbol): Define hook.
262 * bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
263 * bfd-in2.h: Regenerate.
264