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