e956197fdf19587db30f71107161b8ec3f9cf777
[platform/upstream/binutils.git] / bfd / ChangeLog
1 2007-06-19  H.J. Lu  <hongjiu.lu@intel.com>
2
3         PR ld/4590
4         * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
5         when removing duplicated entries.
6         (get_dyn_sym_info): Initialize the got_offset field to -1.
7         Update call to sort_dyn_sym_info.
8         (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
9         array of addend and remove duplicates.
10
11 2007-06-18  H.J. Lu  <hongjiu.lu@intel.com>
12
13         * libpei.h (_bfd_XXi_final_link_postscript): Remove
14         duplication.
15         (bfd_target_pei_p): New.
16         (bfd_target_pei_arch): New
17         (bfd_target_efi_p): Likewise.
18         (bfd_target_efi_arch): New
19         (bfd_pe_executable_p): Use bfd_target_pei_p and
20         bfd_target_efi_p.
21
22         * peicode.h (arch_type): New enum.
23         (pe_arch): New function.
24         (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
25         if there is an EFI/PE target.
26
27 2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>
28
29         * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
30
31         * acinclude.m4: Don't include m4 files. Remove libtool
32         kludge.
33
34         * Makefile.in: Regenerated.
35         * aclocal.m4: Likewise.
36         * configure: Likewise.
37
38 2007-06-11  Sterling Augustine  <sterling@tensilica.com>
39             Bob Wilson  <bob.wilson@acm.org>
40         
41         * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
42         XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
43         (extend_ebb_bounds_backward, compute_text_actions): Likewise.
44         (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
45         (xtensa_get_property_predef_flags): Likewise.
46         (compute_removed_literals): Pass new arguments to is_removable_literal.
47         (is_removable_literal): Add sec, prop_table and ptblsize arguments.
48         Do not remove literal if the NO_TRANSFORM property flag is set.
49         
50 2007-05-31  Richard Sandiford  <rsandifo@nildram.co.uk>
51
52         * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
53         type (3) single-GOT entry, read tls_type from the hash table entry
54         rather than the GOT entry.
55
56 2007-06-01  Alan Modra  <amodra@bigpond.net.au>
57
58         * simple.c (bfd_simple_get_relocated_section_contents): Init
59         input_bfds_tail.
60
61 2007-05-30  Alan Modra  <amodra@bigpond.net.au>
62
63         * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
64         created by objcopy --only-keep-debug.
65         (_bfd_elf_init_private_section_data): Only change elf_section_type
66         if it is SHT_NULL.
67
68         * elf.c (assign_file_positions_for_load_sections): Correct sh_type
69         to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
70         and sh_flags instead of bfd section flags.  Delete voff and code
71         keeping nobits segments aligned.
72
73 2007-05-25  Eric Christopher  <echristo@apple.com>
74
75         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
76         Check that sym_sec isn't NULL before accessing.
77
78 2007-05-24  Steve Ellcey  <sje@cup.hp.com>
79
80         * Makefile.in: Regnerate.
81         * configure: Regenerate.
82         * aclocal.m4: Regenerate.
83         * doc/Makefile.in: Regenerate.
84
85 2007-05-22  Paul Brook  <paul@codesourcery.com>
86
87         * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
88         with sec and sec_shndx.
89         (elf32_arm_ouput_plt_map_sym): Use them.
90         (elf32_arm_output_arch_local_syms): Output mapping symbols for
91         interworking glue.
92
93 2007-05-18  Paul Brook  <paul@codesourcery.com>
94
95         * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
96         (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
97         (record_arm_to_thumb_glue): Add v5t non-pic glue.
98         (elf32_arm_create_thumb_stub): Ditto.
99
100 2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
101             Alan Modra  <amodra@bigpond.net.au>
102
103         * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
104         section to the minimum alignment.
105
106 2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
107             Alan Modra  <amodra@bigpond.net.au>
108
109         PR ld/4504
110         * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
111         * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
112
113         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
114         _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
115         bss section.
116         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
117         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
118         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
119         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
120         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
121         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
122         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
123         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
124         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
125         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
126         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
127         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
128         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
129         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
130         * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
131         * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
132         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
133
134 2007-05-15  Richard Sandiford  <richard@codesourcery.com>
135
136         * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
137         input_section argument.  Create .rela.dyn relocations against
138         symbol 0 rather than the section symbol.
139         (mips_elf_local_got_index): Remove input_section argument.
140         Update call to mips_elf_create_local_got_entry.
141         (mips_elf_got_page, mips_elf_got16_entry): Likewise.
142         (mips_elf_calculate_relocation): Update calls to
143         mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
144
145 2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
146
147         * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
148         handle the Thumb-2 JUMP19 relocation.
149
150 2007-05-15  Alan Modra  <amodra@bigpond.net.au>
151
152         PR 4479
153         * elf.c (elf_fake_sections): Don't allow backend to change
154         SHT_NOBITS if called for strip/objcopy --only-keep-debug.
155         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
156         fix from here.
157
158 2007-05-14  Alan Modra  <amodra@bigpond.net.au>
159
160         * elf.c (bfd_elf_string_from_elf_section): Return NULL on
161         invalid shstrndx.
162         (bfd_elf_get_str_section): Likewise.
163
164 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
165
166         PR 4497
167         * elf-eh-frame.c (struct cie): Add "local_personality".  Make
168         "personality" a union.
169         (cie_eq): Compare local_personality too.  Adjust personality
170         comparison.
171         (_bfd_elf_discard_section_eh_frame): Check binding on personality
172         reloc sym to allow for bad symtab.  Use stashed local syms rather
173         than reading personality local sym.  Handle discarded sections.
174
175 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
176
177         * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
178
179 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
180
181         * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
182         (enum ppc_elf_plt_type): Move from..
183         * elf32-ppc.c: ..here.
184         (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
185         (struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
186         can_use_new_plt.  Make is_vxworks a bitfield.
187         (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
188         (ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
189         (ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
190         flags to better detect object files needing old bss-style plt.
191         Allow secure plt to be used without rel16 relocs being detected.
192         Warn if secure plt request cannot be allowed.
193
194 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
195
196         * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
197         * elf-bfd.h (struct elf_backend_data): Change return type of
198         elf_backend_relocate_section to int.
199         * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
200         R_SPU_PPU64.
201         (spu_elf_bfd_to_reloc_type): Convert new relocs.
202         (spu_elf_count_relocs): New function.
203         (elf_backend_count_relocs): Define.
204         (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
205         R_SPU_PPU64 relocs.
206         * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
207         returns 2.
208         * bfd-in2.h: Regenerate.
209         * libbfd.h: Regenerate.
210
211 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
212
213         * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
214         for R_ARM_ABS12 relocs.
215         (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
216         non-shared VxWorks PLT entries.
217
218 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
219
220         PR 4454
221         * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
222         (_bfd_elf_discard_section_eh_frame): Handle local syms on
223         personality relocation.
224
225 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
226
227         * elf.c (assign_file_positions_for_load_sections): Use p_memsz
228         rather than p_filesz to calculate the LMA of the end of a segment.
229
230 2007-05-10  Jakub Jelinek  <jakub@redhat.com>
231
232         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
233         processing if symbol is defined in the executable.
234
235 2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
236
237         * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
238         (frvfdpic_elf_discard_info): New.
239         (elf_backend_discard_info): Define for FDPIC.
240
241 2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
242
243         * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
244         attempt to scan if the bfd doesn't correspond to an ELF image.
245         (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
246
247 2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
248
249         * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
250         for which _bfd_elf_section_offset returns -1.
251
252 2007-05-08  Alan Modra  <amodra@bigpond.net.au>
253
254         * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
255         (mark_functions_via_relocs): Likewise.
256
257 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
258
259         * elflink.c (bfd_elf_final_link): Correct reloc handling for
260         elf_backend_count_relocs.
261         (bfd_elf_discard_info): Print an error if we can't read syms.
262
263 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
264
265         * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
266         invalid reloc code.
267         (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
268         (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
269         define.
270
271 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
272
273         * elf.c (assign_file_positions_for_load_sections): Don't check
274         core segment.
275
276 2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
277
278         * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
279         and .rel.dyn aren't present.
280
281 2007-05-04  Nick Clifton  <nickc@redhat.com>
282
283         * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
284         sections are present examine the indirect sections in an attempt
285         to compute the correct relocation size.  If there is any
286         ambiguity, produce an error and refuse to sort.
287
288 2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
289
290         * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
291
292 2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
293             Nick Clifton  <nickc@redhat.com>
294
295         PR gas/3041
296         * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
297         in the same way as relocs against external symbols.
298
299 2007-05-02  Alan Modra  <amodra@bigpond.net.au>
300
301         * elf.c (assign_file_positions_for_load_sections): Set sh_offset
302         here.  Set sh_type to SHT_NOBITS if we won't be allocating
303         file space.  Don't bump p_memsz for non-alloc sections.  Adjust
304         section-in-segment check.
305         (assign_file_positions_for_non_load_sections): Don't set sh_offset
306         here for sections that have already been handled above.
307
308 2007-04-30  Alan Modra  <amodra@bigpond.net.au>
309
310         * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
311         and emit_stack_syms bitfields.
312         (get_sym_h): Read all symbols if stack analysis will be done.
313         (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
314         params, and stash in hash table.
315         (is_hint): Split off from..
316         (is_branch): ..here.  Adjust callers.
317         (spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
318         and keep all syms.
319         (write_one_stub): Fix mem leak.
320         (find_function_stack_adjust): New function.
321         (sort_syms_syms, sort_syms_psecs): New vars.
322         (sort_syms): New function.
323         (struct call_info, struct function_info): New.
324         (struct spu_elf_stack_info): New.
325         (alloc_stack_info, maybe_insert_function, func_name): New functions.
326         (is_nop, insns_at_end, check_function_ranges): Likewise.
327         (find_function, insert_callee, mark_functions_via_relocs): Likewise.
328         (pasted_function, interesting_section, discover_functions): Likewise.
329         (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
330         (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
331         (bfd_elf32_bfd_final_link): Define.
332         * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
333         (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
334
335 2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
336
337         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
338         memory which we might not own.
339
340 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
341
342         * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
343         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
344         (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
345
346 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
347
348         * elf32-xtensa.c (xtensa_read_table_entries): Step through table
349         contents and relocs in parallel.
350
351 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
352
353         * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
354
355 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
356
357         * cpu-rs6000.c: Write Mimi's name in ASCII.
358         * coff-rs6000.c: Likewise.
359         * rs6000-core.c: Likewise.
360
361 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
362
363         * sysdep.h: Include config.h first.
364         Many files: Include sysdep.h before bfd.h.
365         * Makefile.am: Run "make dep-am".
366         * Makefile.in: Regenerate.
367
368 2007-04-25  Alan Modra  <amodra@bigpond.net.au>
369
370         * sysdep.h: Revert last change.
371
372 2007-04-24  Nick Clifton  <nickc@redhat.com>
373
374         * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
375         * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
376
377 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
378
379         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
380         eh_frame_hdr table won't be created.
381
382 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
383
384         * acinclude.m4: Include config/stdint.m4.
385         * configure.in: Invoke GCC_HEADER_STDINT.
386         * sysdep.h: Don't include ansidecl.h here.
387         * configure: Regenerate.
388         * config.in: Regenerate.
389         * Makefile.in: Regenerate.
390
391 2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
392
393         * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
394         bfd_mach_mcf_isa_c_emac): New.
395         * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
396         elf_isac_plt_entry, elf_isac_plt_info): New.
397         (elf32_m68k_object_p): Add ISA_C.
398         (elf32_m68k_print_private_bfd_data): Print ISA_C.
399         (elf32_m68k_get_plt_info): Detect ISA_C.
400         * cpu-m68k.c (arch_info): Add ISAC.
401         (m68k_arch_features): Likewise,
402         (bfd_m68k_compatible): ISAs B & C are not compatible.
403
404 2007-04-21  Nick Clifton  <nickc@redhat.com>
405
406         * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
407         (ecoff_link_add_archive_symbols): Likewise.
408         * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
409         relent.howto.
410         * ieee.c (parse_int): Initialise x.
411         (must_parse_int): Initialise result.
412         (ieee_slurp_external_symbols): Initialise value.
413
414 2007-04-21  Alan Modra  <amodra@bigpond.net.au>
415
416         * config.bfd (spu-*-elf): Delete targ_selvecs.
417
418 2007-04-19  Nick Clifton  <nickc@redhat.com>
419
420         * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
421
422 2007-04-19  Alan Modra  <amodra@bigpond.net.au>
423
424         * bfd.c (bfd_demangle): New function.
425         * Makefile.am: Run "make dep-am".
426         * Makefile.in: Regenerate.
427         * bfd-in2.h: Regenerate.
428
429 2007-04-18  Matthias Klose  <doko@ubuntu.com>
430
431         * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
432         (bfdver.h): Use the date in non-release builds for the soversion.
433         * Makefile.in: Regenerate.
434
435 2007-04-17  Paul Brook  <paul@codesourcery.com>
436
437         * elf.c (_bfd_elf_is_function_type): New function.
438         * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
439         (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
440         is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
441         * elf-bfd.h (elf_backend_data): Add is_function_type.
442         (_bfd_elf_is_function_type): Add prototype.
443         * elfxx-target.h (elf_backend_is_function_type): Add default
444         definition.
445         (elfNN_bed): Add elf_backend_is_function_type.
446         * elf32-arm.c (elf32_arm_is_function_type): New function.
447         (elf_backend_is_function_type): Define.
448
449 2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
450
451         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
452         DT_MIPS_RLD_MAP before DT_DEBUG again.
453
454 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
455
456         * Makefile.am: Add ACLOCAL_AMFLAGS.
457         * configure.in: Change macro call order.
458         * Makefile.in: Regnerate.
459         * doc/Makefile.in: Regenerate.
460         * configure: Regenerate.
461
462 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
463
464         * elflink.c (bfd_elf_final_link): Don't free symbuf for
465         non-elf input bfds.
466         (bfd_elf_size_dynamic_sections): Don't access elf_section_data
467         for non-elf input bfds.
468
469 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
470
471         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
472         DT_MIPS_RTLD_MAP for PIEs.
473
474 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
475
476         * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
477         when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
478         in a read-only section.
479         (_bfd_mips_elf_check_relocs): Likewise.
480
481 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
482
483         * elf32-xtensa.c (xtensa_is_insntable_section): New.
484         (xtensa_is_proptable_section): New.
485         (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
486         tables with 12-byte entries, as well as tables with 8-byte entries.
487         Sort the relocations before examining them.
488         (relax_property_section): Use xtensa_is_proptable_section and
489         xtensa_is_littable_section.  Rewrite code for combining table entries
490         to be more robust in case of unexpected relocations.  Do not set offset
491         of unused relocations to less than zero.
492         (xtensa_is_property_section): Use other functions instead of
493         duplicating section name comparisons.
494         (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
495         (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
496
497 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
498
499         * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
500         from Xtensa property sections.
501
502 2007-04-12  Alan Modra  <amodra@bigpond.net.au>
503
504         * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
505         is non-NULL before dereferencing.
506
507 2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
508
509         * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
510         relocs too.
511
512 2007-04-10  Richard Henderson  <rth@redhat.com>
513
514         * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
515         (elf64_alpha_size_got_sections): Remove unused something_changed local.
516         (elf64_alpha_size_plt_section): Return void.
517         (elf64_alpha_size_rela_got_section): Likewise.
518         (elf64_alpha_relax_section): Only regenerate got+plt if the
519         relax_trip counter has changed.
520
521 2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
522
523         * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
524         * doc/Makefile.am (DOCFILES): Add bfdver.texi.
525         (bfdver.texi): New rule.
526         * Makefile.in, doc/Makefile.in: Regenerated.
527
528 2007-04-03  Matt Thomas  <matt@netbsd.org>
529
530         * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
531         in a shared object if it is not in a CODE section or if it is against
532         a section symbol.  This allows DWARF2 to use pcrel format.
533
534 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
535
536         PR ld/4304
537         * elflink.c (bfd_elf_final_link): Call einfo callback in
538         bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
539         warning.
540
541 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
542
543         * elf32-spu.c (spu_elf_output_symbol_hook): New function.
544         (elf_backend_link_output_symbol_hook): Define.
545
546 2007-04-02  Nick Clifton  <nickc@redhat.com>
547
548         PR binutils/4292
549         * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
550         targets as 64-bit values, even if running on a 64-bit host.
551         * coffgen.c (coff_print_symbol): Likewise.
552
553 2007-03-29  Nick Clifton  <nickc@redhat.com>
554
555         PR binutils/4110
556         * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
557         (setup_group): Use it.  Report corrupt group section headers.
558         (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
559         GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
560         (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
561
562 2007-03-29  Alan Modra  <amodra@bigpond.net.au>
563
564         PR ld/4267
565         * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
566         for rel->r_info values.
567         (bfd_elf_perform_complex_relocation): Likewise.
568         * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
569         unused entries.  Don't clear plt.plist in loop.
570
571 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
572
573         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
574         * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
575         Merge into...
576         (sparc_elf_append_rela): ...this new function.
577         (SPARC_ELF_APPEND_RELA): Delete.
578         (_bfd_sparc_elf_link_hash_table_create): Don't initialize
579         the deleted append_rela field.
580         (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
581         instead of SPARC_ELF_APPEND_RELA.
582         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
583         elf_size_info structure to find the size of a RELA entry and
584         the associated swap-out function.
585         (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
586         (sparc_finish_dyn): ...this new function.
587         (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
588
589 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
590             Phil Edwards  <phil@codesourcery.com>
591
592         * doc/bfd.texinfo: Put the contents after the title page rather
593         than at the end of the document.
594
595 2007-03-27  Andreas Schwab  <schwab@suse.de>
596
597         * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
598
599 2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
600
601         * configure: Regenerated.
602
603 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
604
605         * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
606         (allocate_spuear_stubs): New function.
607         (spu_elf_size_stubs): Call allocate_spuear_stubs.
608
609 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
610
611         * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
612         * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
613         (MY (bfd_reloc_name_lookup)): New function.
614         * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
615         * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
616         (MY_bfd_reloc_name_lookup): Define.
617         * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
618         (MY_bfd_reloc_name_lookup): Define.
619         * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
620         (NAME (aout, reloc_name_lookup)): New function.
621         * bout.c (b_out_bfd_reloc_name_lookup): New function.
622         * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
623         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
624         * coff-arm.c (coff_arm_reloc_name_lookup): New function.
625         (coff_bfd_reloc_name_lookup): Define.
626         * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
627         (coff_i386_reloc_name_lookup): New function.
628         * coff-i860.c (coff_i860_reloc_name_lookup): New function.
629         (coff_bfd_reloc_name_lookup): Define.
630         * coff-i960.c (coff_i960_reloc_name_lookup): New function.
631         (coff_bfd_reloc_name_lookup): Define.
632         * coff-m68k.c (m68k_reloc_name_lookup): New function.
633         (coff_bfd_reloc_name_lookup): Define.
634         * coff-maxq.c (maxq_reloc_name_lookup): New function.
635         (coff_bfd_reloc_name_lookup): Define.
636         * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
637         (coff_bfd_reloc_name_lookup): Define.
638         * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
639         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
640         * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
641         (coff_bfd_reloc_name_lookup): Define.
642         * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
643         (_bfd_xcoff_reloc_name_lookup): New function.
644         (rs6000coff_vec, pmac_xcoff_vec): Init new field.
645         * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
646         (sh_coff_reloc_name_lookup): New function.
647         * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
648         (coff_bfd_reloc_name_lookup): Define.
649         * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
650         (tic30_coff_reloc_name_lookup): New function.
651         * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
652         (tic4x_coff_reloc_name_lookup): New function.
653         * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
654         (tic54x_coff_reloc_name_lookup): New function.
655         * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
656         (coff_amd64_reloc_name_lookup): New function.
657         * coff-z80.c (coff_z80_reloc_name_lookup): New function.
658         (coff_bfd_reloc_name_lookup): Define.
659         * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
660         (coff_bfd_reloc_name_lookup): Define.
661         * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
662         (xcoff64_reloc_name_lookup): New function.
663         (rs6000coff64_vec, aix5coff64_vec): Init new field.
664         * coffcode.h (coff_bfd_reloc_name_lookup): Define.
665         * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
666         * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
667         * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
668         * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
669         * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
670         (bfd_elf32_bfd_reloc_name_lookup): Define.
671         * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
672         * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
673         (bfd_elf32_bfd_reloc_name_lookup): Define.
674         * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
675         (bfd_elf32_bfd_reloc_name_lookup): Define.
676         * elf32-cris.c (cris_reloc_name_lookup): New function.
677         (bfd_elf32_bfd_reloc_name_lookup): Define.
678         * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
679         (bfd_elf32_bfd_reloc_name_lookup): Define.
680         * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
681         * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
682         * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
683         (bfd_elf32_bfd_reloc_name_lookup): Define.
684         * elf32-fr30.c (fr30_reloc_name_lookup): New function.
685         (bfd_elf32_bfd_reloc_name_lookup): Define.
686         * elf32-frv.c (frv_reloc_name_lookup): New function.
687         (bfd_elf32_bfd_reloc_name_lookup): Define.
688         * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
689         * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
690         (bfd_elf32_bfd_reloc_name_lookup): Define.
691         * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
692         * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
693         (bfd_elf32_bfd_reloc_name_lookup): Define.
694         * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
695         (bfd_elf32_bfd_reloc_name_lookup): Define.
696         * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
697         (bfd_elf32_bfd_reloc_name_lookup): Define.
698         * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
699         (bfd_elf32_bfd_reloc_name_lookup): Define.
700         * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
701         (bfd_elf32_bfd_reloc_name_lookup): Define.
702         * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
703         (bfd_elf32_bfd_reloc_name_lookup): Define.
704         * elf32-m32c.c (m32c_reloc_name_lookup): New function.
705         (bfd_elf32_bfd_reloc_name_lookup): Define.
706         * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
707         * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
708         * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
709         * elf32-m68k.c (reloc_name_lookup): New function.
710         (bfd_elf32_bfd_reloc_name_lookup): Define.
711         * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
712         * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
713         (bfd_elf32_bfd_reloc_name_lookup): Define.
714         * elf32-mep.c (mep_reloc_name_lookup): New function.
715         (bfd_elf32_bfd_reloc_name_lookup): Define.
716         * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
717         (mips_vxworks_bfd_reloc_name_lookup): Likewise.
718         (bfd_elf32_bfd_reloc_name_lookup): Define.
719         * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
720         * elf32-mt.c (mt_reloc_name_lookup): New function.
721         (bfd_elf32_bfd_reloc_name_lookup): Define.
722         * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
723         (bfd_elf32_bfd_reloc_name_lookup): Define.
724         * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
725         * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
726         (bfd_elf32_bfd_reloc_name_lookup): Define.
727         * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
728         (bfd_elf32_bfd_reloc_name_lookup): Define.
729         * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
730         (bfd_elf32_bfd_reloc_name_lookup): Define.
731         * elf32-score.c (elf32_score_reloc_name_lookup): New function.
732         (bfd_elf32_bfd_reloc_name_lookup): Define.
733         * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
734         (bfd_elf32_bfd_reloc_name_lookup): Define.
735         * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
736         * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
737         (bfd_elf32_bfd_reloc_name_lookup): Define.
738         * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
739         (bfd_elf32_bfd_reloc_name_lookup): Define.
740         * elf32-vax.c (reloc_name_lookup): New function.
741         (bfd_elf32_bfd_reloc_name_lookup): Define.
742         * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
743         (bfd_elf32_bfd_reloc_name_lookup): Define.
744         * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
745         (bfd_elf32_bfd_reloc_name_lookup): Define.
746         * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
747         (bfd_elf32_bfd_reloc_name_lookup): Define.
748         * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
749         (bfd_elf64_bfd_reloc_name_lookup): Define.
750         * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
751         * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
752         * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
753         * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
754         * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
755         (bfd_elf64_bfd_reloc_name_lookup): Define.
756         * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
757         (bfd_elf64_bfd_reloc_name_lookup): Define.
758         * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
759         (bfd_elf64_bfd_reloc_name_lookup): Define.
760         * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
761         * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
762         (bfd_elf64_bfd_reloc_name_lookup): Define.
763         * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
764         * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
765         (bfd_elfNN_bfd_reloc_name_lookup): Define.
766         * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
767         * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
768         * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
769         * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
770         * ieee.c (ieee_bfd_reloc_name_lookup): Define.
771         * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
772         * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
773         * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
774         (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
775         (MY(reloc_name_lookup)): New function.
776         * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
777         * oasys.c (oasys_bfd_reloc_name_lookup): Define.
778         * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
779         * pe-mips.c (coff_mips_reloc_name_lookup): New function.
780         (coff_bfd_reloc_name_lookup): Define.
781         * reloc.c (bfd_reloc_name_lookup): New function.
782         * riscix.c (riscix_reloc_name_lookup): New function.
783         (MY_bfd_reloc_name_lookup): Define.
784         * som.c (som_bfd_reloc_name_lookup): New function.
785         * targets.c (struct bfd_target): Add reloc_name_lookup.
786         (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
787         * versados.c (versados_bfd_reloc_name_lookup): Define.
788         * vms.c (vms_bfd_reloc_name_lookup): New function.
789         * bfd-in2.h: Regenerate.
790         * libbfd.h: Regenerate.
791
792 2007-03-26  Thiemo Seufer  <ths@mips.com>
793
794         PR ld/4208
795         * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
796         matching relocation is found.
797         (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
798
799 2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
800
801         * configure: Regenerated.
802
803 2007-03-23  Joseph Myers  <joseph@codesourcery.com>
804
805         * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
806         * configure: Regenerate.
807
808 2007-03-23  Alan Modra  <amodra@bigpond.net.au>
809
810         * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
811         Remove input_sec param.  Adjust all calls.
812         (write_one_stub): Adjust stub symbol.
813         (needs_ovl_stub): New function, extracted from..
814         (spu_elf_size_stubs): ..here.
815         (spu_elf_relocate_section): Use needs_ovl_stub.
816
817 2007-03-22  Joseph Myers  <joseph@codesourcery.com>
818
819         * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
820         if nonempty.
821         * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
822         * Makefile.in, configure, doc/Makefile.in: Regenerate.
823
824 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
825
826         PR ld/4210
827         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
828         address and virtual size of the last section for the image
829         size.
830
831 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
832
833         PR ld/4007
834         * elf.c (assign_file_positions_for_load_sections): Check if
835         all sections are in the segment.
836
837 2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
838
839         PR ld/4208
840         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
841         matching LO16 relocation for HI16 relocation.
842
843 2007-03-20  Paul Brook  <paul@codesourcery.com>
844
845         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
846         * bfd-in2.h: Regenerate.
847         * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
848         (record_arm_to_thumb_glue): Use globals->pic_veneer.
849         (elf32_arm_create_thumb_stub): Ditto.
850         (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
851
852 2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
853
854         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
855         argument and extra last argument.
856         * bfd-in2.h: Regenerate.
857         * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
858         member.
859         (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
860         extra last argument.  Set no_enum_size_warning appropriately.
861         (elf32_arm_merge_eabi_attributes): Improve enum sizes
862         diagnostic, suppressing it when no_enum_size_warning dictates.
863
864 2007-03-20  Nick Clifton  <nickc@redhat.com>
865
866         PR binutils/3535
867         * elf.c (copy_private_bfd_data): Widen the scope of Solaris
868         specific conditions that need the program headers to be
869         rewritten.
870
871 2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
872
873         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
874         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
875         SizeOfInitializedData, SizeOfUninitializedData,
876         AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
877         extra PE a.out header.
878         (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
879         (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
880         defined.
881         (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
882         defined.
883         (_bfd_XX_print_private_bfd_data_common): Also print Magic,
884         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
885         SizeOfInitializedData, SizeOfUninitializedData,
886         AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
887         extra PE a.out header.
888
889 2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
890
891         * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
892         only if BFD64 is defined.
893
894 2007-03-17  Alan Modra  <amodra@bigpond.net.au>
895
896         * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
897         on setjmp calls.
898
899 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
900
901         * doc/Makefile.in: Regenerated.
902
903 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
904
905         * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
906         create doc/bfdver.texi.
907         * Makefile.in: Regenerated.
908
909         * configure.in (--with-bugurl): New option.
910         * configure: Regenerated.
911
912         * version.h (REPORT_BUGS_TO): New.
913
914 2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
915
916         PR binutils/3826
917         * elf-bfd.h (elf_backend_data): Add elf_osabi.
918         (_bfd_elf_set_osabi): New.
919
920         * elf.c (_bfd_elf_set_osabi): New.
921
922         * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
923         (elf_backend_post_process_headers): Defined with
924         _bfd_elf_set_osabi.
925         (ELF_OSABI): Properly defined for each target.
926
927         * elf32-i370.c (i370_elf_post_process_headers): Removed.
928         (ELF_OSABI): Defined.
929         (elf_backend_post_process_headers): Defined with
930         _bfd_elf_set_osabi.
931
932         * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
933         freebsd.
934         (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
935
936         * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
937         (ELF_OSABI): Defined.
938         (elf_backend_post_process_headers): Defined with
939         _bfd_elf_set_osabi.
940
941         * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
942         freebsd.
943         (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
944         elf_osabi.
945
946         * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
947         with elf_osabi.
948         (ELF_OSABI): Properly defined for each target.
949         (elf_backend_post_process_headers): Defined with
950         _bfd_elf_set_osabi for Linux.
951
952         * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
953         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
954         (elf_backend_post_process_headers): Defined with
955         _bfd_elf_set_osabi.
956
957         * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
958         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
959         (elf_backend_post_process_headers): Defined with
960         _bfd_elf_set_osabi.
961
962         * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
963         with any ELF target of the compatible machine for which we do not
964         have a specific backend.
965
966         * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
967         with elf_osabi.
968
969         * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
970         (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
971
972 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
973
974         * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
975         V850_OTHER_* bits.
976
977 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
978
979         * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
980         (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
981         Run "make dep-am".
982         * Makefile.in: Regenerate.
983         * po/SRC-POTFILES.in: Regenerate.
984
985 2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
986
987         * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
988         (x86_64-*-kfreebsd*-gnu): Likewise.
989         (x86_64-*-netbsd*): Likewise.
990         (x86_64-*-openbsd*): Likewise.
991         (x86_64-*-linux-*): Likewise.
992
993         * configure.in: Support bfd_efi_app_x86_64_vec.
994         * configure: Regenerated.
995
996         * efi-app-x86_64.c: New file.
997
998         * targets.c (bfd_efi_app_x86_64_vec): New.
999         (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
1000
1001 2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
1002
1003         * reloc.c (bfd_generic_get_relocated_section_contents): Remove
1004         const for type reloc_howto_type.
1005
1006 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
1007
1008         PR 3958
1009         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
1010         (elf_discarded_section): Move..
1011         * bfd-in.h: ..to here.
1012         * bfd-in2.h: Regenerate.
1013         * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
1014         from discarded sections before relocate_section has done its job.
1015         * reloc.c (bfd_generic_get_relocated_section_contents): Handle
1016         relocs against symbols from discarded sections.
1017         * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
1018         SECREL32.
1019         (elf_hppa_relocate_section): Handle relocatable link after setting
1020         sec, sym, h etc. for final link.  Squash error messages for
1021         relocatable link.  Clear section contents for relocs against
1022         symbols in discarded sections, and zero reloc.  Remove existing
1023         zero r_symndx code.
1024         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
1025         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
1026         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
1027         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
1028         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
1029         (bfin_relocate_section): Likewise.
1030         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
1031         * elf32-cris.c (cris_elf_relocate_section): Likewise.
1032         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
1033         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
1034         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
1035         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1036         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
1037         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
1038         * elf32-i370.c (i370_elf_relocate_section): Likewise.
1039         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1040         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
1041         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
1042         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
1043         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
1044         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
1045         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
1046         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
1047         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
1048         * elf32-mep.c (mep_elf_relocate_section): Likewise.
1049         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
1050         * elf32-mt.c (mt_elf_relocate_section): Likewise.
1051         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
1052         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1053         * elf32-s390.c (elf_s390_relocate_section): Likewise.
1054         * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
1055         * elf32-sh.c (sh_elf_relocate_section): Likewise.
1056         * elf32-spu.c (spu_elf_relocate_section): Likewise.
1057         * elf32-v850.c (v850_elf_relocate_section): Likewise.
1058         * elf32-vax.c (elf_vax_relocate_section): Likewise.
1059         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
1060         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
1061         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
1062         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
1063         (elf64_alpha_relocate_section): Likewise.
1064         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
1065         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1066         * elf64-s390.c (elf_s390_relocate_section): Likewise.
1067         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
1068         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1069         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
1070         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
1071         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
1072
1073         * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
1074         symbols for relocatable link.  Don't use always-zero st_value.
1075         (elf_backend_rela_normal): Don't define.
1076         * elf32-bfin.c (bfinfdpic_relocate_section): Use
1077         RELOC_FOR_GLOBAL_SYMBOL.
1078         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
1079         * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
1080         section symbol adjustments with same for relocatable link.
1081         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1082         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
1083         (elf32_m68hc11_check_relocs): ..to here.
1084         * elf32-score.c (score_elf_final_link_relocate): Remove zero
1085         r_symndx code.
1086         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1087
1088 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
1089
1090         PR 4144
1091         * elf.c (assign_file_positions_for_load_sections): Don't
1092         adjust p_memsz for !SEC_LOAD section vma modulo page size.
1093         Instead, use the same lma based adjustment for SEC_LOAD
1094         sections.
1095
1096 2007-03-01  Bob Wilson  <bob.wilson@acm.org>
1097
1098         * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
1099         (find_relaxable_sections): Do not increment src_count for unknown
1100         opcodes.  Decode only once instead of calling is_l32r_relocation.
1101         (compute_text_actions): Remove unused no_insn_move flag.  Assert that
1102         src_next matches src_count in relax_info.
1103
1104 2007-03-01  Joseph Myers  <joseph@codesourcery.com>
1105
1106         * Makefile.am (bfdver.h): Use "." not " " between version number
1107         and date.
1108         * Makefile.in: Regenerate.
1109         * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
1110         * configure: Regenerate.
1111
1112 2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
1113
1114         * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
1115
1116 2007-02-27  Alan Modra  <amodra@bigpond.net.au>
1117
1118         * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
1119         * elf32-spu.c (ovl_mgr_pread): Add const to casts.
1120
1121 2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
1122
1123         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
1124         DWARF even with 64-bit addresses.
1125         (_bfd_dwarf2_find_nearest_line): Likewise.
1126
1127 2007-02-23  Nick Clifton  <nickc@redhat.com>
1128
1129         PR binutils/3535
1130         * elf.c (copy_private_bfd_data): Always rewrite the program
1131         headers when a Solaris interpreter segment is involved.
1132
1133 2007-02-22  Paul Brook  <paul@codesourcery.com>
1134
1135         * elflink.c (gc_mark_hook_fn): Remove.
1136         (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
1137         (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
1138         * elf-bfd.h (elf_gc_mark_hook_fn): Define.
1139         (elf_backend_data): Add gc_mark_extra_sections.
1140         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
1141         definition.
1142         (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
1143         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
1144         (elf_backend_gc_mark_extra_sections): Define.
1145
1146 2007-02-21  Nick Clifton  <nickc@redhat.com>
1147
1148         * elf.c (_bfd_elf_map_sections_to_segments): If the
1149         override_segment_assignment callback is defined then call it.
1150
1151 2007-02-21  Alan Modra  <amodra@bigpond.net.au>
1152
1153         * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
1154
1155 2007-02-19  Thiemo Seufer  <ths@mips.com>
1156
1157         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
1158         translation marker from untranslatable strings.
1159
1160 2007-02-19  Alan Modra  <amodra@bigpond.net.au>
1161
1162         * elf-bfd.h (struct elf_backend_data): Add default_execstack.
1163         * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
1164         * elfxx-target.h (elf_backend_default_execstack): Define to 1.
1165         (elfNN_bed): Init new field.
1166         * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
1167
1168 2007-02-17  Mark Mitchell  <mark@codesourcery.com>
1169             Nathan Sidwell  <nathan@codesourcery.com>
1170             Vladimir Prus  <vladimir@codesourcery.com
1171             Joseph Myers  <joseph@codesourcery.com>
1172
1173         * configure.in (--with-pkgversion): New option.
1174         * configure: Regenerate.
1175         * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
1176         * Makefile.in: Regenerate.
1177         * version.h (BFD_VERSION_STRING): Define using
1178         @bfd_version_package@.
1179
1180 2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
1181
1182         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
1183         Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
1184         and EF_MIPS_UCODE.
1185
1186 2007-02-15  Alan Modra  <amodra@bigpond.net.au>
1187
1188         * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
1189         declare.
1190         (_bfd_norelocs_canonicalize_reloc): Likewise.
1191         * libbfd.h: Regenerate.
1192         * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
1193         (_bfd_norelocs_canonicalize_reloc): Likewise.
1194         * binary.c (binary_bfd_reloc_type_lookup): Don't define.
1195         (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
1196         (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
1197         * ihex.c: Similarly.
1198         * mach-o-target.c: Similarly.
1199         * mach-o.c: Similarly.
1200         * mmo.c: Similarly.
1201         * pef.c: Similarly.
1202         * ppcboot.c: Similarly.
1203         * srec.c: Similarly.
1204         * xsym.c: Similarly.
1205
1206 2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
1207
1208         PR ld/3953
1209         * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
1210         when adding default symbol.
1211
1212 2007-02-13  Alan Modra  <amodra@bigpond.net.au>
1213
1214         * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
1215         for branch lookup table.
1216
1217 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
1218
1219         * elf64-ppc.c (create_linkage_sections): Don't create
1220         .rela.rodata.brlt for --emit-relocs.
1221         (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
1222         (ppc_size_one_stub): Count them.  Simplify test of stub type
1223         when counting stub relocs.  Set SEC_RELOC too.
1224         (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
1225         (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
1226
1227 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
1228
1229         * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
1230         with a zero symbol index.
1231
1232 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
1233
1234         * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
1235
1236 2007-02-05  Dave Brolley  <brolley@redhat.com>
1237             Stan Cox  <scox@redhat.com>
1238
1239         PR ld/3972
1240         * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
1241
1242 2007-02-05  Dave Brolley  <brolley@redhat.com>
1243             Richard Sandiford  <rsandifo@redhat.com>
1244             Stan Cox  <scox@redhat.com>
1245             Nick Clifton  <nickc@redhat.com>
1246             DJ Delorie  <dj@redhat.com>
1247             Frank Ch. Eigler  <fche@redhat.com>
1248             Ben Elliston  <bje@redhat.com>
1249             Richard Henderson  <rth@redhat.com>
1250
1251         * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
1252         (ALL_MACHINES_CFILES): Add CPU_MEP.c.
1253         (BFD32_BACKENDS): Add elf32-mep.lo.
1254         (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
1255         (cpu-mep.lo,elf32-mep.lo): New targets.
1256         * archures.c (bfd_arch_mep): New enumerator.
1257         (bfd_mach_mep, bfd_mach_mep_h1): New macros.
1258         (bfd_mep_arch): New external variable.
1259         (bfd_archures_list): Add bfd_mep_arch.
1260         * config.bfd: Support mep-*-elf.
1261         * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
1262         * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
1263         * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
1264         declarations.
1265         (_bfd_target_vector): Add bfd_elf32_mep_vec and
1266         bfd_elf32_mep_little_vec.
1267         * mep-relocs.pl: New file.
1268         * cpu-mep.c: New file.
1269         * elf32-mep.c: New file.
1270         * bfd-in2.h: Regenerate.
1271         * po/POTFILES.in: Regenerate.
1272         * libbfd.h: Regenerate.
1273         * Makefile.in: Regenerate.
1274         * configure: Regenerate.
1275
1276 2007-02-05  Dave Brolley  <brolley@redhat.com>
1277
1278         * elflink.c (evaluate_complex_relocation_symbols): Check for
1279         STT_SRELC for global symbols.
1280         (perform_complex_relocations): Renamed to
1281         perform_complex_relocation and now examines only one relocation.
1282         (elf_link_input_bfd): Don't call perform_complex_relocations.
1283         * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
1284         * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
1285         (OD,OS,OU): #undefs corrected to N, S and U repectively.
1286         (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
1287         (complex_reloc_installation_howto): Removed.
1288         (mep_info_to_howto_rela): Remove special case for r_type==0xff.
1289         (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
1290
1291 2007-02-05  Dave Brolley  <brolley@redhat.com>
1292             Richard Sandiford  <rsandifo@redhat.com>
1293             DJ Delorie  <dj@redhat.com>
1294             Graydon Hoare  <graydon@redhat.com>
1295             Nick Clifton  <nickc@cambridge.redhat.com>
1296             Jeff Holcomb  <jeffh@redhat.com>
1297             Frank Ch. Eigler  <fche@redhat.com>
1298
1299         * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
1300         * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
1301         * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
1302         * elflink.c (set_symbolValue): New static function.
1303         (resolve_symbol): Likewise.
1304         (resolve_section): Likewise.
1305         (undefined_reference): Likewise.
1306         (eval_symbol): Likewise.
1307         (evaluate_complex_relocation_symbols): Likewise.
1308         (put_value): Likewise.
1309         (get_value): Likewise.
1310         (decode_complex_addend):
1311         (bfd_elf_perform_complex_relocation): New function.
1312         (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
1313         * reloc.c (BFD_RELOC_RELC): New relocation number.
1314         * syms.c (BSF_RELC,BSF_SRELC): New macros.
1315
1316 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
1317
1318         * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
1319         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
1320         (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
1321         (elf_xtensa_allocate_got_size): Replace these with...
1322         (elf_xtensa_allocate_dynrelocs): ...this new function.
1323         (elf_xtensa_size_dynamic_sections): Use it.
1324
1325 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
1326
1327         * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
1328         <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
1329         Set src_mask to zero.
1330         <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
1331         <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
1332
1333 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
1334
1335         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
1336         (elf_xtensa_dynamic_symbol_p): ...this.
1337
1338 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
1339
1340         * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
1341         (struct elf_xtensa_link_hash_table): New.
1342         (elf_xtensa_hash_table): New.
1343         (elf_xtensa_link_hash_table_create): New.
1344         (elf_xtensa_check_relocs): Update plt_reloc_count references.
1345         Update arguments to add_extra_plt_sections.
1346         (elf_xtensa_create_dynamic_sections): Record new sections in the hash
1347         table.  Update for plt_reloc_count and add_extra_plt_sections.
1348         (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
1349         argument with link info.  Update calls to elf_xtensa_get_plt_section
1350         and elf_xtensa_get_gotplt_section.
1351         (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
1352         (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
1353         (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
1354         (relax_property_section): Get sections from the hash table and update
1355         function calls.
1356         (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
1357         dynobj argument with link info.  Get sections for first plt chunk from
1358         the hash table.
1359         (bfd_elf32_bfd_link_hash_table_create): Define.
1360
1361 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
1362
1363         * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
1364         * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
1365         (struct elf_symbol): Change first member into union.
1366         (elf_sort_elf_symbol): Compare pointers to internal syms rather than
1367         internal syms.  Only compare st_shndx fields.
1368         (elf_create_symbuf): New function.
1369         (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
1370         for bfds, use a binary search, otherwise don't qsort symbols
1371         unnecessarily only to select which symbols are for the particular
1372         shndx.
1373
1374 2007-02-01  Nick Clifton  <nickc@redhat.com>
1375
1376         PR ld/3852
1377         * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
1378         in the elf_link_hash_table structure.
1379
1380 2007-02-01  Alan Modra  <amodra@bigpond.net.au>
1381
1382         * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
1383         * elfxx-target.h (elf_backend_write_core_note): Define and use.
1384         * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
1385         32-bit core note on 64-bit target.
1386         (elfcore_write_prstatus): Likewise.
1387         (elfcore_write_lwpstatus): Make note_name const.
1388         (elfcore_write_prfpreg): Likewise.
1389         (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
1390         target.
1391         * elf32-ppc.c (ppc_elf_write_core_note): New function.
1392         (elf_backend_write_core_note): Define.
1393         * elf64-ppc.c (ppc64_elf_write_core_note): New function.
1394         (elf_backend_write_core_note): Define.
1395
1396 2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
1397
1398         * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
1399         (elf32_bed): Defined for elf32-us-cris.
1400
1401         * elf64-sh64.c (elf64_bed): Defined for Linux.
1402         (INCLUDED_TARGET_FILE): Removed.
1403
1404         * elfxx-target.h (elfNN_bed): Always define. Don't check
1405         INCLUDED_TARGET_FILE.
1406
1407 2007-01-31  DJ Delorie  <dj@redhat.com>
1408
1409         * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
1410         message for dangerous relocs, special case the common user error.
1411
1412 2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
1413
1414         * elf.c (copy_elf_program_header): Start from the first section
1415         in a segment and stop when all sections in a segment are
1416         accounted for.
1417
1418 2007-01-29  Julian Brown  <julian@codesourcery.com>
1419
1420         * bfd-in2.h: Regenerate.
1421         * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
1422         instruction scanning should be done.
1423         (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
1424         (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
1425         (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
1426         prototype.
1427         * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
1428         argument.
1429         * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
1430         (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
1431         (elf32_vfp11_erratum_type): New enum.
1432         (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
1433         veneers.
1434         (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
1435         (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
1436         vfp11_fix and num_vfp11_fixes fields.
1437         (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
1438         vfp11_erratum_glue_size, num_vfp11_fixes fields.
1439         (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
1440         (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
1441         glue section.
1442         (elf32_arm_section_map_add): Add an code/data mapping symbol entry
1443         to a section's map.
1444         (record_vfp11_erratum_veneer): Create a single veneer, and its
1445         associated symbols.
1446         (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
1447         (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
1448         BFDs.
1449         (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
1450         required.
1451         (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
1452         (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
1453         (bfd_arm_vfp11_write_mask): Update write mask according to coded
1454         register number.
1455         (bfd_arm_vfp11_antidependency): New function.
1456         (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
1457         (elf32_arm_compare_mapping): Declare.
1458         (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
1459         BFD for potential erratum-triggering insns. Record results.
1460         (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
1461         and branches to veneers have been placed in virtual memory after
1462         layout.
1463         (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
1464         hash table.
1465         (elf32_arm_output_symbol_hook): Remove.
1466         (elf32_arm_write_section): Output veneers, and branches to veneers.
1467         Use maps from input sections, not output sections, for code
1468         byte-swapping.
1469         * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
1470         * elf32-score.c (_bfd_score_elf_write_section): Likewise.
1471         * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
1472         * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
1473
1474 2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
1475
1476         * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
1477         (INCLUDED_TARGET_FILE): Removed.
1478
1479 2007-01-27  Mike Frysinger  <vapier@gentoo.org>
1480
1481         * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
1482         (INCLUDED_TARGET_FILE): Remove.
1483
1484 2007-01-25  DJ Delorie  <dj@redhat.com>
1485
1486         * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
1487         R_M32C_16 or R_M32C_24 relocs.
1488
1489 2007-01-25  Nick Clifton  <nickc@redhat.com>
1490
1491         PR binutils/3874
1492         * elf32-avr.c (avr_link_hash_table): Check to make sure that the
1493         hash table was created by elf32_avr_link_hash_table_create before
1494         using it.
1495         (elf32_avr_link_hash_newfunc): New function.  Just pass the call
1496         through to _bfd_elf_link_hash_newfunc.
1497         (elf32_avr_link_hash_table_create): Use
1498         elf32_avr_link_hash_newfunc instead of
1499         _bfd_elf_link_hash_newfunc.
1500         (elf32_avr_relocate_section): Check for the hash table pointer
1501         being NULL.
1502         (elf32_avr_relax_section, avr_build_one_stub,
1503         elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
1504         elf32_avr_build_stubs): Likewise.
1505
1506 2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
1507
1508         PR ld/3831
1509         * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
1510         argument, Elf_Internal_Sym *.
1511
1512         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
1513         symbol dynamic if info->dynamic_data is TRUE.
1514         (bfd_elf_record_link_assignment): Updated call to
1515         bfd_elf_record_link_assignment.
1516         (_bfd_elf_merge_symbol): Likewise.  Always call
1517         bfd_elf_link_mark_dynamic_symbol.
1518
1519 2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
1520
1521         * Makefile.am (BFD_LIBS): Removed.
1522         * Makefile.in: Regenerated.
1523
1524 2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
1525
1526         PR binutils/3631
1527         * Makefile.am (OFILES): Add @bfd64_libs@.
1528         (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
1529         * Makefile.in: Regenerated.
1530
1531         * configure.in (bfd_libs): Replaced by ...
1532         (bfd64_libs): This.
1533         * configure: Regenerated.
1534
1535 2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
1536
1537         * elf.c (assign_file_positions_for_load_sections): We can
1538         require fewer phdrs than expected.
1539
1540 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
1541
1542         * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
1543         * bfd-in2.h: Regenerate.
1544         * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
1545         bfd_mach_cpu32_fido.
1546         (m68k_arch_features): Use fido_a instead of cpu32.
1547         (bfd_m68k_compatible): Reject the combination of Fido and
1548         ColdFire.  Accept the combination of CPU32 and Fido with a
1549         warning.
1550         * elf32-m68k.c (elf32_m68k_object_p,
1551         elf32_m68k_merge_private_bfd_data,
1552         elf32_m68k_print_private_bfd_data): Treat Fido as an
1553         architecture by itself.
1554
1555 2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
1556
1557         * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
1558
1559 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
1560
1561         * texhex.c (first_phase): Don't fall through into the default
1562         case.
1563         (pass_over): Replace abort () calls with return FALSE.  Fix
1564         buffer overflow.
1565
1566 2007-01-04  Jie Zhang  <jie.zhang@analog.com>
1567
1568         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
1569         SEC_EXCLUDE on zero size .eh_frame.
1570
1571 For older changes see ChangeLog-2006
1572 \f
1573 Local Variables:
1574 mode: change-log
1575 left-margin: 8
1576 fill-column: 74
1577 version-control: never
1578 End: