* pe-arm-wince.c (pe_print_compressed_pdata): Define new function to
[deliverable/binutils-gdb.git] / bfd / ChangeLog
CommitLineData
2b5c217d
NC
12008-07-18 Danny Backx <dannybackx@users.sourceforge.net>
2
3 * pe-arm-wince.c (pe_print_compressed_pdata): Define new function to
4 print compressed pdata structure as described on MSDN. This only
5 applies to a limited set of architectures (ARM, SH4).
6 (slurp_symtab, my_symbol_for_address): Define static helper
7 functions for pe_print_compressed_pdata.
8 * coffcode.h (bfd_coff_backend_data): Add _bfd_coff_print_pdata field.
9 (bfd_coff_have_print_pdata, bfd_coff_print_pdata): Define.
10 * bfd/peXXigen.c (_bfd_XX_print_private_bfd_data_common): Add check on
11 bfd_coff_backend_data, call the function if non-null.
12 * pei-mcore.c: Add target dependent initialisation for
13 bfd_coff_backend_data.
14 * coff-sh.c: Likewise.
15 * coff64-rs6000.c: Likewise.
16 * coff-rs6000.c: Likewise.
17 * libcoff-in.h: Likewise.
18 * cf-i386lynx.c: Likewise.
19 * coff-alpha.c: Likewise.
20 * coff-apollo.c: Likewise.
21 * coff-arm.c: Likewise.
22 * coff-aux.c: Likewise.
23 * coff-h8300.c: Likewise.
24 * coff-h8500.c: Likewise.
25 * coff-i386.c: Likewise.
26 * coff-i860.c: Likewise.
27 * coff-i960.c: Likewise.
28 * coff-ia64.c: Likewise.
29 * coff-m68k.c: Likewise.
30 * coff-m88k.c: Likewise.
31 * coff-maxq.c: Likewise.
32 * coff-mips.c: Likewise.
33 * coff-or32.c: Likewise.
34 * coff-sparc.c: Likewise.
35 * coff-tic30.c: Likewise.
36 * coff-tic4x.c: Likewise.
37 * coff-tic54x.c: Likewise.
38 * coff-tic80.c: Likewise.
39 * coff-w65.c: Likewise.
40 * coff-we32k.c: Likewise.
41 * coff-x86_64.c: Likewise.
42 * coff-z80.c: Likewise.
43 * coff-z8k.c: Likewise.
44 * pe-mcore.c: Likewise.
45 * pe-mips.c: Likewise.
46 * pe-ppc.c: Likewise.
47 * peXXigen.c: Likewise.
48 * pei-ppc.c: Likewise.
49 * libcoff.h: Regenerate.
50
c96a8570
BS
512008-07-16 Bernd Schmidt <bernd.schmidt@analog.com>
52
53 * elf32-bfin.c (bfin_check_relocs, bfin_relocate_section,
54 bfin_final_link_relocate, bfin_gc_mark_hook, bfin_gc_sweep_hook,
55 ELF_DYNAMIC_INTERPRETER, DEFAULT_STACK_SIZE,
56 struct _bfinfdpic_dynamic_got_info): Moved around to keep FD-PIC code
57 separate from non-FD-PIC.
58
605d18d4
DD
592008-07-14 DJ Delorie <dj@redhat.com>
60
61 * elf-m10300.c (mn10300_elf_final_link_relocate): Correct overflow
62 checks for PCREL8, PCREL16, GOTPC16, GOTOFF16, PLT16, and GOT16
63 relocs.
64 (mn10300_elf_relax_section): Correct jump offset check when target
65 is in a different section.
66
b0a0b978
JZ
672008-07-15 Jie Zhang <jie.zhang@analog.com>
68
69 * elf32-bfin.c (elf32_bfin_special_sections[]): New.
70 (elf_backend_special_sections): Define.
71
aaf30c25
CS
722008-07-13 Craig Silverstein <csilvers@google.com>
73
08b78292 74 PR binutils/6743
aaf30c25
CS
75 * dwarf2.c (struct dwarf2_debug): New variable info_ptr_memory.
76 (find_line): Use info_ptr_memory instead of sec_info_ptr.
77 (_bfd_dwarf2_cleanup_debug_info): Likewise.
78
1bac266e
JZ
792008-07-12 Jie Zhang <jie.zhang@analog.com>
80
81 Revert
82 2008-07-12 Jie Zhang <jie.zhang@analog.com>
83 * elf.c (_bfd_elf_map_sections_to_segments): Don't put
84 executable sections into the same segment with other
85 read only sections if --sep-code.
86 * elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
87 (elf32_bfin_data_in_l1): New variable.
88 (elf32_bfin_final_write_processing): New.
89 (elf32_bfin_special_sections[]): New.
90 (elf_backend_final_write_processing): Define.
91 (elf_backend_special_sections): Define.
92
8c684578
JZ
932008-07-12 Jie Zhang <jie.zhang@analog.com>
94
95 * elf.c (_bfd_elf_map_sections_to_segments): Don't put
96 executable sections into the same segment with other
97 read only sections if --sep-code.
98 * elf32-bfin.c (elf32_bfin_code_in_l1): New variable.
99 (elf32_bfin_data_in_l1): New variable.
100 (elf32_bfin_final_write_processing): New.
101 (elf32_bfin_special_sections[]): New.
102 (elf_backend_final_write_processing): Define.
103 (elf_backend_special_sections): Define.
104
3076cd1f
AS
1052008-07-11 Andreas Schwab <schwab@suse.de>
106
107 * dwarf2.c (read_section): Take pointer to bfd_size_type instead
108 of unsigned long as last parameter.
109 (struct dwarf2_debug): Define dwarf_abbrev_size, dwarf_line_size,
110 dwarf_str_size and dwarf_ranges_size as bfd_size_type instead of
111 unsigned long.
112
0a61c8c2
RS
1132008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
114
115 * elfxx-mips.c (mips_elf_calculate_relocation): Calculate GP and GP0
116 for all relocation types. Allow any type of relocation to refer to
117 __gnu_local_gp.
118
30c09090
RS
1192008-07-10 Richard Sandiford <rdsandiford@googlemail.com>
120
121 * elfxx-mips.c (mips_elf_check_mips16_stubs): Use ELF_ST_IS_MIPS16.
122 (mips_elf_calculate_relocation): Likewise.
123 (_bfd_mips_elf_add_symbol_hook): Likewise.
124 (_bfd_mips_elf_finish_dynamic_symbol): Likewise.
125 (_bfd_mips_vxworks_finish_dynamic_symbol): Likewise.
126
355d10dc
AS
1272008-07-10 Andreas Schwab <schwab@suse.de>
128
129 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Add missing
130 paren.
131
1b315056
CS
1322008-07-09 Craig Silverstein <csilvers@google.com>
133
134 * Makefile.am (BFD32_LIBS): Add compress.lo.
135 (BFD32_LIBS_CFILES): Add compress.c.
136 (BFD_H_FILES): Likewise.
137 * Makefile.in: Regenerate.
138 * bfd-in2.h: Regenerate.
139 * config.in: Add HAVE_ZLIB_H
140 * configure.in: Add test for libz and zlib.h
141 * configure: Regenerate.
142 * dwarf2.c (read_section): New function.
143 (read_indirect_string): Call new function read_section.
144 (read_abbrevs): Likewise.
145 (decode_line_info): Likewise.
146 (read_debug_ranges): Likewise.
147 (find_line): Call new function read_section when just one
148 .zdebug_info section is found, otherwise read and compress
149 multiple sections.
150 (_bfd_dwarf2_cleanup_debug_info): Free sec_info_ptr.
151 * elf.c (_bfd_elf_make_section_from_shdr): Add zdebug prefix.
152 (special_sections_z): New struct.
153 (special_sections): Refer to special_sections_z.
154 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Recognize
155 sections named .zdebug_*.
156 (_bfd_mips_elf_fake_sections): Likewise.
157 * compress.c: New file.
158 (bfd_uncompress_section_contents): New function.
159
329dcd78
NC
1602008-07-07 Christophe Lyon <christophe.lyon@st.com>
161
162 * elf32-arm.c (arm_type_of_stub): Don't crash on local symbols in
163 the presence of a PLT.
164
c29aae59
AM
1652008-07-07 Alan Modra <amodra@bigpond.net.au>
166
167 * bfd.c (bfd_demangle): Always trim off bfd_get_symbol_leading_char.
168
7382d32a
AM
1692008-07-02 Alan Modra <amodra@bigpond.net.au>
170
171 * elf32-ppc.c (is_pic_glink_stub): New function.
172 (ppc_elf_get_synthetic_symtab): Don't generate symbols when
173 multiple shared/pie stubs per plt entry.
174
cb53bf42
RS
1752008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
176
177 * elf.c (_bfd_elf_get_synthetic_symtab): Increment p by
178 bed->s->int_rels_per_ext_rel.
179
6ba2a415
RS
1802008-06-30 Richard Sandiford <rdsandiford@googlemail.com>
181
182 * syms.c (BSF_SYNTHETIC): New flag.
183 * elf.c (_bfd_elf_get_synthetic_symtab): Set it.
184 * elf32-ppc.c (ppc_elf_get_synthetic_symtab): Likewise.
185 * elf64-ppc.c (ppc64_elf_get_synthetic_symtab): Likewise.
186 * bfd-in.h (bfd_asymbol_flavour): Return bfd_target_unknown_flavour
187 for synthetic symbols.
188 * bfd-in2.h: Regenerate.
189
3dccd7b7
DJ
1902008-06-30 Daniel Jacobowitz <dan@codesourcery.com>
191
192 * elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
193 Expand comments.
194 (arm_map_one_stub): Use | 1 when setting the low bit.
195
f57718b4
AS
1962008-06-29 Andreas Schwab <schwab@suse.de>
197
198 * elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
199 addend on _GLOBAL_OFFSET_TABLE_.
200
7413f23f
DJ
2012008-06-24 Daniel Jacobowitz <dan@codesourcery.com>
202
203 * elf32-arm.c (STUB_ENTRY_NAME): Define.
204 (arm_thumb_thumb_long_branch_stub): Use bx instead of b.n.
205 (arm_pic_long_branch_stub): Mention R_ARM_REL32 instead of
206 R_ARM_ABS32.
207 (struct elf32_arm_stub_hash_entry): Add output_name.
208 (arm_build_one_stub): Move offsets into the offset argument
209 of _bfd_final_link_relocate. Correct offset for
210 arm_thumb_arm_v4t_stub_long_branch.
211 (elf32_arm_size_stubs): Set stub_entry->output_name.
212 (elf32_arm_ouput_plt_map_sym): Rename to elf32_arm_output_map_sym.
213 Update all callers.
214 (elf32_arm_output_stub_sym): New.
215 (arm_map_one_stub): Correct formatting. Use elf32_arm_output_stub_sym.
216
7c39fb20
AM
2172008-06-20 Alan Modra <amodra@bigpond.net.au>
218
219 * elf32-spu.c (needs_ovl_stub): Correctly return nonovl_stub for
220 non-branch insns.
221
f3c29e8a
AM
2222008-06-20 Alan Modra <amodra@bigpond.net.au>
223
224 * elf32-spu.c (build_stub): Allow wraparound on stub branches.
225 (allocate_spuear_stubs, build_spuear_stubs): Return value from
226 count_stub/build_stub.
227 (spu_elf_build_stubs): Correct location of stub reloc error message.
228
de73c611
SR
2292008-06-18 M R Swami Reddy <MR.Swami.Reddy@nsc.com>
230
231 * elf32-cr16.c (ELF_MACHINE_ALT1): Define to EM_CR16_OLD.
232
7a283e07
RW
2332008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
234
235 * configure: Regenerate.
236
99302af9
AM
2372008-06-17 Alan Modra <amodra@bigpond.net.au>
238
239 * elf32-spu.c (struct spu_link_hash_table): Add extra_stack_space.
240 (spu_elf_check_vma): Add extra_stack_space param, copy to htab.
241 (spu_elf_auto_overlay): Use it.
242 (RECURSE_UNMARK): Define as 0.
243 (unmark_overlay_section): Heed RECURSE_UNMARK.
244 * elf32-spu.h (spu_elf_check_vma): Update prototype.
245
ff7eeb89
DD
2462008-06-12 DJ Delorie <dj@redhat.com>
247
248 * elf32-m32c.c (ELF_MACHINE_ALT1): Define as EM_M32C_OLD.
249
c13bb2ea
PB
2502008-06-09 Paul Brook <paul@codesourcery.com>
251
252 bfd/
253 * elf32-arm.c (elf32_arm_merge_private_bfd_data): Allow BE8 shared
254 libraries.
255
f4ac8484
DJ
2562008-06-09 Christophe Lyon <christophe.lyon@st.com>
257
258 * elf32-arm.c (arm_stub_is_thumb): Define.
259 (elf32_arm_final_link_relocate): Handle near mode switching stubs.
260
6a267715
AM
2612008-06-07 Alan Modra <amodra@bigpond.net.au>
262
263 * elf32-spu.c (spu_elf_auto_overlay): Add valid area below sp
264 to stack calculation.
265
23684067
PB
2662008-06-06 Paul Brook <paul@codesourcery.com>
267
268 bfd/
269 * elf32-arm.c (elf32_arm_merge_private_bfd_data): Reject BE8 input.
270
97407faf
AM
2712008-06-06 Alan Modra <amodra@bigpond.net.au>
272
273 * elf32-spu.c (spu_elf_auto_overlay): Relax requirement that
274 file names be unique. Specify archive:path in overlay script.
275
7cfbafbc
AM
2762008-06-05 Alan Modra <amodra@bigpond.net.au>
277
278 PR ld/6590
279 * elf64-ppc.c (ppc_build_one_stub): Correct reloc offsets.
280
0f0a5e58
AM
2812008-06-04 Alan Modra <amodra@bigpond.net.au>
282
283 * elf.c (ignore_section_sym): Don't test section sym value here.
284 (elf_map_symbols): Instead check zero value here as was done prior
285 to 2006-05-26 change.
286
696b7ad2
NC
2872008-06-04 Nick Clifton <nickc@redhat.com>
288
289 PR ld/6019
290 * elf32-avr.c (elf32_avr_relax_section): Handle the case where
291 there are no local symbols.
292
1f27ab8d
AM
2932008-06-04 Alan Modra <amodra@bigpond.net.au>
294
295 * elf32-spu.c (get_sym_h): Don't attempt to read global syms.
296 (process_stubs): Likewise.
297 (discover_functions): Don't used cached symbols.
298 (maybe_insert_function): Correct condition under which function
299 array is realloc'd.
300 (mark_functions_via_relocs): Delete unused variable.
301
adfef0bd
NC
3022008-05-30 Frediano Ziglio <frediano.ziglio@vodafone.com>
303 Nick Clifton <nickc@redhat.com>
304
305 PR ld/6511
306 * elf64-hppa.c (allocate_global_data_opd): Default to using the
307 dynamic symbol table for local function names in shared libraries.
308
11701589
JK
3092008-05-29 Jan Kratochvil <jan.kratochvil@redhat.com>
310
311 * elf.c (assign_file_positions_for_load_sections): Adjust pre-section
312 gaps based on VMA and P_VADDR instead of LMA and P_PADDR addresses.
313
124b52c6
AM
3142008-05-28 Alan Modra <amodra@bigpond.net.au>
315
316 * elf32-spu.c (spu_elf_object_p): New function.
317 (elf_backend_object_p): Define.
318 (build_stub): Correct second word of 8 byte overlay stubs.
319 (spu_elf_relocate_section): Formatting.
320
bb864ac1
CES
3212008-05-24 Carlos Eduardo Seo <cseo@linux.vnet.ibm.com>
322
323 * elf.c (elfcore_write_register_note): New function.
324 * elf-bfd.h (elfcore_write_register_note): New prototype.
325
da5938a2
NC
3262008-05-22 Christophe Lyon <christophe.lyon@st.com>
327
328 * elf32-arm.c (arm_type_of_stub): Ignore STT_SECTION symbols.
329 (elf32_arm_stub_add_mapping_symbol): Remove.
330 (elf32_arm_add_stub): Don't generate mapping symbols. Change
331 prototype.
332 (elf32_arm_size_stubs): Use new elf32_arm_add_stub
333 prototype. Don't generate thumb to arm glue for calls.
334 (arm_map_one_stub): Define.
335 (elf32_arm_output_arch_local_syms): Generate mapping symbols for
336 long calls stubs.
337
c2f950c8
L
3382008-05-21 Nick Clifton <nickc@redhat.com>
339
340 * elf32-arm.c (group_sections): Reformat comments.
341
342 PR ld/6446
343 * elf32-frv.c (elf32_frv_relocate_section): Set EF_FRV_PIC by
344 default (for FDPIC). Clear it if any inter-segment relocations
345 are found.
346
347 * elf64-hppa.c (elf64_hppa_finalize_opd): Check NULL return
348 from elf_link_hash_lookup.
349
7fb9f789
NC
3502008-05-21 Maxim Kuvyrkov <maxim@codesourcery.com>
351
352 Add multi-GOT support for m68k.
353 * elf32-m68k.c (struct elf_m68k_link_hash_entry: got_entry_key,
354 glist): New fields.
355 (struct elf_m68k_got_entry_key, struct elf_m68k_got_entry,
356 struct elf_m68k_got, struct elf_m68k_bfd2got_entry,
357 struct elf_m68k_multi_got): New data structures.
358 (struct elf_m68k_link_hash_table: local_gp_p, use_neg_got_offsets_p,
359 allow_multigot_p, multi_got_): New fields.
360 (elf_m68k_multi_got): New macro.
361 (elf_m68k_link_hash_newfunc): Initialize new fields of
362 struct elf_m68k_link_hash_entry.
363 (elf_m68k_link_hash_table_create): Initialize new fields of
364 struct elf_m68k_link_hash_table.
365 (elf_m68k_link_hash_table_free): New static function implementing hook.
366 (elf_m68k_init_got, elf_m68k_clear_got, elf_m68k_create_empty_got): New
367 static functions for struct elf_m68k_got.
368 (elf_m68k_init_got_entry_key, elf_m68k_got_entry_hash,
369 elf_m68k_got_entry_eq): New static functions for
370 struct elf_m68k_got_entry.
371 (ELF_M68K_REL_8O_MAX_N_ENTRIES_IN_GOT,
372 ELF_M68K_REL_8O_16O_MAX_N_ENTRIES_IN_GOT): New macros.
373 (enum elf_m68k_get_entry_howto): New enum.
374 (elf_m68k_get_got_entry, elf_m68k_update_got_entry_type,
375 elf_m68k_remove_got_entry_type): New static functions for
376 struct elf_m68k_got_entry.
377 (elf_m68k_add_entry_to_got): New static function.
378 (elf_m68k_bfd2got_entry_hash, elf_m68k_bfd2got_entry_eq,
379 elf_m68k_bfd2got_entry_del, elf_m68k_get_bfd2got_entry): New static
380 functions for struct elf_m68k_bfd2got_entry.
381 (struct elf_m68k_can_merge_gots_arg, elf_m68k_can_merge_gots_1,
382 elf_m68k_can_merge_gots): New traversal.
383 (struct elf_m68k_merge_gots_arg, elf_m68k_merge_gots_1,
384 elf_m68k_merge_gots): Ditto.
385 (struct elf_m68k_finalize_got_offsets_arg,
386 elf_m68k_finalize_got_offsets_1, elf_m68k_finalize_got_offsets): Ditto.
387 (struct elf_m68k_partition_multi_got_arg,
388 elf_m68k_partition_multi_got_1, elf_m68k_init_symndx2h_1,
389 elf_m68k_partition_multi_got): Ditto.
390 (elf_m68k_find_got_entry_ptr, elf_m68k_remove_got_entry): New static
391 functions.
392 (elf_m68k_copy_indirect_symbol): New static function implementing
393 a hook.
394 (elf_m68k_check_relocs): Update to add entries to multi-GOT.
395 (elf_m68k_gc_sweep_hook): Update to remove entries from multi-GOT.
396 (elf_m68k_always_size_sections): Assign BFDs to GOTs.
397 (elf_m68k_relocate_section): Update to properly handle GOT relocations.
398 (elf_m68k_finish_dynamic_symbol): Update to traverse all GOT entries
399 of a global symbol.
400 (bfd_elf_m68k_set_target_options): New function.
401 (bfd_elf32_bfd_link_hash_table_free): Define hook.
402 (bfd_elf32_bfd_final_link): Change expansion to bfd_elf_final_link
403 to skip generic calculation of GOT offsets.
404 (elf_backend_copy_indirect_symbol): Define hook.
405 * bfd-in.h (bfd_elf_m68k_set_target_options): Declare function.
406 * bfd-in2.h: Regenerate.
407