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