* elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
[external/binutils.git] / bfd / ChangeLog
1 2007-10-31  Alan Modra  <amodra@bigpond.net.au>
2
3         * elf-bfd.h (bfd_elf_match_symbols_in_sections): Don't declare.
4         * elflink.c (bfd_elf_match_symbols_in_sections): Make static.
5         Remove section name comparisons.
6
7 2007-10-30  Nick Clifton  <nickc@redhat.com>
8
9         * reloc.c (BFD_RELOC_MN10300_ALIGN): Add.
10         * bfd-in2.h: Regenerate.
11         * libbfd.h: Regnerate.
12         * elf-m10300.h: Handle R_MN10300_ALIGN relocs.
13         (mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs.
14         Re-fix off by one error in comparisons.
15   
16 2007-10-25  Pedro Alves  <pedro_alves@portugalmail.pt>
17
18         * bfd-in.h (STRING_COMMA_LEN): Don't handle NULL STR case.
19         * bfd-in2.h: Regenerate.
20
21 2007-10-25  Daniel Jacobowitz  <dan@codesourcery.com>
22
23         * elf32-ppc.c (ppc_elf_merge_obj_attributes): Add support for
24         Tag_GNU_Power_ABI_Vector.
25
26 2007-10-25  Joseph Myers  <joseph@codesourcery.com>
27
28         * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Do not add
29         PT_NULL header when not linking.
30
31 2007-10-25  Carlos Eduardo Seo  <cseo@linux.vnet.ibm.com>
32
33         * elf.c (elfcore_grok_ppc_vmx): New function.
34         (elfcore_grok_note): Handle NT_PPC_VMX.
35         (elfcore_write_ppc_vmx): New function.
36         * elf-bfd.h (elfcore_write_ppc_vmx): Declare.
37
38 2007-10-24  Alan Modra  <amodra@bigpond.net.au>
39
40         * Makefile.am: Run "make dep-am".
41         * Makefile.in: Regenerate.
42         * po/SRC-POTFILES.in: Regenerate.
43
44 2007-10-23  Alan Modra  <amodra@bigpond.net.au>
45
46         * elf64-ppc.c (ppc_build_one_stub): Don't duplicate relocs
47         emitted for ".brlt" entries.
48         (toc_adjusting_stub_needed): Don't treat ".fixup" specially here..
49         (ppc64_elf_next_input_section): ..instead do so here.
50
51 2007-10-19  Nick Clifton  <nickc@redhat.com>
52
53         * config.bfd: Recognise am34-linux-gnu target.
54         * reloc.c: Add BFD_RELOC_MN10300_SYM_DIFF relocation.
55         * bfd-in2.h: Regenerate.
56         * libbfd.h: Regenerate.
57         * elf-m10300.c (elf_mn10300_howto): Add R_MN10300_SYM_DIFF.
58         (mn10300_reloc_map): Likewise.
59         (mn10300_elf_check_relocs): Do not create dynamic relocs for
60         symbol differences or relocations against absolute symbols.
61         (mn10300_elf_final_link_relocate): Likewise.
62         Handle R_MN10300_SYM_DIFF relocs. 
63         (mn10300_elf_relocate_section): Fix for creating local copys of
64         dynamic relocs.
65         (mn10300_elf_relax_delete_bytes): Adjust symbols at the end of the
66         region.  Adjust the size of function symbols.
67         (mn10300_elf_relax_section): Ignore symbols that are in discarded
68         sections.
69
70 2007-10-19  Nick Clifton  <nickc@redhat.com>
71
72         * elf-m10300.c: Convert to ISO C.
73
74 2007-10-18  H.J. Lu  <hongjiu.lu@intel.com>
75             Alan Modra  <amodra@bigpond.net.au>
76
77         PR ld/4424
78         * config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for
79         alpha/FreeBSD.  Add bfd_elf64_sparc_vec for sparc64/FreeBSD.
80         Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD.
81         (targ64_selvecs): Set for i386/FreeBSD.
82         * elf-bfd.h (elf_backend_data): Add relocs_compatible.
83         (_bfd_elf_default_relocs_compatible): Declare.
84         (_bfd_elf_relocs_compatible): Declare.
85         * elfxx-target.h (elf_backend_relocs_compatible): Define.
86         (elfNN_bed): Init new relocs_compatible field.
87         * elflink.c (_bfd_elf_default_relocs_compatible): New function.
88         (_bfd_elf_relocs_compatible): New function.
89         (elf_link_add_object_symbols): Call bed->relocs_compatible.
90         * elf32-i386.c (elf_backend_relocs_compatible): Define.
91         * elf64-alpha.c: Likewise.
92         * elf64-sparc.c: Likewise.
93         * elf64-x86-64.c: Likewise.
94
95 2007-10-16  Bob Wilson  <bob.wilson@acm.org>
96
97         * elf32-xtensa.c (relax_section): Check for a reference to a discarded
98         DWARF section and anticipate its replacement with the kept section.
99         
100 2007-10-16  Bob Wilson  <bob.wilson@acm.org>
101
102         * elf32-xtensa.c (elf_xtensa_discard_info_for_section): Remove
103         unnecessary size variables.  Set sec->rawsize.
104         (relax_section, relax_property_section): Likewise.
105         
106 2007-10-16  Bob Wilson  <bob.wilson@acm.org>
107
108         * section.c (struct bfd_section): Clarify comment for rawsize field.
109         * bfd-in2.h: Regenerate.
110         
111 2007-10-16  Bob Wilson  <bob.wilson@acm.org>
112
113         * elflink.c (_bfd_elf_check_kept_section): Use the section rawsize
114         values if they are set.
115         
116 2007-10-16  Nick Clifton  <nickc@redhat.com>
117
118         PR 5146
119         * configure.in (AC_CHECK_HEADERS): Add alloca.h
120         * configure: Regenerate.
121         * config.in: Regenerate.
122         * som.c: Replace alloca-conf.h inclusion with code recommended in
123         autoconf documentation.
124         * elf64-hppa.c: Likewise.
125
126 2007-10-16  Nick Clifton  <nickc@redhat.com>
127
128         * configure.in (--enable-elf-stt-common): New configure
129         option.  If enabled then the tools can generate symbols with
130         the ELF STT_COMMON type.
131         * config.in: Regenerate.
132         * configure: Regenerate.
133         * elf.c (swap_out_syms): If USE_STT_COMMON is defined then set
134         the type of emitted common symbols to STT_COMMON.
135         * elfcode.h (elf_slurp_symbol_table): Accept STT_COMMON symbol
136         types.
137         
138 2007-10-15  Alan Modra  <amodra@bigpond.net.au>
139
140         * coff-arm.c (arm_emit_base_file_entry): Check fwrite return value.
141         Return status.  Adjust callers.
142         * coff-mcore.c (mcore_emit_base_file_entry): Likewise.
143         * coff-ppc.c (write_base_file_entry): New function.
144         (coff_ppc_relocate_section): Use it.
145         * elf32-arm.c (find_thumb_glue): Check asprintf return status.
146         (find_arm_glue): Likewise.
147         * vms-misc.c (_bfd_vms_output_flush): Check fwrite return value.
148
149 2007-10-12  Nick Clifton  <nickc@redhat.com>
150
151         PR 5160
152         * elflink.c (eval_symbol): Remove bufsz variable and use
153         sizeof(symbuf) where necessary.
154
155 2007-10-12  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
156
157         * elf32-cr16.c (elf32_cr16_relax_section): Fix condition check typo.
158
159 2007-10-12  Daniel Jacobowitz  <dan@codesourcery.com>
160
161         * elfxx-mips.c (mips_elf_sort_hash_table_f): Handle forced
162         local symbols specially.
163         (mips_elf_set_global_got_offset): Skip forced local symbols.
164
165 2007-10-12  Alan Modra  <amodra@bigpond.net.au>
166
167         * elf.c (elfcore_grok_prxfpreg): Fix comment typo.
168
169 2007-10-10  H.J. Lu  <hongjiu.lu@intel.com>
170
171         * elf.c (get_program_header_size): Always add a PT_GNU_RELRO
172         segment for -z relro.
173         (_bfd_elf_map_sections_to_segments): Make a PT_GNU_RELRO
174         segment only when needed.
175
176 2007-10-05  Bob Wilson  <bob.wilson@acm.org>
177         
178         * elf32-xtensa.c (relax_section): Call pin_internal_relocs when
179         changing a relocation's offset.  Adjust call to translate_reloc.  Do
180         not add a fix record for a DIFF reloc.  For other relocs, only add a
181         fix record if the translated target is in a different object file;
182         otherwise, just update the relocation.  Call pin_internal_relocs when
183         updating a reloc but not when adding a fix record.
184         (translate_reloc): Get the target section from a new argument, not
185         from the relocation.  Change check for relaxable sections to an
186         assertion.  Compute separate offset adjustments for the base symbol
187         and the addend, and set the new relocation's addend correctly.  Return
188         the new target section.
189         
190 2007-10-05  Bob Wilson  <bob.wilson@acm.org>
191         
192         * elf32-xtensa.c (elf_xtensa_relocate_section): Remove updates of
193         r_type and howto after calling do_fix_for_relocateable_link and
194         do_fix_for_final_link.
195         
196 2007-10-05  Bob Wilson  <bob.wilson@acm.org>
197         
198         * elf32-xtensa.c (removed_by_actions): New.
199         (offset_with_removed_text): Reimplement using removed_by_actions.
200         (offset_with_removed_text_before_fill): Delete.
201         (relax_property_section): Use removed_by_actions.  Rearrange logic.
202         (relax_section_symbols): Likewise.
203         
204 2007-10-04  Bob Wilson  <bob.wilson@acm.org>
205
206         * elf32-xtensa.c (reloc_bfd_fix_struct): Delete target_abfd field.
207         (reloc_bfd_fix_init): Remove target_abfd argument.
208         (relax_section, move_literal): Adjust calls to reloc_bfd_fix_init.
209
210 2007-10-04  Nick Clifton  <nickc@redhat.com>
211
212         PR linker/5099
213         * elf64-x86-64.c (elf64_x86_64_check_relocs): Add missing
214         apostrophe to error message.
215
216 2007-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>
217
218         * elf32-cr16.c: Fixed DISP8, DISP20 and IMM20 relocations at
219         final relocation phase.
220         Added the below relaxations: IMM32 -> IMM20/IM16 -> IMM4.
221         * reloc.c: Added 3 new relocations: R_CR16_SWITCH8,
222         R_CR16_SWITCH16, R_CR16_SWITCH32.
223         * libbfd.h: Regenerate.
224         * bfd-in2.h: Regenerate.
225
226 2007-09-30  Alan Modra  <amodra@bigpond.net.au>
227
228         * elflink.c: Formatting.
229
230 2007-09-29  Alan Modra  <amodra@bigpond.net.au>
231
232         * elflink.c (resolve_symbol): Handle symbols in SEC_MERGE
233         sections.  Don't test symbol st_shndx.  Don't bother with
234         bfd_link_hash_common symbols.  Print longs rather than ints
235         in debug messages.
236         (eval_symbol): Replace "sym" and "advanced" params with "symp".
237         Replace "addr" and "section_offset" params with "dot".  Don't
238         cast bfd_vma values to signed, cast them to bfd_signed_vma.
239         (bfd_elf_perform_complex_relocation): Delete "output_bfd", "info",
240         "local_syms" and "local_sections" params.  Add "relocation".
241         Delete code calculating relocation value.
242         (evaluate_complex_relocation_symbols): Delete function.  Fold into..
243         (elf_link_input_bfd): ..existing code examining relocs.
244         * elf-bfd.h (bfd_elf_perform_complex_relocation): Update prototype.
245         * elf32-mep.c (mep_elf_check_relocs): Delete function.
246         (mep_elf_gc_sweep_hook, mep_elf_gc_mark_hook): Likewise.
247         (mep_elf_object_p): Don't set elf_bad_symtab.
248         (elf_backend_check_relocs): Don't define.
249         (elf_backend_gc_mark_hook, elf_backend_gc_sweep_hook): Likewise.
250         (elf_backend_can_gc_sections, USE_RELA): Likwise.
251         (mep_elf_relocate_section): Move bfd_elf_perform_complex_relocation
252         call after we have calculated reloc value.  Delete local sym
253         debug code.  Use RELOC_FOR_GLOBAL_SYMBOL.  Delete addend
254         adjusting code..
255         (elf_backend_rela_normal): ..instead define this.
256
257 2007-09-28  Alan Modra  <amodra@bigpond.net.au>
258
259         * elf-m10300.c (mn10300_elf_check_relocs): Delete dead code.
260         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
261         * elf32-avr.c (elf32_avr_check_relocs): Likewise.
262         * elf32-bfin.c (bfinfdpic_check_relocs): Likewise.
263         * elf32-cris.c (cris_elf_check_relocs): Likewise.
264         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
265         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
266         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
267         * elf32-frv.c (_frvfdpic_check_discarded_relocs): Likewise.
268         (elf32_frv_check_relocs): Likewise.
269         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
270         * elf32-m32c.c (m32c_elf_check_relocs): Likewise.
271         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
272         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
273         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
274         * elf32-msp430.c (elf32_msp430_check_relocs): Likewise.
275         * elf32-mt.c (mt_elf_check_relocs): Likewise.
276         * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
277         * elf32-sh.c (sh_elf_check_relocs): Likewise.
278         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
279         * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
280         * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
281         (score_elf_local_relocation_p): Likewise.
282         (_bfd_score_elf_relocate_section): Likewise.
283         (score_elf_final_link_relocate): Likewise.
284
285 2007-09-26  Jan Beulich  <jbeulich@novell.com>
286
287         * elf32-i386.c (elf_i386_check_relocs): Revert NULL pointer
288         check for R_386_GNU_VTINHERIT.
289         * elf-m10300.c (mn10300_elf_check_relocs): Check for NULL
290         pointer for R_xxx_GNU_VTENTRY.
291         * elf32-arm.c (elf32_arm_check_relocs): Likewise.
292         * elf32-bfin.c (bfin_check_relocs): Likewise.
293         (bfinfdpic_check_relocs): Likewise.
294         * elf32-cris.c (cris_elf_check_relocs): Likewise.
295         * elf32-d10v.c (elf32_d10v_check_relocs): Likewise.
296         * elf32-dlx.c (elf32_dlx_check_relocs): Likewise.
297         * elf32-fr30.c (fr30_elf_check_relocs): Likewise.
298         * elf32-frv.c (elf32_frv_check_relocs): Likewise.
299         * elf32-hppa.c (elf32_hppa_check_relocs): Likewise.
300         * elf32-iq2000.c (iq2000_elf_check_relocs): Likewise.
301         * elf32-m32r.c (m32r_elf_check_relocs): Likewise.
302         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
303         * elf32-m68k.c (elf_m68k_check_relocs): Likewise.
304         * elf32-mcore.c (mcore_elf_check_relocs): Likewise.
305         * elf32-openrisc.c (openrisc_elf_check_relocs): Likewise.
306         * elf32-ppc.c (ppc_elf_check_relocs): Likewise.
307         * elf32-s390.c (elf_s390_check_relocs): Likewise.
308         * elf32-score.c (_bfd_score_elf_check_relocs): Likewise.
309         * elf32-sh.c (sh_elf_check_relocs): Likewise.
310         * elf32-v850.c (v850_elf_check_relocs): Likewise.
311         * elf32-vax.c (elf_vax_check_relocs): Likewise.
312         * elf32-xstormy16.c (xstormy16_elf_check_relocs): Likewise.
313         * elf32-xtensa.c (elf_xtensa_check_relocs): Likewise.
314         * elf64-mmix.c (mmix_elf_check_relocs): Likewise.
315         * elf64-ppc.c (ppc64_elf_check_relocs): Likewise.
316         * elf64-s390.c (elf_s390_check_relocs): Likewise.
317         * elf64-sh64.c (sh_elf64_check_relocs): Likewise.
318         * elf64-x86-64.c (elf64_x86_64_check_relocs): Likewise.
319         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Likewise.
320         * elfxx-sparc.c (_bfd_sparc_elf_check_relocs): Likewise.
321
322 2007-09-26  Alan Modra  <amodra@bigpond.net.au>
323
324         * elflink.c (set_symbol_value): Add isymbuf and locsymcount
325         params.  Change symidx to a size_t.  Don't access past end
326         of symbol buffer.
327         (resolve_symbol): Add isymbuf param and use instead of
328         finfo->internal_syms.
329         (eval_symbol, evaluate_complex_relocation_symbols): Likewise.
330         (elf_link_input_bfd): Don't read symbols specially for
331         evaluate_complex_relocation_symbols.
332
333 2007-09-26  Tristan Gingold  <gingold@adacore.com>
334
335         * som.c (som_get_reloc_upper_bound): If there are no relocs return
336         enough space to hold a NULL pointer.
337
338 2007-09-26  Alan Modra  <amodra@bigpond.net.au>
339
340         * elf64-ppc.c (ppc_build_one_stub): Correct rel_hdr.sh_size.
341
342 2007-09-25  Alan Modra  <amodra@bigpond.net.au>
343
344         * elf32-spu.c (struct spu_link_hash_table): Add ovly_load_r_symndx.
345         (spu_elf_size_stubs): Count stub relocs.
346         (write_one_stub): Emit relocs on overlay call stubs.
347
348         * elf32-spu.c (struct spu_link_hash_table): Add "stubs".
349         (spu_elf_link_hash_table_create): Init new field.
350         (spu_elf_size_stubs): Store sorted stub syms in new htab field
351         rather than local var.
352         (spu_elf_build_stubs): Iterate over htab stubs rather than
353         hash traversal.
354         (struct stubarr): Delete.
355         (allocate_spuear_stubs, populate_stubs, write_one_stub): Adjust.
356
357 2007-09-24  Daniel Jacobowitz  <dan@codesourcery.com>
358
359         * elf.c (assign_file_positions_for_load_sections): Trust
360         p_align_valid.
361         (copy_elf_program_header): Copy PT_NULL segments.
362
363 2007-09-24  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
364
365         * elf32-spu.c (is_indirect_branch): New function.
366         (find_function_stack_adjust): End scan on hitting indirect branch.
367         (sum_stack): Cast %v arg to correct type.
368
369 2007-09-21  H.J. Lu  <hongjiu.lu@intel.com>
370
371         * Makefile.am: Run "make dep-am".
372         * Makefile.in: Regenerated.
373
374 2007-09-21  Doug Kwan  <dougkwan@google.com>
375
376         * Makefile.am (BFD32_LIBS): Add arange-set.lo.
377         (BFD32_LIBS_CFILES): Add arange-set.c.
378         (SOURCE_HFILES): Add arange-set.h
379         (dwarf2.lo): Add dependency upon arange-set.h.
380         (arange-set.lo): New target.
381         * Makefile.in: Regenerate.
382         * arange-set.c: New file.
383         * arange-set.h: New file.
384         * dwarf2.c: Include arange-set.h.  
385         (struct dwarf2_debug) Add new fields comp_unit_count and
386         comp_unit_arange_set.
387         (struct comp_unit) Replace field arange with a new field arange_set.
388         (dwarf2_arange_set_allocate, dwarf2_arange_set_deallocate,
389         dwarf2_combine_arange_value, dwarf2_arange_set_new,
390         dwarf2_arange_set_with_value_new, dwarf2_comp_unit_arange_add): New
391         functions to utilize arange set in dwarf2.c.
392         (arange_add): Formatting change for a line longer than 80 characters.
393         (decode_line_info): Replace call target arange_add with
394         dwarf2_comp_unit_arange_add.
395         (read_rangelist_insert_arange_list,
396         read_rangelist_comp_unit_arange_add): New functions used as callbacks
397         for read_rangelist.
398         (read_rangelist): Change interface to accept a callback and data to
399         allow caller to select the action peformed on a new range list read.
400         (scan_unit_for_symbols): Use new interface of read_rangelist.
401         (parse_comp_unit): Create an arange set for each new comp unit.  Use new
402         interface of read_rangelist.  Replace call to arange_add with that to
403         dwarf2_comp_unit_arange_add.
404         (comp_unit_contains_address): Replace sequential search with a call to
405         arange_set_lookup_address, which can handles large set efficiently.
406         (stash_copy_local_aranges, stash_maybe_enable_arange_set,
407         stash_find_nearest_line_fast): New functions maintaining and using a
408         valued global arange set for all compilation units to speed up
409         bfd_dwarf2_find_nearest_line.
410         (find_line): Use global arange set.  Replace sequential search over all
411         compilation units with a call to stash_find_nearest_line_fast.  Add
412         book keeping to count number of compilation units.  Replace empty
413         arange list test with a call to arange_set_empty_p.
414
415 2007-09-21  Olivier Hainque  <hainque@adacore.com>
416             Tristan Gingold  <gingold@adacore.com>
417         
418         * syms.c (_bfd_stab_section_find_nearest_line): Look at the 
419         specific SOM sections for stabs if the regular ones are not found.
420         * som.h (struct somdata): Add a line_info field, to be used by
421         som_find_nearest_line.
422         * som.c (som_find_nearest_line): Implement using the bfd stabs
423         function above.
424
425 2007-09-19  Daniel Jacobowitz  <dan@codesourcery.com>
426
427         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_sections): Make sure .got
428         will be output.
429
430 2007-09-19  Alan Modra  <amodra@bigpond.net.au>
431             Doug Kwan  <dougkwan@google.com>
432
433         * bfd-in.h (bfd_hash_insert): Declare.
434         * bfd-in2.h: Regenerate.
435         * hash.c (bfd_hash_insert): New function.  Split out from..
436         (bfd_hash_lookup): ..here.
437         * merge.c (sec_merge_hash_lookup): Use bfd_hash_insert.
438
439 2007-09-18  Alan Modra  <amodra@bigpond.net.au>
440
441         * elf.c (bfd_section_from_shdr): Check bfd_alloc return.
442         (elfcore_write_note): Check realloc return.
443         * elflink.c (_bfd_elf_link_find_version_dependencies): Check
444         bfd_zalloc return.
445         (_bfd_elf_link_assign_sym_version): Check bfd_malloc return.
446         (elf_link_add_object_symbols): Likewise.
447         (struct hash_codes_info): New.
448         (elf_collect_hash_codes): Return bfd_malloc error.
449         (struct collect_gnu_hash_codes): Add "error".
450         (elf_collect_gnu_hash_codes): Return bfd_malloc error.
451         (bfd_elf_size_dynamic_sections): Check return status of
452         _bfd_elf_link_find_version_dependencies.
453         (bfd_elf_size_dynsym_hash_dynstr): Adjust for elf_collect_hash_codes
454         and elf_collect_gnu_hash_codes changes.
455         (elf_sym_name_compare): Formatting.
456         (elf_fixup_link_order): Use bfd_malloc, not xmalloc.
457
458 2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>
459
460         PR binutils/3281
461         PR binutils/5037
462         * elf-bfd.h (elf_obj_tdata): Remove relro.
463
464         * elf.c (get_program_header_size): Check info->relro instead
465         of elf_tdata (abfd)->relro.
466         (_bfd_elf_map_sections_to_segments): Likewise.
467         (assign_file_positions_for_load_sections): Don't set
468         PT_GNU_RELRO segment alignment here.
469         (assign_file_positions_for_non_load_sections): Properly set up
470         PT_GNU_RELRO segment for copying executable/shared library.
471         (rewrite_elf_program_header): Remove PT_GNU_RELRO segment.
472         (copy_elf_program_header): Set p_size and p_size_valid fields for
473         PT_GNU_RELRO segment. 
474
475 2007-09-17  Nick Clifton  <nickc@redhat.com>
476
477         * po/fi.po: New Finnish translation.
478         * po/es.po: Updated Spanish translation.
479         * configure.in (ALL_LINGUAS): Add fi.
480         * configure: Regenerate.
481         * po/bfd.pot: Regenerate.
482
483 2007-09-15  Nick Clifton  <nickc@redhat.com>
484
485         * bfd.c (_bfd_default_error_handler): fflush stdout.
486
487 2007-09-14  Alan Modra  <amodra@bigpond.net.au>
488
489         * opncls.c (find_separate_debug_file): Ensure bfd_set_error has
490         been called on all error return paths.
491         (bfd_fill_in_gnu_debuglink_section): Use bfd_malloc, not malloc.
492         Clear padding after filename
493
494 2007-09-14  Alan Modra  <amodra@bigpond.net.au>
495
496         * format.c (bfd_check_format_matches): Record matching targets even
497         when "matching" is NULL to allow bfd_associated_vector matches.
498         Consolidate error return code.  Consolidate ok return code.  Always
499         restore original target and format on error.
500
501 2007-09-14  Alan Modra  <amodra@bigpond.net.au>
502
503         * configure.in: Delete BFD_HOST_LONG_LONG and bfd checks for
504         long long.  Partly revert 2007-07-12 change, so that
505         BFD_HOST_64BIT_LONG and BFD_HOST_64BIT_LONG_LONG are set
506         independent of "void *" size.
507         * configure: Regenerate.
508         * config.in: Regenerate.
509         * Makefile.in: Regenerate.
510
511 2007-09-12  Alan Modra  <amodra@bigpond.net.au>
512
513         * elf-bfd.h (struct elf_backend_data): Delete elf_backend_sprintf_vma
514         and elf_backend_fprintf_vma.
515         (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
516         * elf.c (_bfd_elf_sprintf_vma, _bfd_elf_fprintf_vma): Delete.
517         * elfxx-target.h (elf_backend_sprintf_vma): Don't define.
518         (elf_backend_fprintf_vma): Likewise.
519         (elfNN_bed): Don't init removed fields.
520         * bfd.c (is32bit): New function.
521         (bfd_sprintf_vma, bfd_fprintf_vma): Use the above.
522
523 2007-09-11  Nathan Sidwell  <nathan@codesourcery.com>
524
525         * archures.c: Add bfd_mach_mcf_isa_c_nodiv,
526         bfd_mach_mcf_isa_c_nodiv_mac & bfd_mach_mcf_isa_c_nodiv_emac.
527         * ieee.c (ieee_write_processor): Update coldfire architecture
528         list.
529         * bfd-in2.h: Rebuilt.
530         * cpu-m68k.c (arch_info_struct): Add isa_c nodiv architectures.
531         (m68k_arch_features): Likewise.
532         * elf32-m68k.c (elf32_m68k_object_p): Add EF_M68K_CF_ISA_C_NODIV.
533         (elf32_m68k_print_private_bfd_data): Likewise.
534
535 2007-09-11  Jan Beulich  <jbeulich@novell.com>
536
537         * elf64-i386.c (elf64_i386_tls_transition): Remove redundant 'const'.
538         * elf64-x86_64.c (elf64_x86_64_tls_transition): Likewise.
539
540 2007-09-08  Alan Modra  <amodra@bigpond.net.au>
541
542         * elf64-ppc.c (func_desc_adjust): When resolving undefined
543         references to dot-symbols, transfer def_regular and
544         def_dynamic from the descriptor symbol.
545
546 2007-09-08  Alan Modra  <amodra@bigpond.net.au>
547
548         * config.bfd: Set want64 for spu-*-elf.
549
550 2007-09-08  Alan Modra  <amodra@bigpond.net.au>
551
552         PR ld/2864, ld/5006
553         * elf.c (special_sections): Comment typo.
554         (elf_fake_sections): Force SHT_PROGBITS for sections that are
555         SHT_NOBITS if BFD section flags say they have contents.
556
557 2007-09-04  Michael Snyder  <msnyder@access-company.com>
558
559         * elf32-bfin.c (howto_table): Cut and paste error?  
560         Name field of reloc is wrong.
561
562 2007-09-04  Alan Modra  <amodra@bigpond.net.au>
563
564         * elf32-spu.c (elf_howto_table): Formatting.
565
566 2007-09-02  H.J. Lu  <hongjiu.lu@intel.com>
567
568         PR ld/4986
569         * dwarf2.c (new_line_sorts_after): Undo the last change.
570         (add_line_info): Only keep the last entry with the same address
571         and end sequence.
572
573 2007-08-31  H.J. Lu  <hongjiu.lu@intel.com>
574
575         PR ld/4986
576         * dwarf2.c (new_line_sorts_after): Also compare line number.
577
578 2007-08-31  Jesse Michael  <jmichael@suse.de>
579
580         * mach-o.c (bfd_mach_o_make_bfd_section): Fix test for non
581         zerofill sections.
582
583 2007-08-28  David Heine  <dlheine@tensilica.com>
584
585         * elf32-xtensa.c (compute_ebb_actions): Update removed_bytes when
586         narrowing instructions.
587
588 2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
589             Joseph Myers  <joseph@codesourcery.com>
590
591         * elf32-arm.c (elf32_arm_compare_mapping): Compare first on vma,
592         then on type.
593
594 2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>
595
596         * config.bfd: Add support for i[3-7]86-*-dragonfly*.
597         * configure.in: Likewise.
598         * configure: Regenerate.
599
600 2007-08-25  Ulrich Weigand  <uweigand@de.ibm.com>
601             Alan Modra  <amodra@bigpond.net.au>
602
603         * elf.c (elfcore_grok_spu_note): New function.
604         (elf_parse_notes): Call it.
605
606 2007-08-24  H.J. Lu  <hongjiu.lu@intel.com>
607
608         * elf64-x86-64.c (elf64_x86_64_relocate_section): Adjust
609         indentation.
610
611 2007-08-24  Pedro Alves  <pedro_alves@portugalmail.pt>
612
613         * elf.c (elfcore_grok_win32pstatus): Remove HAVE_WIN32_PSTATUS_T
614         guard.  Make it host independent.
615         (elfcore_grok_note): Remove HAVE_WIN32_PSTATUS_T guard around
616         NT_WIN32PSTATUS.
617
618 2007-08-24  Jan Kratochvil  <jan.kratochvil@redhat.com>
619
620         * elf-bfd.h (struct elf_obj_tdata): New BUILD_ID_SIZE, BUILD_ID.
621         * elf.c (elfcore_read_notes): Split to ...
622         (elf_read_notes) ... here ...
623         (elf_parse_notes): ... and here.  Check `bfd_get_format (abfd)' with
624         the former subfunctions called only for BFD_CORE.
625         Call ELFOBJ_GROK_GNU_NOTE for BFD_OBJECT files with the owner "GNU".
626         (_bfd_elf_make_section_from_shdr): Call ELF_PARSE_NOTES for SHT_NOTEs.
627         (bfd_section_from_phdr): Update the call for renamed ELFCORE_READ_NOTES.
628         (elfobj_grok_gnu_build_id, elfobj_grok_gnu_note): New functions.
629         Code advisory: Roland McGrath
630
631 2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>
632
633         * elf64-mips.c (elf_backend_sign_extend_vma): Define.
634
635 2007-08-24  Alan Modra  <amodra@bigpond.net.au>
636
637         * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Warning fix.
638
639 2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
640
641         * Makefile.am: Run "make dep-am".
642         * Makefile.in: Regenerated.
643
644 2007-08-23  H.J. Lu  <hongjiu.lu@intel.com>
645
646         * elf32-i386.c: Include "bfd_stdint.h".
647         (elf_i386_rtype_to_howto): New function.
648         (elf_i386_info_to_howto_rel): Use it.
649         (x86_64_opcode16): New union type.
650         (elf_i386_check_tls_transition): New function.
651         (elf_i386_tls_transition): Updated to check transition and
652         issue an error if a transition isn't supported.
653         (elf_i386_check_relocs): Return FALSE if
654         elf_i386_tls_transition returns FALSE.
655         (elf_i386_gc_sweep_hook): Likewise.
656         (elf_i386_relocate_section): Likewise. Remove BFD_ASSERT
657         on TLS transitions.
658
659         * elf64-x86-64.c: Include "bfd_stdint.h".
660         (x86_64_opcode16): New union type.
661         (x86_64_opcode32): Likewise.
662         (elf64_x86_64_check_tls_transition): New function.
663         (elf64_x86_64_tls_transition): Updated to check transition and
664         issue an error if a transition isn't supported.
665         (elf64_x86_64_check_relocs): Return FALSE if
666         elf64_x86_64_tls_transition returns FALSE.
667         (elf64_x86_64_gc_sweep_hook): Likewise.
668         (elf64_x86_64_relocate_section): Likewise. Remove BFD_ASSERT
669         on TLS transitions.
670
671 2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
672
673         * elfxx-ia64.c: Convert to ISO C90 prototypes.
674         (elfNN_hpux_backend_section_from_bfd_section): Make it static.
675
676 2007-08-22  H.J. Lu  <hongjiu.lu@intel.com>
677
678         * elf64-x86-64.c: Remove trailing whitespace.
679         * elfxx-ia64.c: Likewise.
680
681 2007-08-21  H.J. Lu  <hongjiu.lu@intel.com>
682
683         * elf32-i386.c (elf_i386_tls_transition): Accept a pointer
684         to ELF hash entry instead of an integer for local test.
685         (elf_i386_check_relocs): Updated.
686         (elf_i386_gc_sweep_hook): Likewise.
687         (elf_i386_relocate_section): Likewise.
688
689         * elf64-x86-64.c  (elf64_x86_64_tls_transition): Accept a
690         pointer to ELF hash entry instead of an integer for local
691         test.
692         (elf64_x86_64_check_relocs): Updated.
693         (elf64_x86_64_gc_sweep_hook): Likewise.
694         (elf64_x86_64_relocate_section): Likewise.
695
696 2007-08-20  H.J. Lu  <hongjiu.lu@intel.com>
697
698         * elf32-i386.c (elf_i386_tls_transition): Break long line.
699         * elf64-x86-64.c (elf64_x86_64_tls_transition): Likewise.
700
701 2007-08-20  Jan Kratochvil  <jan.kratochvil@redhat.com>
702
703         * elfxx-target.h [ELF_COMMONPAGESIZE && ELF_MAXPAGESIZE]
704         (ELF_MINPAGESIZE): Fixed its size guess.  Sanity checked its size.
705         (ELF_COMMONPAGESIZE, ELF_MAXPAGESIZE): Sanity checked their size.
706
707 2007-08-20  Nick Clifton  <nickc@redhat.com>
708
709         * elflink.c (elf_fixup_link_order): Rewrite conversion of
710         s->alignment_power into an offset mask in order to avoid a gcc
711         error message.
712
713 2007-08-17  Jakub Jelinek  <jakub@redhat.com>
714
715         * config.bfd: Handle sparcv*-*-linux-* the same as sparc-*-linux-*.
716         Change sparc64-*-linux-* to sparc64*-*-linux-*.
717
718 2007-08-17  Alan Modra  <amodra@bigpond.net.au>
719
720         * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
721
722 2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
723
724         * elf.c: Revert last change.
725
726 2007-08-16  H.J. Lu  <hongjiu.lu@intel.com>
727
728         * elf.c (get_segment_type): Change PT_GNU_STACK to PT_GNU_ATTR.
729         (bfd_section_from_phdr): Likewise.
730         (get_program_header_size): Likewise. Add a PT_GNU_ATTR segment
731         if there is an attribute section.
732         (_bfd_elf_map_sections_to_segments): Likewise.
733         (IS_SECTION_IN_INPUT_SEGMENT): Likewise.
734
735 2007-08-14  H.J. Lu  <hongjiu.lu@intel.com>
736
737         PR ld/4918
738         * elf32-i386.c (elf_i386_relocate_section): Allow R_386_PC32
739         on ___tls_get_addr for GD->LE/LD->LE transitions when not
740         building shared library.
741
742         * elf64-x86-64.c (elf64_x86_64_relocate_section): Allow
743         R_X86_64_PC32 on __tls_get_addr for GD->LE/LD->LE transitions
744         when not building shared library.
745
746 2007-08-14  Jan Kratochvil  <jan.kratochvil@redhat.com>
747
748         * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): LOADBASE is now
749         initialized only on the first PT_LOAD.  New variable LOADBASE_SET.
750         Removed PF_R checking for IA-64 vDSOs as redundant now.
751         Code advisory: Roland McGrath
752
753 2007-08-13  Richard Sandiford  <richard@codesourcery.com>
754
755         * elfxx-mips.c (mips_elf_link_hash_table): Add computed_got_sizes.
756         (mips_elf_record_global_got_symbol): Increment local_gotno for
757         each forced-local symbol.
758         (_bfd_mips_elf_check_relocs): Pass forced-local call symbols to
759         mips_elf_record_global_got_symbol for VxWorks too.
760         (_bfd_mips_elf_always_size_sections): Set computed_got_sizes
761         to true after computing the GOT size.
762         (_bfd_mips_elf_hide_symbol): Increase local_gotno whenever
763         got.offset == 1.  Only adjust global_gotno if computed_got_sizes.
764         For VxWorks, add a local entry when hiding a symbol that needs a
765         plt but has not been marked as needing a global got entry.
766         (_bfd_mips_elf_link_hash_table_create): Set computed_got_sizes to
767         false.
768
769 2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>
770
771         * coffgen.c (coff_get_normalized_symtab): Correct cast.
772
773 2007-08-13  Alan Modra  <amodra@bigpond.net.au>
774
775         * elf.c (elf_modify_segment_map): Add remove_empty_load param.
776         Don't remove empty PT_LOAD header if false.
777         (_bfd_elf_map_sections_to_segments): If user phdrs, pass false
778         to elf_modify_segment_map.
779         (assign_file_positions_for_load_sections): Pass false to
780         elf_modify_segment_map.
781
782 2007-08-13  Alan Modra  <amodra@bigpond.net.au>
783
784         * elf64-ppc.c (ADDI_R12_R12, LD_R11_0R2, LD_R2_0R2): Define.
785         Update stub comments.
786         (build_plt_stub): Build two variants, one without "addis".
787         (ppc_build_one_stub): Build stubs without "addis" if possible.
788         (ppc_size_one_stub): Size new stubs.
789
790 2007-08-11  Richard Sandiford  <richard@codesourcery.com>
791
792         * config.bfd (sh-*-vxworks): Define targ_underscore to "yes".
793
794 2007-08-09  Michael Snyder  <msnyder@access-company.com>
795
796         * aoutx.h (aout_get_external_symbols): Return if count is zero.
797
798 2007-08-09  H.J. Lu  <hongjiu.lu@intel.com>
799
800         PR ld/4909
801         * elf.c (print_segment_map): New function.
802         (assign_file_positions_for_load_sections): Call print_segment_map
803         when a section can't be allocated in segment.
804
805 2007-08-09  Jan Kratochvil  <jan.kratochvil@redhat.com>
806
807         * opncls.c (bfd_openr_iovec): Fix the OPEN parameter macro expansion.
808
809 2007-08-07  Nick Clifton  <nickc@redhat.com>
810
811         * po/bfd.pot: Updated template.
812         * po/BLD-POTFILES.in: Regenerate.
813
814 2007-08-07  Alan Modra  <amodra@bigpond.net.au>
815
816         * elf.c: (_bfd_elf_make_section_from_phdr): Properly handle
817         bss segments.
818
819 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
820
821         * Makefile.am (BUILD_HFILES): Clean bfd_stdint.h.
822         * Makefile.in: Regenerated.
823
824 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
825
826         * configure.in: Update version to 2.18.50.
827         * configure: Regenerated.
828
829 2007-08-06  Paul Brook  <paul@codesourcery.com>
830
831         * elf32-arm.c (elf32_arm_link_hash_entry): Add
832         plt_maybe_thumb_refcount.
833         (elf32_arm_link_hash_newfunc): Set plt_maybe_thumb_refcount.
834         (elf32_arm_copy_indirect_symbol): Ditto.
835         (elf32_arm_adjust_dynamic_symbol): Ditto.
836         (bfd_elf32_arm_process_before_allocation): Handle R_ARM_THM_JUMP24.
837         (arm_add_to_rel): Ditto.
838         (elf32_arm_final_link_relocate): Merge R_ARM_THM_JUMP24 with
839         R_ARM_THM_CALL.  Handle R_ARM_THM_JUMP19 against a PLT stub.
840         (elf32_arm_gc_sweep_hook): Call check_use_blx.  Update plt counts
841         for R_ARM_THM_JUMP24 and R_ARM_THM_JUMP19.
842         (elf32_arm_check_relocs): Update plt counts for R_ARM_THM_JUMP24
843         and R_ARM_THM_JUMP19.  
844         (allocate_dynrelocs): Use plt_maybe_thumb_refcount.
845         (elf32_arm_finish_dynamic_symbol): Ditto.
846         (elf32_arm_output_plt_map): Ditto.
847
848 2007-08-06  Daniel Jacobowitz  <dan@codesourcery.com>
849
850         * elf.c (rewrite_elf_program_header): Handle sections not sorted
851         by address.
852         (copy_elf_program_header): Likewise.
853
854 2007-08-04  H.J. Lu  <hongjiu.lu@intel.com>
855
856         * elf-bfd.h (xvec_get_elf_backend_data): Add const.
857
858         * elfcode.h (elf_object_p): Use xvec_get_elf_backend_data.
859         * elfcore.h (elf_core_file_p): Likewise.
860
861 2007-08-02  H.J. Lu  <hongjiu.lu@intel.com>
862
863         * coffcode.h (ALIGN_SET): Removed.
864         (ELIFALIGN_SET): Likewise.
865         (coff_set_alignment_hook): Handle IMAGE_SCN_ALIGN_128BYTES,
866         IMAGE_SCN_ALIGN_256BYTES, IMAGE_SCN_ALIGN_512BYTES,
867         IMAGE_SCN_ALIGN_1024BYTES, IMAGE_SCN_ALIGN_2048BYTES,
868         IMAGE_SCN_ALIGN_4096BYTES and IMAGE_SCN_ALIGN_8192BYTES.
869
870 2007-08-01  Michael Snyder  <msnyder@access-company.com>
871
872         * vms-tir.c (new_section): Fix cut and paste error.
873
874         * aoutx.h (aout_link_add_symbols): Return if count is zero.
875
876         * elf.c (bfd_elf_print_symbol): Macro dereferences pointer, so
877         pointer must be non-null.
878
879 2007-08-01  Tristan Gingold  <gingold@adacore.com>
880
881         * coffcode.h (coff_sort_func_alent): New function.
882         (coff_slurp_line_table): Sort line table if not already sorted.
883
884 2007-08-01  Jakub Jelinek  <jakub@redhat.com>
885
886         * elf.c (_bfd_elf_map_sections_to_segments): Work around buggy
887         GCC 3.4.x warning.
888
889 2007-08-01  Alan Modra  <amodra@bigpond.net.au>
890
891         * aoutx.h (swap_ext_reloc_in): Set howto to NULL for unknown
892         r_type.
893         (swap_std_reloc_in): Likewise.
894         (aout_link_input_section_std): Likewise.  Return with an error
895         on unexpected relocation type.
896         (aout_link_input_section_ext): Likewise.
897
898 2007-08-01  Alan Modra  <amodra@bigpond.net.au>
899
900         PR4694
901         * aoutx.h (final_link): Write a zero in first word of
902         stringtab if no symbols rather than corrupting last byte
903         of text/data.
904
905 2007-07-31  Jakub Jelinek  <jakub@redhat.com>
906
907         * elf.c (get_program_header_size): Adjacent loadable .note*
908         sections need just one PT_NOTE segment.
909         (_bfd_elf_map_sections_to_segments): Likewise.
910
911 2007-07-30  Michael Snyder  <msnyder@access-company.com>
912
913         * coffgen.c (_bfd_coff_read_internal_relocs): Revert change of
914         2007-07-26.  Buffer still in use, can't be freed.
915
916 2007-07-27  Michael Snyder  <msnyder@access-company.com>
917
918         * cofflink.c (coff_link_add_symbols): Return if count is zero.
919
920         * coff-i386.c (coff_i386_rtype_to_howto): Off by one error.
921
922         * aoutx.h (slurp_symbol_table): Return if count == 0.
923
924         * coffgen.c (_bfd_coff_read_internal_relocs): Return if count is zero.
925
926         * elf32-i386.c (elf_i386_check_relocs): Check for null pointer.
927
928 2007-07-27  H.J. Lu  <hongjiu.lu@intel.com>
929
930         * config.bfd (x86_64-*-mingw*): Don't include x86_64coff_vec.
931
932 2007-07-26  Michael Snyder  <msnyder@access-company.com>
933
934         * coff-i386.c (coff_i386_rtype_to_howto): Guard against null.
935
936         * linker.c (bfd_section_already_linked_table_insert): Change 
937         return type from void to boolean.  Return FALSE on failure.
938         (_bfd_generic_section_already_linked): Test return value of
939         bfd_section_already_linked_table_insert, call fatal on error.
940
941         * elflink.c (_bfd_elf_section_already_linked): Test return value
942         of bfd_section_already_linked_table_insert, call fatal on error.
943
944         * libbfd-in.h (bfd_section_already_linked_table_insert): Update
945         return type to bfd_boolean.
946
947         * libbfd.h: Regenerate.
948
949 2007-07-26  Adam Nemet  <anemet@caviumnetworks.com>
950
951         * archive.c (do_slurp_bsd_armap, do_slurp_coff_armap,
952         bfd_slurp_armap): Improve function comment.
953
954 2007-07-26  Michael Snyder  <msnyder@access-company.com>
955
956         * linker.c (already_linked_newfunc): Check for NULL return from
957         bfd_hash_allocate.
958
959         * coffgen.c (fixup_symbol_value): Guard against null; 
960         bfd_is_com_section will dereference the section pointer.
961
962         * syms.c (bfd_decode_symclass): Guard against NULL, since 
963         bfd_is_com_section dereferences the pointer.
964
965         * srec.c (srec_scan): Check for EOF (critical because return value
966         will be used as array index).
967
968         * coffgen.c (_bfd_coff_read_internal_relocs): If internal_relocs
969         are not to be cached, free the temporary buffer.
970
971         * aoutx.h (slurp_reloc_table): Return TRUE if reloc_size == zero
972         or count == zero.
973
974         * tekhex.c (first_phase): Check return value for null.
975
976         * elf.c (_bfd_elf_get_synthetic_symtab): Remove meaningless 
977         pointer increment.
978
979 2007-07-26  Alan Modra  <amodra@bigpond.net.au>
980
981         * elflink.c (_bfd_elf_fix_symbol_flags): Remove unnecessary
982         check on dynobj.  Remove bed shadow.
983
984         * srec.c (srec_get_section_contents): Return immediately on
985         count zero.  Check that offset and count are within section.
986         * libbfd.c (_bfd_generic_get_section_contents): Check that
987         offset + count does not overflow.
988
989         * srec.c (srec_canonicalize_symtab): Don't alloc when symcount
990         is zero.  Correct return value on error.
991         * mmo.c (mmo_canonicalize_symtab): Likewise.
992         * binary.c (binary_canonicalize_symtab) Correct return on error.
993
994 2007-07-26  Thiemo Seufer  <ths@mips.com>
995
996         * bfd.c (_bfd_set_gp_value): Use abort instead of BFD_FAIL.
997
998 2007-07-26  Alan Modra  <amodra@bigpond.net.au>
999
1000         * reloc.c (bfd_generic_get_relocated_section_contents): Avoid
1001         bfd_canonicalize_reloc call when bfd_get_reloc_upper_bound
1002         says there are no relocs.
1003
1004 2007-07-26  Doug Kwan  <dougkwan@google.com>
1005
1006         Speed up bfd_dwarf2_find_line.
1007         * dwarf2.c (struct dwarf2_debug): Add new fields to support function
1008         and variable info hash tables. Add last_comp_unit, info_hash_count,
1009         funcinfo_hash_table, varinfo_hash_table, hash_units_head.
1010         (struct comp_unit): Add prev_unit, cached.
1011         (struct info_list_node, struct info_hash_entry,
1012         struct info_hash_table): New.
1013         (info_hash_table_newfunc, create_info_hash_table,
1014         insert_info_hash_table, lookup_info_hash_table): New functions
1015         implementing function and variable info hash tables.
1016         (scan_unit_for_symbols): Add checks to make sure hash tables are
1017         consistent with compilation units.
1018         (comp_unit_maybe_decode_line_info): New function.
1019         (comp_unit_find_line): Use comp_unit_maybe_decode_line_info.
1020         (reverse_funcinfo_list, reverse_varinfo_list, comp_unit_hash_info,
1021         info_hash_lookup_funcinfo, info_hash_lookup_varinfo,
1022         stash_maybe_update_info_hash_table, stash_verify_info_hash_table,
1023         stash_maybe_enable_info_hash_tables, stash_find_line_fast): New
1024         functions. Make use of info hash tables to speed up
1025         bfd_dwarf2_find_line.
1026         (find_line): Use hash table for faster lookup if it is turned on.
1027         Also add code to maintain bi-directional link in comp units.
1028
1029 2007-07-25  Michael Snyder  <msnyder@access-company.com>
1030
1031         * coffgen.c (_bfd_coff_get_external_symbols): Nothing to be done
1032         if size == 0; return and avoid possible null pointer issues.
1033
1034 2007-07-25  Alan Modra  <amodra@bigpond.net.au>
1035
1036         * linker.c (generic_link_add_symbol_list): Warning fix.
1037
1038 2007-07-24  Michael Snyder  <msnyder@access-company.com>
1039
1040         * opncls.c (bfd_make_writable): Check return from bfd_malloc.
1041
1042         * elflink.c (bfd_elf_final_link): Avoid redundant frees -- return
1043         on bfd_malloc error rather than goto error_return.
1044
1045 2007-07-24  Alan Modra  <amodra@bigpond.net.au>
1046
1047         * elflink.c (_bfd_elf_link_just_syms, merge_sections_remove_hook,
1048         _bfd_elf_merge_sections, _bfd_elf_link_hash_newfunc,
1049         _bfd_elf_link_hash_copy_indirect, _bfd_elf_link_hash_hide_symbol,
1050         _bfd_elf_link_hash_table_init, _bfd_elf_link_hash_table_create,
1051         bfd_elf_set_dt_needed_name, bfd_elf_get_dyn_lib_class,
1052         bfd_elf_set_dyn_lib_class, bfd_elf_get_needed_list,
1053         bfd_elf_get_runpath_list, bfd_elf_get_dt_soname,
1054         bfd_elf_get_bfd_needed_list, struct elf_symbuf_symbol,
1055         struct elf_symbuf_head, struct elf_symbol, elf_sort_elf_symbol,
1056         elf_sym_name_compare, elf_create_symbuf,
1057         bfd_elf_match_symbols_in_sections,
1058         _bfd_elf_match_sections_by_type): Move to here..
1059         * elf.c: ..from here.
1060
1061 2007-07-23  Richard Sandiford  <richard@codesourcery.com>
1062
1063         * elflink.c (_bfd_elf_fix_symbol_flags): Only assert the type
1064         of weakdef->root.type if weakdef has no regular definition.
1065
1066 2007-07-22  Adam Nemet  <anemet@caviumnetworks.com>
1067
1068         * elfxx-mips.c (struct mips_elf_link_hash_table): Add new field
1069         small_data_overflow_reported.
1070         (_bfd_mips_elf_link_hash_table_create): Initialize it.
1071         (_bfd_mips_elf_relocate_section) <bfd_reloc_overflow>: Report
1072         small-data section overflow.
1073
1074 2007-07-19  Doug Kwan  <dougkwan@google.com>
1075
1076         PR binutils/4797
1077         * dwarf2.c: (find_line) Do not dereference functionname_ptr if
1078         do_line is true.
1079
1080 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
1081
1082         * elf32-xtensa.c (xtensa_callback_required_dependence): Ignore
1083         non-ELF sections.
1084
1085 2007-07-18  Bob Wilson  <bob.wilson@acm.org>
1086
1087         * elf32-xtensa.c (elf_xtensa_finish_dynamic_sections): Get section
1088         vma and size for dynamic tags from the output sections.
1089
1090 2007-07-18  Alan Modra  <amodra@bigpond.net.au>
1091
1092         * elf-bfd.h (struct sym_sec_cache): Delete "sec".  Add "shndx".
1093         * elf.c (bfd_section_from_r_symndx): Don't cache bfd section of
1094         symbol.  Instead cache ELF section index.  Remove redundant
1095         checks of st_shndx.
1096
1097 2007-07-15  Mike Frysinger  <vapier@gentoo.org>
1098
1099         * trad-core.c (NBPG): If not defined, set to getpagesize().
1100
1101 2007-07-13  Roland McGrath  <roland@redhat.com>
1102
1103         * elf-bfd.h (struct elf_obj_tdata): Revert last change.
1104         Add after_write_object_contents, after_write_object_contents_info.
1105         * elf.c (_bfd_elf_write_object_contents): Revert last change.
1106         Instead, call after_write_object_contents if set.
1107
1108 2007-07-12  Kai Tietz   <kai.tietz@onevision.com>
1109
1110         * bfd-in.h: (BFD_HOST_64BIT_LONG_LONG): New.
1111         (BFD_HOSTPTR_T): Host pointer type for casting a
1112         pointer to an integer type.
1113         (bfd_hostptr_t): The typedef of BFD_HOSTPTR_T.
1114         (sprintf_vma, fprintf_vma): Add support for long long prints.
1115         * bfd-in2.h: Regenerate.
1116         * configure.in: (BFD_HOST_64BIT_LONG_LONG): New.
1117         (BFD_HOSTPTR_T): Host pointer type for casting a
1118         pointer to an integer type. Default is "unsigned long".
1119         (AC_CHECK_SIZEOF(void *)): New.
1120         (host64): Set it if the pointer size is 8.
1121         * configure: Regenerate.
1122         * config.in: Add macro SIZEOF_VOID_P.
1123         * coffcode.h: Replace host ptr type assuming "long" with
1124         bfd_hostptr_t type.
1125         * coffgen.c: Likewise.
1126         * elf-eh-frame.c: Likewise.
1127         * peicode.h: Likewise.
1128
1129 2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
1130
1131         * Makefile.in: Regenerated.
1132
1133 2007-07-10  H.J. Lu  <hongjiu.lu@intel.com>
1134
1135         PR binutils/4756
1136         * simple.c (bfd_simple_get_relocated_section_content): Don't
1137         apply relocation on executable and shared library.
1138
1139 2007-07-10  Nathan Sidwell  <nathan@codesourcery.com>
1140
1141         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't eliminate
1142         copy relocs on vxworks.
1143
1144 2007-07-10  Alan Modra  <amodra@bigpond.net.au>
1145
1146         * elf32-arm.c (elf32_arm_size_info): Init checksum_contents field.
1147         * elf64-alpha.c (alpha_elf_size_info): Likewise.
1148         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
1149         * elf64-mips.c (mips_elf64_size_info): Likewise.
1150         * elf64-s390.c (s390_elf64_size_info): Likewise.
1151         * elf64-sparc.c (elf64_sparc_size_info): Likewise.
1152
1153 2007-07-09  H.J. Lu  <hongjiu.lu@intel.com>
1154
1155         * elflink.c (bfd_elf_record_link_assignment): Handle indirect
1156         symbol.
1157         (_bfd_elf_merge_symbol): Properly update normal symbol when
1158         overriding the versioned symbol from a dynamic library.
1159
1160 2007-07-09  Roland McGrath  <roland@redhat.com>
1161
1162         * elf-bfd.h (struct elf_obj_tdata): Add members
1163         emit_note_gnu_build_id and note_gnu_build_id_sec.
1164         * elf.c (_bfd_id_note_section_size): New global function.
1165         (read_hex, _bfd_elf_write_build_id_section): New static functions.
1166         (_bfd_elf_write_object_contents): Call _bfd_elf_write_build_id_section
1167         if emit_note_gnu_build_id is set.
1168         * Makefile.am (elf.lo): Update dependencies.
1169
1170         * elf-bfd.h (struct elf_size_info): Add checksum_contents hook.
1171         (bfd_elf32_checksum_contents, bfd_elf64_checksum_contents): Declare.
1172         * elfcode.h (elf_checksum_contents): New macro and function.
1173         (NAME(_bfd_elf,size_info)): Initialize checksum_contents hook.
1174
1175 2007-07-06  Michael Snyder  <msnyder@access-company.com>
1176
1177         * elflink.c (elf_link_add_object_symbols): Return via
1178         error_free_vers on "notice" failure.
1179
1180 2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>
1181
1182         * peicode.h (pe_bfd_object_p): Don't check PE vs. EFI target
1183         if arch is unknown.
1184
1185 2007-07-04  Nick Clifton  <nickc@redhat.com>
1186
1187         Import this patch from an internal tree:
1188
1189         2001-07-17  Richard Henderson  <rth@redhat.com>
1190
1191         * elf32-mep.c (mep_final_link_relocate) [R_MEP_HI16S]: Correctly
1192         compensate for high bit set in R_MEP_LOW16.
1193
1194 2007-07-03  Joseph Myers  <joseph@codesourcery.com>
1195
1196         * elf32-arm.c (elf32_arm_merge_eabi_attributes): Copy type from
1197         input attributes if value has been copied.
1198
1199 2007-07-03  Nick Clifton  <nickc@redhat.com>
1200
1201         * COPYING: Replace with GPLv3 text.
1202         * aix386-core.c: Update copyright notice to refer to GPLv3.
1203         * aix5ppc-core.c, aout0.c, aout32.c, aout64.c, aout-adobe.c,
1204         aout-arm.c, aout-cris.c, aoutf1.h, aout-ns32k.c, aout-sparcle.c,
1205         aout-target.h, aout-tic30.c, aoutx.h, archive64.c, archive.c,
1206         archures.c, armnetbsd.c, bfd.c, bfd-in.h, bfdio.c, bfdwin.c,
1207         binary.c, bout.c, cache.c, cf-i386lynx.c, cf-sparclynx.c,
1208         cisco-core.c, coff64-rs6000.c, coff-alpha.c, coff-apollo.c,
1209         coff-arm.c, coff-aux.c, coffcode.h, coffgen.c, coff-go32.c,
1210         coff-h8300.c, coff-h8500.c, coff-i386.c, coff-i860.c, coff-i960.c,
1211         coff-ia64.c, cofflink.c, coff-m68k.c, coff-m88k.c, coff-maxq.c,
1212         coff-mcore.c, coff-mips.c, coff-or32.c, coff-pmac.c, coff-ppc.c,
1213         coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c,
1214         coff-svm68k.c, coffswap.h, coff-tic30.c, coff-tic4x.c,
1215         coff-tic54x.c, coff-tic80.c, coff-u68k.c, coff-w65.c,
1216         coff-we32k.c, coff-x86_64.c, coff-z80.c, coff-z8k.c, corefile.c,
1217         cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c, cpu-bfin.c,
1218         cpu-cr16.c, cpu-cr16c.c, cpu-cris.c, cpu-crx.c, cpu-d10v.c,
1219         cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c, cpu-h8300.c,
1220         cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c, cpu-i860.c,
1221         cpu-i960.c, cpu-ia64.c, cpu-ia64-opc.c, cpu-ip2k.c, cpu-iq2000.c,
1222         cpu-m10200.c, cpu-m10300.c, cpu-m32c.c, cpu-m32r.c, cpu-m68hc11.c,
1223         cpu-m68hc12.c, cpu-m68k.c, cpu-m88k.c, cpu-maxq.c, cpu-mcore.c,
1224         cpu-mep.c, cpu-mips.c, cpu-mmix.c, cpu-msp430.c, cpu-mt.c,
1225         cpu-ns32k.c, cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c,
1226         cpu-powerpc.c, cpu-rs6000.c, cpu-s390.c, cpu-score.c, cpu-sh.c,
1227         cpu-sparc.c, cpu-spu.c, cpu-tic30.c, cpu-tic4x.c, cpu-tic54x.c,
1228         cpu-tic80.c, cpu-v850.c, cpu-vax.c, cpu-w65.c, cpu-we32k.c,
1229         cpu-xc16x.c, cpu-xstormy16.c, cpu-xtensa.c, cpu-z80.c, cpu-z8k.c,
1230         demo64.c, doc/chew.c, dwarf1.c, dwarf2.c, ecoff.c, ecofflink.c,
1231         ecoffswap.h, efi-app-ia32.c, efi-app-ia64.c, efi-app-x86_64.c,
1232         elf32-am33lin.c, elf32-arc.c, elf32-arm.c, elf32-avr.c,
1233         elf32-avr.h, elf32-bfin.c, elf32.c, elf32-cr16.c, elf32-cr16c.c,
1234         elf32-cris.c, elf32-crx.c, elf32-d10v.c, elf32-d30v.c,
1235         elf32-dlx.c, elf32-fr30.c, elf32-frv.c, elf32-gen.c,
1236         elf32-h8300.c, elf32-hppa.c, elf32-hppa.h, elf32-i370.c,
1237         elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
1238         elf32-iq2000.c, elf32-m32c.c, elf32-m32r.c, elf32-m68hc11.c,
1239         elf32-m68hc12.c, elf32-m68hc1x.c, elf32-m68hc1x.h, elf32-m68k.c,
1240         elf32-m88k.c, elf32-mcore.c, elf32-mep.c, elf32-mips.c,
1241         elf32-msp430.c, elf32-mt.c, elf32-openrisc.c, elf32-or32.c,
1242         elf32-pj.c, elf32-ppc.c, elf32-ppc.h, elf32-s390.c, elf32-score.c,
1243         elf32-sh64.c, elf32-sh64-com.c, elf32-sh64.h, elf32-sh.c,
1244         elf32-sh-symbian.c, elf32-sparc.c, elf32-spu.c, elf32-spu.h,
1245         elf32-v850.c, elf32-vax.c, elf32-xc16x.c, elf32-xstormy16.c,
1246         elf32-xtensa.c, elf64-alpha.c, elf64.c, elf64-gen.c, elf64-hppa.c,
1247         elf64-hppa.h, elf64-mips.c, elf64-mmix.c, elf64-ppc.c,
1248         elf64-ppc.h, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
1249         elf64-x86-64.c, elf-attrs.c, elf-bfd.h, elf.c, elfcode.h,
1250         elfcore.h, elf-eh-frame.c, elf-hppa.h, elflink.c, elf-m10200.c,
1251         elf-m10300.c, elfn32-mips.c, elf-strtab.c, elf-vxworks.c,
1252         elf-vxworks.h, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
1253         elfxx-sparc.c, elfxx-sparc.h, elfxx-target.h, epoc-pe-arm.c,
1254         epoc-pei-arm.c, format.c, freebsd.h, gen-aout.c, genlink.h,
1255         hash.c, host-aout.c, hosts/alphavms.h, hp300bsd.c, hp300hpux.c,
1256         hppabsd-core.c, hpux-core.c, i386aout.c, i386bsd.c, i386dynix.c,
1257         i386freebsd.c, i386linux.c, i386lynx.c, i386mach3.c, i386msdos.c,
1258         i386netbsd.c, i386os9k.c, ieee.c, ihex.c, init.c, irix-core.c,
1259         libaout.h, libbfd.c, libbfd-in.h, libcoff-in.h, libecoff.h,
1260         libhppa.h, libieee.h, libnlm.h, liboasys.h, libpei.h, libxcoff.h,
1261         linker.c, lynx-core.c, m68k4knetbsd.c, m68klinux.c, m68knetbsd.c,
1262         m88kmach3.c, m88kopenbsd.c, mach-o.c, mach-o.h, mach-o-target.c,
1263         mep-relocs.pl, merge.c, mipsbsd.c, mmo.c, netbsd-core.c, netbsd.h,
1264         newsos3.c, nlm32-alpha.c, nlm32.c, nlm32-i386.c, nlm32-ppc.c,
1265         nlm32-sparc.c, nlm64.c, nlm.c, nlmcode.h, nlmswap.h, nlm-target.h,
1266         ns32k.h, ns32knetbsd.c, oasys.c, opncls.c, osf-core.c,
1267         pc532-mach.c, pdp11.c, pe-arm.c, pe-arm-wince.c, pef.c, pef.h,
1268         pef-traceback.h, pe-i386.c, pei-arm.c, pei-arm-wince.c, peicode.h,
1269         pei-i386.c, pei-mcore.c, pei-mips.c, pei-ppc.c, pei-sh.c,
1270         pei-x86_64.c, pe-mcore.c, pe-mips.c, pe-ppc.c, pe-sh.c,
1271         pe-x86_64.c, peXXigen.c, ppcboot.c, ptrace-core.c, reloc16.c,
1272         reloc.c, riscix.c, rs6000-core.c, sco5-core.c, section.c,
1273         simple.c, som.c, som.h, sparclinux.c, sparclynx.c, sparcnetbsd.c,
1274         srec.c, stabs.c, stab-syms.c, stamp-h.in, sunos.c, syms.c,
1275         sysdep.h, targets.c, targmatch.sed, tekhex.c, ticoff.h,
1276         trad-core.c, vax1knetbsd.c, vaxbsd.c, vaxnetbsd.c, versados.c,
1277         vms.c, vms-gsd.c, vms.h, vms-hdr.c, vms-misc.c, vms-tir.c,
1278         xcofflink.c, xcoff-target.h, xsym.c, xsym.h, xtensa-isa.c,
1279         xtensa-modules.c: Likewise.
1280         * elf32-sh-relocs.h: Add copyright notice.
1281         * hosts/alphalinux.h, hosts/decstation.h, hosts/delta68.h,
1282         hosts/dpx2.h, hosts/hp300bsd.h, hosts/i386bsd.h,
1283         hosts/i386linux.h, hosts/i386mach3.h, hosts/i386sco.h,
1284         hosts/i860mach3.h, hosts/m68kaux.h, hosts/m68klinux.h,
1285         hosts/m88kmach3.h, hosts/mipsbsd.h, hosts/mipsmach3.h,
1286         hosts/news.h, hosts/news-mips.h, hosts/pc532mach.h,
1287         hosts/riscos.h, hosts/symmetry.h, hosts/tahoe.h, hosts/vaxbsd.h,
1288         hosts/vaxlinux.h, hosts/vaxult2.h, hosts/vaxult.h: Likewise.
1289         * bfd-in2.h, libbfd.h, libcoff.h: Regenerate.
1290
1291 2007-07-02  Joseph Myers  <joseph@codesourcery.com>
1292
1293         * elfxx-mips.c (mips_elf_calculate_relocation): Handle
1294         R_MIPS_TLS_DTPREL32 and R_MIPS_TLS_DTPREL64.
1295         * elf64-mips.c (mips_elf64_howto_table_rela): Support
1296         R_MIPS_TLS_DTPREL64.
1297
1298 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
1299
1300         * Makefile.am: Run "make dep-am".
1301         * Makefile.in: Regenerate.
1302         * aclocal.m4: Regenerate.
1303         * config.in: Regenerate.
1304         * po/SRC-POTFILES.in: Regenerate.
1305         * po/bfd.pot: Regenerate.
1306
1307 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
1308
1309         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Tidy
1310         symsec != NULL tests.
1311
1312 2007-07-02  Alan Modra  <amodra@bigpond.net.au>
1313
1314         PR 4712
1315         * elf.c (assign_file_positions_for_load_sections): Adjust lma
1316         by p_vaddr_offset.
1317
1318 2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>
1319
1320         * aclocal.m4: Regenerated.
1321         * Makefile.in: Likewise.
1322
1323 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
1324
1325         * elf32-ppc.c (ppc_elf_merge_obj_attributes): New.
1326         (ppc_elf_merge_private_bfd_data): Call it.
1327
1328 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
1329
1330         * elfxx-mips.c (mips_elf_merge_obj_attributes): New.
1331         (_bfd_mips_elf_merge_private_bfd_data): Call it.
1332
1333 2007-06-29  Joseph Myers  <joseph@codesourcery.com>
1334
1335         * elf-attrs.c: New.
1336         * Makefile.am (BFD32_BACKENDS): Add elf-attrs.lo.
1337         (BFD32_BACKENDS_CFILES): Add elf-attrs.c.
1338         (elf-attrs.lo): Generate dependencies.
1339         * Makefile.in: Regenerate.
1340         * configure.in (elf): Add elf-attrs.lo.
1341         * configure: Regenerate.
1342         * elf-bfd.h (struct elf_backend_data): Add entries for object
1343         attributes.
1344         (NUM_KNOWN_OBJ_ATTRIBUTES, obj_attribute, obj_attribute_list,
1345         OBJ_ATTR_PROC, OBJ_ATTR_GNU, OBJ_ATTR_FIRST, OBJ_ATTR_LAST,
1346         Tag_NULL, Tag_File, Tag_Section, Tag_Symbol, Tag_compatibility):
1347         New.
1348         (struct elf_obj_tdata): Add entries for object attributes.
1349         (elf_known_obj_attributes, elf_other_obj_attributes,
1350         elf_known_obj_attributes_proc, elf_other_obj_attributes_proc):
1351         New.
1352         (bfd_elf_obj_attr_size, bfd_elf_set_obj_attr_contents,
1353         bfd_elf_get_obj_attr_int, bfd_elf_add_obj_attr_int,
1354         bfd_elf_add_proc_attr_int, bfd_elf_add_obj_attr_string,
1355         bfd_elf_add_proc_attr_string, bfd_elf_add_obj_attr_compat,
1356         bfd_elf_add_proc_attr_compat, _bfd_elf_attr_strdup,
1357         _bfd_elf_copy_obj_attributes, _bfd_elf_obj_attrs_arg_type,
1358         _bfd_elf_parse_attributes, _bfd_elf_merge_object_attributes): New.
1359         * elf.c (_bfd_elf_copy_private_bfd_data): Copy object attributes.
1360         (bfd_section_from_shdr): Handle attributes sections.
1361         * elflink.c (bfd_elf_final_link): Handle attributes sections.
1362         * elfxx-target.h (elf_backend_obj_attrs_vendor,
1363         elf_backend_obj_attrs_section, elf_backend_obj_attrs_arg_type,
1364         elf_backend_obj_attrs_section_type): New.
1365         (elfNN_bed): Update.
1366         * elf32-arm.c (NUM_KNOWN_ATTRIBUTES, aeabi_attribute,
1367         aeabi_attribute_list): Remove.
1368         (struct elf32_arm_obj_tdata): Remove object attributes fields.
1369         (check_use_blx, bfd_elf32_arm_set_vfp11_fix, using_thumb2,
1370         elf32_arm_copy_private_bfd_data, elf32_arm_merge_eabi_attributes):
1371         Update for new object attributes interfaces.
1372         (uleb128_size, is_default_attr, eabi_attr_size,
1373         elf32_arm_eabi_attr_size, write_uleb128, write_eabi_attribute,
1374         elf32_arm_set_eabi_attr_contents, elf32_arm_bfd_final_link,
1375         elf32_arm_new_eabi_attr, elf32_arm_get_eabi_attr_int,
1376         elf32_arm_add_eabi_attr_int, attr_strdup,
1377         elf32_arm_add_eabi_attr_string, elf32_arm_add_eabi_attr_compat,
1378         copy_eabi_attributes, elf32_arm_parse_attributes): Remove.  Moved
1379         to generic code in elf-attrs.c.
1380         (elf32_arm_obj_attrs_arg_type): New.
1381         (elf32_arm_fake_sections): Do not handle .ARM.attributes.
1382         (elf32_arm_section_from_shdr): Do not handle SHT_ARM_ATTRIBUTES.
1383         (bfd_elf32_bfd_final_link): Remove.
1384         (elf_backend_obj_attrs_vendor, elf_backend_obj_attrs_section,
1385         elf_backend_obj_attrs_arg_type,
1386         elf_backend_obj_attrs_section_type): New.
1387         * elf32-bfin.c (bfin_elf_copy_private_bfd_data): Copy object
1388         attributes.
1389         * elf32-frv.c (frv_elf_copy_private_bfd_data): Likewise.
1390         * elf32-iq2000.c (iq2000_elf_copy_private_bfd_data): Likewise.
1391         * elf32-mep.c (mep_elf_copy_private_bfd_data): Likewise.
1392         * elf32-mt.c (mt_elf_copy_private_bfd_data): Likewise.
1393         * elf32-sh.c (sh_elf_copy_private_data): Likewise.
1394         * elf64-sh64.c (sh_elf64_copy_private_data_internal): Likewise.
1395
1396 2007-06-29  Paul Brook  <paul@codesourcery.com>
1397
1398         * elf32-arm.c (bfd_elf32_arm_process_before_allocation): Suppress
1399         call veneers for call relocations against undefined symbols.
1400         (elf32_arm_final_link_relocate): Turn call to undefined symbol
1401         into a jump to the next instruction.
1402
1403 2007-06-29  Michael Snyder  <msnyder@access-company.com>
1404
1405         * bfd.c (bfd_demangle): Plug memory leak (Coverity).
1406
1407 2007-06-29  M R Swami Reddy  <MR.Swami.Reddy@nsc.com>
1408
1409         * Makefile.am: Add cr16 related entry
1410         * Makefile.in: Regenerate
1411         * archures.c: Add bfd_cr16_arch
1412         * bfd-in2.h: Regenerate
1413         * config.bfd: Add cr16-elf
1414         * configure.in: Add bfd_elf32_cr16_vec
1415         * configure: Regenerate.
1416         * targets.c: Added cr16 related information
1417         * cpu-cr16.c: New file.
1418         * elf32-cr16.c: New file.
1419         * reloc.c: Added cr16 relocs.
1420
1421 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1422
1423         * elflink.c (_bfd_elf_link_assign_sym_version): Improve error
1424         message for undefined version nodes.
1425         (elf_gc_sweep): Don't warn when zero size sections are
1426         removed.
1427
1428 2007-06-29  Nathan Froyd  <froydnj@codesourcery.com>
1429
1430         * elf32-ppc.c (ppc_elf_info_to_howto): Check for invalid relocation
1431         types.
1432
1433 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1434
1435         * elf32-spu.c (spu_elf_fake_sections): New function.
1436         (elf_backend_fake_sections): Define.
1437
1438 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1439
1440         * elf.c (assign_file_positions_for_load_sections): Use elf
1441         section header sh_size rather than bfd section size, simplifying
1442         .tbss handling.
1443
1444 2007-06-29  Alan Modra  <amodra@bigpond.net.au>
1445
1446         PR ld/4701
1447         * elf.c (assign_file_positions_for_load_sections): Ensure bss
1448         segments meet gABI alignment requirements.  Don't allocate
1449         file space for bss sections in a segment also containing file
1450         or program headers.
1451
1452 2007-06-27  Alan Modra  <amodra@bigpond.net.au>
1453
1454         * bfd.c (struct bfd): Rename "next" to "archive_next".
1455         * archive.c: Rename uses throughout file.
1456         * archive64.c: Likewise.
1457         * coff-rs6000.c: Likewise.
1458         * ecoff.c: Likewise.
1459         * som.c: Likewise.
1460         * bfd-in2.h: Regenerate.
1461
1462         * elf32-ppc.c (ppc_elf_select_plt_layout): Properly iterate over
1463         input bfds.
1464         * elf32-spu.c (spu_elf_create_sections): Likewise.
1465
1466 2007-06-26  H.J. Lu  <hongjiu.lu@intel.com>
1467
1468         * dwarf2.c (find_line): New.  Contains the duplicated code from:
1469         (_bfd_dwarf2_find_nearest_line): Use it.
1470         (_bfd_dwarf2_find_line): Use it.
1471
1472 2007-06-26  Joseph Myers  <joseph@codesourcery.com>
1473
1474         * elf32-arm.c (copy_eabi_attributes): Copy type of attributes.
1475
1476 2007-06-25  Richard Sandiford  <richard@codesourcery.com>
1477
1478         * elfxx-mips.c (mips_elf_calculate_relocation): Allow local stubs
1479         to be used for calls from MIPS16 code.
1480
1481 2007-06-23  Andreas Schwab  <schwab@suse.de>
1482
1483         * configure.in (--with-separate-debug-dir): New option.
1484         * configure: Regenerate.
1485         * Makefile.am (dwarf2.lo): Add rule to pass DEBUGDIR.
1486         * Makefile.in: Regenerate.
1487         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Pass DEBUGDIR to
1488         bfd_follow_gnu_debuglink.
1489         (_bfd_dwarf2_find_line): Likewise.
1490
1491 2007-06-22  Nick Clifton  <nickc@redhat.com>
1492
1493         * dwarf2.c: Add support for reading in debug information via a
1494         .gnu_debuglink section:
1495         (struct dwarf2_debug): Add bfd field to record the bfd containing
1496         the debug info.
1497         (parse_comp_unit): Remove ABFD parameter.  Instead use the bfd
1498         field in the dwarf2_debug structure.
1499         (_bfd_dwarf2_find_nearest_line): If a debug info section could not
1500         be found in the current bfd call bfd_follow_gnu_debuglink to see
1501         if another file contains the debug information.  If it does, open
1502         it and continue.
1503         (_bfd_dwarf2_find_line): Likewise.
1504
1505 2007-06-19  H.J. Lu  <hongjiu.lu@intel.com>
1506
1507         PR ld/4590
1508         * elfxx-ia64.c (sort_dyn_sym_info): Keep the valid got_offset
1509         when removing duplicated entries.
1510         (get_dyn_sym_info): Initialize the got_offset field to -1.
1511         Update call to sort_dyn_sym_info.
1512         (elfNN_ia64_relocate_section): Call sort_dyn_sym_info to sort
1513         array of addend and remove duplicates.
1514
1515 2007-06-18  H.J. Lu  <hongjiu.lu@intel.com>
1516
1517         * libpei.h (_bfd_XXi_final_link_postscript): Remove
1518         duplication.
1519         (bfd_target_pei_p): New.
1520         (bfd_target_pei_arch): New
1521         (bfd_target_efi_p): Likewise.
1522         (bfd_target_efi_arch): New
1523         (bfd_pe_executable_p): Use bfd_target_pei_p and
1524         bfd_target_efi_p.
1525
1526         * peicode.h (arch_type): New enum.
1527         (pe_arch): New function.
1528         (pe_bfd_object_p): Don't match PE/EFI target with EFI/PE file
1529         if there is an EFI/PE target.
1530
1531 2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>
1532
1533         * Makefile.am (ACLOCAL_AMFLAGS): Add -I . -I ../config.
1534
1535         * acinclude.m4: Don't include m4 files. Remove libtool
1536         kludge.
1537
1538         * Makefile.in: Regenerated.
1539         * aclocal.m4: Likewise.
1540         * configure: Likewise.
1541
1542 2007-06-11  Sterling Augustine  <sterling@tensilica.com>
1543             Bob Wilson  <bob.wilson@acm.org>
1544
1545         * elf32-xtensa.c (extend_ebb_bounds_forward): Use renamed
1546         XTENSA_PROP_NO_TRANSFORM flag instead of XTENSA_PROP_INSN_NO_TRANSFORM.
1547         (extend_ebb_bounds_backward, compute_text_actions): Likewise.
1548         (compute_ebb_proposed_actions, coalesce_shared_literal): Likewise.
1549         (xtensa_get_property_predef_flags): Likewise.
1550         (compute_removed_literals): Pass new arguments to is_removable_literal.
1551         (is_removable_literal): Add sec, prop_table and ptblsize arguments.
1552         Do not remove literal if the NO_TRANSFORM property flag is set.
1553
1554 2007-05-31  Richard Sandiford  <rsandifo@nildram.co.uk>
1555
1556         * elfxx-mips.c (mips_elf_initialize_tls_index): When processing a
1557         type (3) single-GOT entry, read tls_type from the hash table entry
1558         rather than the GOT entry.
1559
1560 2007-06-01  Alan Modra  <amodra@bigpond.net.au>
1561
1562         * simple.c (bfd_simple_get_relocated_section_contents): Init
1563         input_bfds_tail.
1564
1565 2007-05-30  Alan Modra  <amodra@bigpond.net.au>
1566
1567         * elf.c (elf_fake_sections): Adjust test for SHT_NOBITS sections
1568         created by objcopy --only-keep-debug.
1569         (_bfd_elf_init_private_section_data): Only change elf_section_type
1570         if it is SHT_NULL.
1571
1572         * elf.c (assign_file_positions_for_load_sections): Correct sh_type
1573         to SHT_NOBITS earlier.  Base actions in rest of function on sh_type
1574         and sh_flags instead of bfd section flags.  Delete voff and code
1575         keeping nobits segments aligned.
1576
1577 2007-05-25  Eric Christopher  <echristo@apple.com>
1578
1579         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame):
1580         Check that sym_sec isn't NULL before accessing.
1581
1582 2007-05-24  Steve Ellcey  <sje@cup.hp.com>
1583
1584         * Makefile.in: Regnerate.
1585         * configure: Regenerate.
1586         * aclocal.m4: Regenerate.
1587         * doc/Makefile.in: Regenerate.
1588
1589 2007-05-22  Paul Brook  <paul@codesourcery.com>
1590
1591         * elf32-arm.c (output_arch_syminfo): Replace plt_shndx and plt_offset
1592         with sec and sec_shndx.
1593         (elf32_arm_ouput_plt_map_sym): Use them.
1594         (elf32_arm_output_arch_local_syms): Output mapping symbols for
1595         interworking glue.
1596
1597 2007-05-18  Paul Brook  <paul@codesourcery.com>
1598
1599         * elf32-arm.c (ARM2THUMB_V5_STATIC_GLUE_SIZE): Define.
1600         (a2t1v5_ldr_insn, a2t1v5_ldr_insn): New.
1601         (record_arm_to_thumb_glue): Add v5t non-pic glue.
1602         (elf32_arm_create_thumb_stub): Ditto.
1603
1604 2007-05-16  H.J. Lu  <hongjiu.lu@intel.com>
1605             Alan Modra  <amodra@bigpond.net.au>
1606
1607         * elflink.c (_bfd_elf_adjust_dynamic_copy): Align dynamic bss
1608         section to the minimum alignment.
1609
1610 2007-05-15  H.J. Lu  <hongjiu.lu@intel.com>
1611             Alan Modra  <amodra@bigpond.net.au>
1612
1613         PR ld/4504
1614         * elf-bfd.h (_bfd_elf_adjust_dynamic_copy): New.
1615         * elflink.c (_bfd_elf_adjust_dynamic_copy): New.
1616
1617         * elf-m10300.c (_bfd_mn10300_elf_adjust_dynamic_symbol): Call
1618         _bfd_elf_adjust_dynamic_copy to adjust for the copy in dynamic
1619         bss section.
1620         * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Likewise.
1621         * elf32-cris.c (elf_cris_adjust_dynamic_symbol): Likewise.
1622         * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol): Likewise.
1623         * elf32-i370.c (i370_elf_adjust_dynamic_symbol): Likewise.
1624         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Likewise.
1625         * elf32-m32r.c (m32r_elf_adjust_dynamic_symbol): Likewise.
1626         * elf32-m68k.c (elf_m68k_adjust_dynamic_symbol): Likewise.
1627         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Likewise.
1628         * elf32-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1629         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Likewise.
1630         * elf32-vax.c (elf_vax_adjust_dynamic_symbol): Likewise.
1631         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Likewise.
1632         * elf64-s390.c (elf_s390_adjust_dynamic_symbol): Likewise.
1633         * elf64-sh64.c (sh64_elf64_adjust_dynamic_symbol): Likewise.
1634         * elf64-x86-64.c (elf64_x86_64_adjust_dynamic_symbol): Likewise.
1635         * elfxx-mips.c (_bfd_mips_vxworks_adjust_dynamic_symbol): Likewise.
1636         * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol): Likewise.
1637
1638 2007-05-15  Richard Sandiford  <richard@codesourcery.com>
1639
1640         * elfxx-mips.c (mips_elf_create_local_got_entry): Remove
1641         input_section argument.  Create .rela.dyn relocations against
1642         symbol 0 rather than the section symbol.
1643         (mips_elf_local_got_index): Remove input_section argument.
1644         Update call to mips_elf_create_local_got_entry.
1645         (mips_elf_got_page, mips_elf_got16_entry): Likewise.
1646         (mips_elf_calculate_relocation): Update calls to
1647         mips_elf_local_got_index, mips_elf_got16_entry and mips_elf_got_page.
1648
1649 2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>
1650
1651         * elf32-arm.c (elf32_arm_final_link_relocate): Correctly
1652         handle the Thumb-2 JUMP19 relocation.
1653
1654 2007-05-15  Alan Modra  <amodra@bigpond.net.au>
1655
1656         PR 4479
1657         * elf.c (elf_fake_sections): Don't allow backend to change
1658         SHT_NOBITS if called for strip/objcopy --only-keep-debug.
1659         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove similar
1660         fix from here.
1661
1662 2007-05-14  Alan Modra  <amodra@bigpond.net.au>
1663
1664         * elf.c (bfd_elf_string_from_elf_section): Return NULL on
1665         invalid shstrndx.
1666         (bfd_elf_get_str_section): Likewise.
1667
1668 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
1669
1670         PR 4497
1671         * elf-eh-frame.c (struct cie): Add "local_personality".  Make
1672         "personality" a union.
1673         (cie_eq): Compare local_personality too.  Adjust personality
1674         comparison.
1675         (_bfd_elf_discard_section_eh_frame): Check binding on personality
1676         reloc sym to allow for bad symtab.  Use stashed local syms rather
1677         than reading personality local sym.  Handle discarded sections.
1678
1679 2007-05-12  Alan Modra  <amodra@bigpond.net.au>
1680
1681         * elf32-spu.c (elf_howto_table): Add howto for R_SPU_ADDR16X.
1682
1683 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1684
1685         * elf32-ppc.h (ppc_elf_select_plt_layout): Update prototype.
1686         (enum ppc_elf_plt_type): Move from..
1687         * elf32-ppc.c: ..here.
1688         (struct ppc_elf_obj_tdata): Add makes_plt_call and has_rel16.
1689         (struct ppc_elf_link_hash_table): Reorder.  Add old_bfd.  Delete
1690         can_use_new_plt.  Make is_vxworks a bitfield.
1691         (ppc_elf_link_hash_table_create): Don't clear is_vxworks (again).
1692         (ppc_elf_check_relocs): Update setting of reloc flags.  Set old_bfd.
1693         (ppc_elf_select_plt_layout): Modify parameters.  Use bfd reloc
1694         flags to better detect object files needing old bss-style plt.
1695         Allow secure plt to be used without rel16 relocs being detected.
1696         Warn if secure plt request cannot be allowed.
1697
1698 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1699
1700         * reloc.c (BFD_RELOC_SPU_PPU32, BFD_RELOC_SPU_PPU64): Define.
1701         * elf-bfd.h (struct elf_backend_data): Change return type of
1702         elf_backend_relocate_section to int.
1703         * elf32-spu.c (elf_howto_table): Add howtos for R_SPU_PPU32 and
1704         R_SPU_PPU64.
1705         (spu_elf_bfd_to_reloc_type): Convert new relocs.
1706         (spu_elf_count_relocs): New function.
1707         (elf_backend_count_relocs): Define.
1708         (spu_elf_relocate_section): Arrange to emit R_SPU_PPU32 and
1709         R_SPU_PPU64 relocs.
1710         * elflink.c (elf_link_input_bfd): Emit relocs if relocate_section
1711         returns 2.
1712         * bfd-in2.h: Regenerate.
1713         * libbfd.h: Regenerate.
1714
1715 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
1716
1717         * elf32-arm.c (elf32_arm_check_relocs): Don't create PLT entries
1718         for R_ARM_ABS12 relocs.
1719         (elf32_arm_finish_dynamic_symbol): Fix the loop that creates
1720         non-shared VxWorks PLT entries.
1721
1722 2007-05-11  Alan Modra  <amodra@bigpond.net.au>
1723
1724         PR 4454
1725         * elf-eh-frame.c (struct cie): Make "personality" a bfd_vma.
1726         (_bfd_elf_discard_section_eh_frame): Handle local syms on
1727         personality relocation.
1728
1729 2007-05-10  Richard Sandiford  <richard@codesourcery.com>
1730
1731         * elf.c (assign_file_positions_for_load_sections): Use p_memsz
1732         rather than p_filesz to calculate the LMA of the end of a segment.
1733
1734 2007-05-10  Jakub Jelinek  <jakub@redhat.com>
1735
1736         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Don't do copyreloc
1737         processing if symbol is defined in the executable.
1738
1739 2007-05-10  Alexandre Oliva  <aoliva@redhat.com>
1740
1741         * elf32-frv.c (_frvfdpic_check_discarded_relocs): New.
1742         (frvfdpic_elf_discard_info): New.
1743         (elf_backend_discard_info): Define for FDPIC.
1744
1745 2007-05-09  Mark Shinwell  <shinwell@codesourcery.com>
1746
1747         * elf32-arm.c (bfd_elf32_arm_vfp11_erratum_scan): Don't
1748         attempt to scan if the bfd doesn't correspond to an ELF image.
1749         (bfd_elf32_arm_vfp11_fix_veneer_locations): Likewise.
1750
1751 2007-05-08  Alexandre Oliva  <aoliva@redhat.com>
1752
1753         * elf32-frv.c (elf32_frv_relocate_section): Discard dynamic relocs
1754         for which _bfd_elf_section_offset returns -1.
1755
1756 2007-05-08  Alan Modra  <amodra@bigpond.net.au>
1757
1758         * elf32-spu.c (spu_elf_size_stubs): Use "void *" for psyms.
1759         (mark_functions_via_relocs): Likewise.
1760
1761 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1762
1763         * elflink.c (bfd_elf_final_link): Correct reloc handling for
1764         elf_backend_count_relocs.
1765         (bfd_elf_discard_info): Print an error if we can't read syms.
1766
1767 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1768
1769         * elf32-spu.c (spu_elf_reloc_type_lookup): Return NULL on
1770         invalid reloc code.
1771         (spu_elf_gc_mark_hook, spu_elf_section_processing): Delete functions.
1772         (elf_backend_gc_mark_hook, elf_backend_section_processing): Don't
1773         define.
1774
1775 2007-05-07  Alan Modra  <amodra@bigpond.net.au>
1776
1777         * elf.c (assign_file_positions_for_load_sections): Don't check
1778         core segment.
1779
1780 2007-05-04  H.J. Lu  <hongjiu.lu@intel.com>
1781
1782         * elflink.c (elf_link_sort_relocs): Return if both .rela.dyn
1783         and .rel.dyn aren't present.
1784
1785 2007-05-04  Nick Clifton  <nickc@redhat.com>
1786
1787         * elflink.c (elf_link_sort_relocs): If both .rela.dyn and .rel.dyn
1788         sections are present examine the indirect sections in an attempt
1789         to compute the correct relocation size.  If there is any
1790         ambiguity, produce an error and refuse to sort.
1791
1792 2007-05-03  Sandra Loosemore  <sandra@codesourcery.com>
1793
1794         * elf32-arm.c (allocate_dynrelocs): Fix typo in comment.
1795
1796 2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
1797             Nick Clifton  <nickc@redhat.com>
1798
1799         PR gas/3041
1800         * aoutx.h (swap_std_reloc_out): Treat relocs against weak symbols
1801         in the same way as relocs against external symbols.
1802
1803 2007-05-02  Alan Modra  <amodra@bigpond.net.au>
1804
1805         * elf.c (assign_file_positions_for_load_sections): Set sh_offset
1806         here.  Set sh_type to SHT_NOBITS if we won't be allocating
1807         file space.  Don't bump p_memsz for non-alloc sections.  Adjust
1808         section-in-segment check.
1809         (assign_file_positions_for_non_load_sections): Don't set sh_offset
1810         here for sections that have already been handled above.
1811
1812 2007-04-30  Alan Modra  <amodra@bigpond.net.au>
1813
1814         * elf32-spu.c (struct spu_link_hash_table): Add stack_analysis
1815         and emit_stack_syms bitfields.
1816         (get_sym_h): Read all symbols if stack analysis will be done.
1817         (spu_elf_create_sections): Add stack_analysis and emit_stack_syms
1818         params, and stash in hash table.
1819         (is_hint): Split off from..
1820         (is_branch): ..here.  Adjust callers.
1821         (spu_elf_size_stubs): Add stack_analysis param.  Arrange to read
1822         and keep all syms.
1823         (write_one_stub): Fix mem leak.
1824         (find_function_stack_adjust): New function.
1825         (sort_syms_syms, sort_syms_psecs): New vars.
1826         (sort_syms): New function.
1827         (struct call_info, struct function_info): New.
1828         (struct spu_elf_stack_info): New.
1829         (alloc_stack_info, maybe_insert_function, func_name): New functions.
1830         (is_nop, insns_at_end, check_function_ranges): Likewise.
1831         (find_function, insert_callee, mark_functions_via_relocs): Likewise.
1832         (pasted_function, interesting_section, discover_functions): Likewise.
1833         (mark_non_root, call_graph_traverse, build_call_tree): Likewise.
1834         (sum_stack, spu_elf_stack_analysis, spu_elf_final_link): Likewise.
1835         (bfd_elf32_bfd_final_link): Define.
1836         * elf32-spu.h (struct _spu_elf_section_data): Add stack_info field.
1837         (spu_elf_create_sections, spu_elf_size_stubs): Update prototypes.
1838
1839 2007-04-28  Sergey Rogozhkin  <rogozhkin@niisi.msk.ru>
1840
1841         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Don't access
1842         memory which we might not own.
1843
1844 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1845
1846         * elf32-xtensa.c (elf_xtensa_make_sym_local): Restore deleted function.
1847         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Likewise.
1848         (elf_xtensa_allocate_dynrelocs): Use elf_xtensa_make_sym_local.
1849
1850 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1851
1852         * elf32-xtensa.c (xtensa_read_table_entries): Step through table
1853         contents and relocs in parallel.
1854
1855 2007-04-27  Bob Wilson  <bob.wilson@acm.org>
1856
1857         * elf32-xtensa.c (relax_property_section): Remove extra irel increment.
1858
1859 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
1860
1861         * cpu-rs6000.c: Write Mimi's name in ASCII.
1862         * coff-rs6000.c: Likewise.
1863         * rs6000-core.c: Likewise.
1864
1865 2007-04-27  Alan Modra  <amodra@bigpond.net.au>
1866
1867         * sysdep.h: Include config.h first.
1868         Many files: Include sysdep.h before bfd.h.
1869         * Makefile.am: Run "make dep-am".
1870         * Makefile.in: Regenerate.
1871
1872 2007-04-25  Alan Modra  <amodra@bigpond.net.au>
1873
1874         * sysdep.h: Revert last change.
1875
1876 2007-04-24  Nick Clifton  <nickc@redhat.com>
1877
1878         * coffcode.h (coff_slurp_reloc_table): Initialise dst.r_offset.
1879         * coff-m68k.c (m68kcoff_rtype_to_howto): Initialize relent.howto.
1880
1881 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
1882
1883         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Warn if
1884         eh_frame_hdr table won't be created.
1885
1886 2007-04-24  Alan Modra  <amodra@bigpond.net.au>
1887
1888         * acinclude.m4: Include config/stdint.m4.
1889         * configure.in: Invoke GCC_HEADER_STDINT.
1890         * sysdep.h: Don't include ansidecl.h here.
1891         * configure: Regenerate.
1892         * config.in: Regenerate.
1893         * Makefile.in: Regenerate.
1894
1895 2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>
1896
1897         * archures.c (bfd_mach_mcf_isa_c, bfd_mach_mcf_isa_c_mac,
1898         bfd_mach_mcf_isa_c_emac): New.
1899         * elf32-m68k.c (ISAC_PLT_ENTRY_SIZE, elf_isac_plt0_entry,
1900         elf_isac_plt_entry, elf_isac_plt_info): New.
1901         (elf32_m68k_object_p): Add ISA_C.
1902         (elf32_m68k_print_private_bfd_data): Print ISA_C.
1903         (elf32_m68k_get_plt_info): Detect ISA_C.
1904         * cpu-m68k.c (arch_info): Add ISAC.
1905         (m68k_arch_features): Likewise,
1906         (bfd_m68k_compatible): ISAs B & C are not compatible.
1907
1908 2007-04-21  Nick Clifton  <nickc@redhat.com>
1909
1910         * ecoff.c (_bfd_ecoff_write_armap): Initialise rehash.
1911         (ecoff_link_add_archive_symbols): Likewise.
1912         * coff-m68k.c (m68kcoff_common_addend_rtype_to_howto): Initialise
1913         relent.howto.
1914         * ieee.c (parse_int): Initialise x.
1915         (must_parse_int): Initialise result.
1916         (ieee_slurp_external_symbols): Initialise value.
1917
1918 2007-04-21  Alan Modra  <amodra@bigpond.net.au>
1919
1920         * config.bfd (spu-*-elf): Delete targ_selvecs.
1921
1922 2007-04-19  Nick Clifton  <nickc@redhat.com>
1923
1924         * coffcode.h (coff_rtype_to_howto): Initialise genrel.howto.
1925
1926 2007-04-19  Alan Modra  <amodra@bigpond.net.au>
1927
1928         * bfd.c (bfd_demangle): New function.
1929         * Makefile.am: Run "make dep-am".
1930         * Makefile.in: Regenerate.
1931         * bfd-in2.h: Regenerate.
1932
1933 2007-04-18  Matthias Klose  <doko@ubuntu.com>
1934
1935         * Makefile.am (libbfd_la_LDFLAGS): Use bfd soversion.
1936         (bfdver.h): Use the date in non-release builds for the soversion.
1937         * Makefile.in: Regenerate.
1938
1939 2007-04-17  Paul Brook  <paul@codesourcery.com>
1940
1941         * elf.c (_bfd_elf_is_function_type): New function.
1942         * elflink.c (_bfd_elf_merge_symbol): Use bed->is_function_type.
1943         (_bfd_elf_dynamic_symbol_p, _bfd_elf_symbol_refs_local_p,
1944         is_global_data_symbol_definition, elf_link_add_object_symbols): Ditto.
1945         * elf-bfd.h (elf_backend_data): Add is_function_type.
1946         (_bfd_elf_is_function_type): Add prototype.
1947         * elfxx-target.h (elf_backend_is_function_type): Add default
1948         definition.
1949         (elfNN_bed): Add elf_backend_is_function_type.
1950         * elf32-arm.c (elf32_arm_is_function_type): New function.
1951         (elf_backend_is_function_type): Define.
1952
1953 2007-04-17  Daniel Jacobowitz  <dan@codesourcery.com>
1954
1955         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Put
1956         DT_MIPS_RLD_MAP before DT_DEBUG again.
1957
1958 2007-04-14  Steve Ellcey  <sje@cup.hp.com>
1959
1960         * Makefile.am: Add ACLOCAL_AMFLAGS.
1961         * configure.in: Change macro call order.
1962         * Makefile.in: Regnerate.
1963         * doc/Makefile.in: Regenerate.
1964         * configure: Regenerate.
1965
1966 2007-04-14  Jakub Jelinek  <jakub@redhat.com>
1967
1968         * elflink.c (bfd_elf_final_link): Don't free symbuf for
1969         non-elf input bfds.
1970         (bfd_elf_size_dynamic_sections): Don't access elf_section_data
1971         for non-elf input bfds.
1972
1973 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
1974
1975         * elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
1976         DT_MIPS_RTLD_MAP for PIEs.
1977
1978 2007-04-12  Richard Sandiford  <richard@codesourcery.com>
1979
1980         * elfxx-mips.c (mips_elf_calculate_relocation): Set DT_TEXTREL
1981         when creating a __GOTT_BASE__ or __GOTT_INDEX__ relocation
1982         in a read-only section.
1983         (_bfd_mips_elf_check_relocs): Likewise.
1984
1985 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
1986
1987         * elf32-xtensa.c (xtensa_is_insntable_section): New.
1988         (xtensa_is_proptable_section): New.
1989         (elf_xtensa_discard_info_for_section): Handle "full" .xt.prop property
1990         tables with 12-byte entries, as well as tables with 8-byte entries.
1991         Sort the relocations before examining them.
1992         (relax_property_section): Use xtensa_is_proptable_section and
1993         xtensa_is_littable_section.  Rewrite code for combining table entries
1994         to be more robust in case of unexpected relocations.  Do not set offset
1995         of unused relocations to less than zero.
1996         (xtensa_is_property_section): Use other functions instead of
1997         duplicating section name comparisons.
1998         (xtensa_is_littable_section): Use CONST_STRNEQ for ".gnu.linkonce.p.".
1999         (xtensa_get_property_predef_flags): Use xtensa_is_insntable_section.
2000
2001 2007-04-12  Bob Wilson  <bob.wilson@acm.org>
2002
2003         * elf32-xtensa.c (elf_xtensa_gc_mark_hook): Don't follow references
2004         from Xtensa property sections.
2005
2006 2007-04-12  Alan Modra  <amodra@bigpond.net.au>
2007
2008         * elf32-spu.c (needs_ovl_stub): Test that spu_elf_section_data
2009         is non-NULL before dereferencing.
2010
2011 2007-04-11  Nathan Sidwell  <nathan@codesourcery.com>
2012
2013         * elf-vxworks.c (elf_vxworks_emit_relocs): Remap weakdef PLT slot
2014         relocs too.
2015
2016 2007-04-10  Richard Henderson  <rth@redhat.com>
2017
2018         * elf64-alpha.c (struct alpha_elf_link_hash_table): Add relax_trip.
2019         (elf64_alpha_size_got_sections): Remove unused something_changed local.
2020         (elf64_alpha_size_plt_section): Return void.
2021         (elf64_alpha_size_rela_got_section): Likewise.
2022         (elf64_alpha_relax_section): Only regenerate got+plt if the
2023         relax_trip counter has changed.
2024
2025 2007-04-09  Daniel Jacobowitz  <dan@codesourcery.com>
2026
2027         * Makefile.am (bfdver.h): Do not generate doc/bfdver.texi.
2028         * doc/Makefile.am (DOCFILES): Add bfdver.texi.
2029         (bfdver.texi): New rule.
2030         * Makefile.in, doc/Makefile.in: Regenerated.
2031
2032 2007-04-03  Matt Thomas  <matt@netbsd.org>
2033
2034         * elf32-vax.c (elf_vax_relocate_section): Do not emit a PCREL reloc
2035         in a shared object if it is not in a CODE section or if it is against
2036         a section symbol.  This allows DWARF2 to use pcrel format.
2037
2038 2007-04-05  H.J. Lu  <hongjiu.lu@intel.com>
2039
2040         PR ld/4304
2041         * elflink.c (bfd_elf_final_link): Call einfo callback in
2042         bfd_link_info instead of _bfd_error_handler for DT_TEXTREL
2043         warning.
2044
2045 2007-04-05  Alan Modra  <amodra@bigpond.net.au>
2046
2047         * elf32-spu.c (spu_elf_output_symbol_hook): New function.
2048         (elf_backend_link_output_symbol_hook): Define.
2049
2050 2007-04-02  Nick Clifton  <nickc@redhat.com>
2051
2052         PR binutils/4292
2053         * bfd.c (bfd_fprintf_vma): Do not print addresses of 32-bit
2054         targets as 64-bit values, even if running on a 64-bit host.
2055         * coffgen.c (coff_print_symbol): Likewise.
2056
2057 2007-03-29  Nick Clifton  <nickc@redhat.com>
2058
2059         PR binutils/4110
2060         * elf.c (IS_VALID_GROUP_SECTION_HEADER): New macro.
2061         (setup_group): Use it.  Report corrupt group section headers.
2062         (bfd_section_from_shdr): Use new macro.  Replace constant 4 with
2063         GRP_ENTRY_SIZE.  Cope with NULLs in the group section table.
2064         (elf_fake_section): Replace constant 4 with GRP_ENTRY_SIZE.
2065
2066 2007-03-29  Alan Modra  <amodra@bigpond.net.au>
2067
2068         PR ld/4267
2069         * elflink.c (evaluate_complex_relocation_symbols): Use bfd_vma
2070         for rel->r_info values.
2071         (bfd_elf_perform_complex_relocation): Likewise.
2072         * elf32-ppc.c (allocate_dynrelocs): Set plt.offset to -1 for
2073         unused entries.  Don't clear plt.plist in loop.
2074
2075 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
2076
2077         * elfxx-sparc.h (_bfd_sparc_elf_link_hash_table): Remove append_rela.
2078         * elfxx-sparc.c (sparc_elf_append_rela_64, sparc_elf_append_rela_32):
2079         Merge into...
2080         (sparc_elf_append_rela): ...this new function.
2081         (SPARC_ELF_APPEND_RELA): Delete.
2082         (_bfd_sparc_elf_link_hash_table_create): Don't initialize
2083         the deleted append_rela field.
2084         (_bfd_sparc_elf_relocate_section): Use sparc_elf_append_rela
2085         instead of SPARC_ELF_APPEND_RELA.
2086         (_bfd_sparc_elf_finish_dynamic_symbol): Likewise.  Use the
2087         elf_size_info structure to find the size of a RELA entry and
2088         the associated swap-out function.
2089         (sparc64_finish_dyn, sparc64_finish_dyn): Merge into...
2090         (sparc_finish_dyn): ...this new function.
2091         (_bfd_sparc_elf_finish_dynamic_sections): Update calls accordingly.
2092
2093 2007-03-28  Richard Sandiford  <richard@codesourcery.com>
2094             Phil Edwards  <phil@codesourcery.com>
2095
2096         * doc/bfd.texinfo: Put the contents after the title page rather
2097         than at the end of the document.
2098
2099 2007-03-27  Andreas Schwab  <schwab@suse.de>
2100
2101         * elfxx-ia64.c (elf_backend_default_execstack): Define to 0.
2102
2103 2007-03-26  H.J. Lu  <hongjiu.lu@intel.com>
2104
2105         * configure: Regenerated.
2106
2107 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
2108
2109         * elf32-spu.c (struct stubarr): Add stub_hash_table and err fields.
2110         (allocate_spuear_stubs): New function.
2111         (spu_elf_size_stubs): Call allocate_spuear_stubs.
2112
2113 2007-03-26  Alan Modra  <amodra@bigpond.net.au>
2114
2115         * aout-adobe.c (aout_32_bfd_reloc_name_lookup): Define.
2116         * aout-arm.c (MY_bfd_reloc_name_lookup): Define.
2117         (MY (bfd_reloc_name_lookup)): New function.
2118         * aout-ns32k.c (MY (bfd_reloc_name_lookup)): New function.
2119         * aout-target.h (NAME (aout, reloc_name_lookup)): Declare.
2120         (MY_bfd_reloc_name_lookup): Define.
2121         * aout-tic30.c (tic30_aout_reloc_name_lookup): New function.
2122         (MY_bfd_reloc_name_lookup): Define.
2123         * aoutx.h (NAME (aout, reloc_type_lookup)): Don't declare.
2124         (NAME (aout, reloc_name_lookup)): New function.
2125         * bout.c (b_out_bfd_reloc_name_lookup): New function.
2126         * coff-alpha.c (alpha_bfd_reloc_name_lookup): New function.
2127         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
2128         * coff-arm.c (coff_arm_reloc_name_lookup): New function.
2129         (coff_bfd_reloc_name_lookup): Define.
2130         * coff-i386.c (coff_bfd_reloc_name_lookup): Define.
2131         (coff_i386_reloc_name_lookup): New function.
2132         * coff-i860.c (coff_i860_reloc_name_lookup): New function.
2133         (coff_bfd_reloc_name_lookup): Define.
2134         * coff-i960.c (coff_i960_reloc_name_lookup): New function.
2135         (coff_bfd_reloc_name_lookup): Define.
2136         * coff-m68k.c (m68k_reloc_name_lookup): New function.
2137         (coff_bfd_reloc_name_lookup): Define.
2138         * coff-maxq.c (maxq_reloc_name_lookup): New function.
2139         (coff_bfd_reloc_name_lookup): Define.
2140         * coff-mcore.c (mcore_coff_reloc_name_lookup): New function.
2141         (coff_bfd_reloc_name_lookup): Define.
2142         * coff-mips.c (mips_bfd_reloc_name_lookup): New function.
2143         (_bfd_ecoff_bfd_reloc_name_lookup): Define.
2144         * coff-ppc.c (ppc_coff_reloc_name_lookup): New function.
2145         (coff_bfd_reloc_name_lookup): Define.
2146         * coff-rs6000.c (coff_bfd_reloc_name_lookup): Define.
2147         (_bfd_xcoff_reloc_name_lookup): New function.
2148         (rs6000coff_vec, pmac_xcoff_vec): Init new field.
2149         * coff-sh.c (coff_bfd_reloc_name_lookup): Define.
2150         (sh_coff_reloc_name_lookup): New function.
2151         * coff-sparc.c (coff_sparc_reloc_name_lookup): New function.
2152         (coff_bfd_reloc_name_lookup): Define.
2153         * coff-tic30.c (coff_bfd_reloc_name_lookup): Define.
2154         (tic30_coff_reloc_name_lookup): New function.
2155         * coff-tic4x.c (coff_bfd_reloc_name_lookup): Define.
2156         (tic4x_coff_reloc_name_lookup): New function.
2157         * coff-tic54x.c (coff_bfd_reloc_name_lookup): Define.
2158         (tic54x_coff_reloc_name_lookup): New function.
2159         * coff-x86_64.c (coff_bfd_reloc_name_lookup): Define.
2160         (coff_amd64_reloc_name_lookup): New function.
2161         * coff-z80.c (coff_z80_reloc_name_lookup): New function.
2162         (coff_bfd_reloc_name_lookup): Define.
2163         * coff-z8k.c (coff_z8k_reloc_name_lookup): New function.
2164         (coff_bfd_reloc_name_lookup): Define.
2165         * coff64-rs6000.c (coff_bfd_reloc_name_lookup): Define.
2166         (xcoff64_reloc_name_lookup): New function.
2167         (rs6000coff64_vec, aix5coff64_vec): Init new field.
2168         * coffcode.h (coff_bfd_reloc_name_lookup): Define.
2169         * elf-hppa.h (elf_hppa_reloc_name_lookup): New function.
2170         * elf-m10200.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2171         * elf-m10300.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2172         * elf32-arc.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2173         * elf32-arm.c (elf32_arm_reloc_name_lookup): New function.
2174         (bfd_elf32_bfd_reloc_name_lookup): Define.
2175         * elf32-avr.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2176         * elf32-bfin.c (bfin_bfd_reloc_name_lookup): New function.
2177         (bfd_elf32_bfd_reloc_name_lookup): Define.
2178         * elf32-cr16c.c (elf_cr16c_reloc_name_lookup): New function.
2179         (bfd_elf32_bfd_reloc_name_lookup): Define.
2180         * elf32-cris.c (cris_reloc_name_lookup): New function.
2181         (bfd_elf32_bfd_reloc_name_lookup): Define.
2182         * elf32-crx.c (elf_crx_reloc_name_lookup): New function.
2183         (bfd_elf32_bfd_reloc_name_lookup): Define.
2184         * elf32-d10v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2185         * elf32-d30v.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2186         * elf32-dlx.c (elf32_dlx_reloc_name_lookup): New function.
2187         (bfd_elf32_bfd_reloc_name_lookup): Define.
2188         * elf32-fr30.c (fr30_reloc_name_lookup): New function.
2189         (bfd_elf32_bfd_reloc_name_lookup): Define.
2190         * elf32-frv.c (frv_reloc_name_lookup): New function.
2191         (bfd_elf32_bfd_reloc_name_lookup): Define.
2192         * elf32-gen.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2193         * elf32-h8300.c (elf32_h8_reloc_name_lookup): New function.
2194         (bfd_elf32_bfd_reloc_name_lookup): Define.
2195         * elf32-hppa.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2196         * elf32-i370.c (i370_elf_reloc_name_lookup): New function.
2197         (bfd_elf32_bfd_reloc_name_lookup): Define.
2198         * elf32-i386.c (elf_i386_reloc_name_lookup): New function.
2199         (bfd_elf32_bfd_reloc_name_lookup): Define.
2200         * elf32-i860.c (elf32_i860_reloc_name_lookup): New function.
2201         (bfd_elf32_bfd_reloc_name_lookup): Define.
2202         * elf32-i960.c (elf32_i960_reloc_name_lookup): New function.
2203         (bfd_elf32_bfd_reloc_name_lookup): Define.
2204         * elf32-ip2k.c (ip2k_reloc_name_lookup): New function.
2205         (bfd_elf32_bfd_reloc_name_lookup): Define.
2206         * elf32-iq2000.c (iq2000_reloc_name_lookup): New function.
2207         (bfd_elf32_bfd_reloc_name_lookup): Define.
2208         * elf32-m32c.c (m32c_reloc_name_lookup): New function.
2209         (bfd_elf32_bfd_reloc_name_lookup): Define.
2210         * elf32-m32r.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2211         * elf32-m68hc11.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2212         * elf32-m68hc12.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2213         * elf32-m68k.c (reloc_name_lookup): New function.
2214         (bfd_elf32_bfd_reloc_name_lookup): Define.
2215         * elf32-m88k.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2216         * elf32-mcore.c (mcore_elf_reloc_name_lookup): New function.
2217         (bfd_elf32_bfd_reloc_name_lookup): Define.
2218         * elf32-mep.c (mep_reloc_name_lookup): New function.
2219         (bfd_elf32_bfd_reloc_name_lookup): Define.
2220         * elf32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2221         (mips_vxworks_bfd_reloc_name_lookup): Likewise.
2222         (bfd_elf32_bfd_reloc_name_lookup): Define.
2223         * elf32-msp430.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2224         * elf32-mt.c (mt_reloc_name_lookup): New function.
2225         (bfd_elf32_bfd_reloc_name_lookup): Define.
2226         * elf32-openrisc.c (openrisc_reloc_name_lookup): New function.
2227         (bfd_elf32_bfd_reloc_name_lookup): Define.
2228         * elf32-or32.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2229         * elf32-pj.c (pj_elf_reloc_name_lookup): New function.
2230         (bfd_elf32_bfd_reloc_name_lookup): Define.
2231         * elf32-ppc.c (ppc_elf_reloc_name_lookup): New function.
2232         (bfd_elf32_bfd_reloc_name_lookup): Define.
2233         * elf32-s390.c (elf_s390_reloc_name_lookup): New function.
2234         (bfd_elf32_bfd_reloc_name_lookup): Define.
2235         * elf32-score.c (elf32_score_reloc_name_lookup): New function.
2236         (bfd_elf32_bfd_reloc_name_lookup): Define.
2237         * elf32-sh.c (sh_elf_reloc_name_lookup): New function.
2238         (bfd_elf32_bfd_reloc_name_lookup): Define.
2239         * elf32-sparc.c (bfd_elf32_bfd_reloc_name_lookup): Define.
2240         * elf32-spu.c (spu_elf_reloc_name_lookup): New function.
2241         (bfd_elf32_bfd_reloc_name_lookup): Define.
2242         * elf32-v850.c (v850_elf_reloc_name_lookup): New function.
2243         (bfd_elf32_bfd_reloc_name_lookup): Define.
2244         * elf32-vax.c (reloc_name_lookup): New function.
2245         (bfd_elf32_bfd_reloc_name_lookup): Define.
2246         * elf32-xc16x.c (xc16x_reloc_name_lookup): New function.
2247         (bfd_elf32_bfd_reloc_name_lookup): Define.
2248         * elf32-xstormy16.c (xstormy16_reloc_name_lookup): New function.
2249         (bfd_elf32_bfd_reloc_name_lookup): Define.
2250         * elf32-xtensa.c (elf_xtensa_reloc_name_lookup): New function.
2251         (bfd_elf32_bfd_reloc_name_lookup): Define.
2252         * elf64-alpha.c (elf64_alpha_bfd_reloc_name_lookup): New function.
2253         (bfd_elf64_bfd_reloc_name_lookup): Define.
2254         * elf64-gen.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2255         * elf64-hppa.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2256         * elf64-mips.c (bfd_elf64_bfd_reloc_name_lookup): New function.
2257         * elf64-mmix.c (bfd_elf64_bfd_reloc_name_lookup): New function.
2258         * elf64-ppc.c (ppc64_elf_reloc_name_lookup): New function.
2259         (bfd_elf64_bfd_reloc_name_lookup): Define.
2260         * elf64-s390.c (elf_s390_reloc_name_lookup): New function.
2261         (bfd_elf64_bfd_reloc_name_lookup): Define.
2262         * elf64-sh64.c (sh_elf64_reloc_name_lookup): New function.
2263         (bfd_elf64_bfd_reloc_name_lookup): Define.
2264         * elf64-sparc.c (bfd_elf64_bfd_reloc_name_lookup): Define.
2265         * elf64-x86-64.c (elf64_x86_64_reloc_name_lookup): New function.
2266         (bfd_elf64_bfd_reloc_name_lookup): Define.
2267         * elfn32-mips.c (bfd_elf32_bfd_reloc_name_lookup): New function.
2268         * elfxx-ia64.c (elfNN_ia64_reloc_name_lookup): New function.
2269         (bfd_elfNN_bfd_reloc_name_lookup): Define.
2270         * elfxx-sparc.c (_bfd_sparc_elf_reloc_name_lookup): New function.
2271         * elfxx-sparc.h (_bfd_sparc_elf_reloc_name_lookup): Declare.
2272         * i386msdos.c (msdos_bfd_reloc_name_lookup): Define.
2273         * i386os9k.c (aout_32_bfd_reloc_name_lookup): Define.
2274         * ieee.c (ieee_bfd_reloc_name_lookup): Define.
2275         * libaout.h (NAME (aout, reloc_name_lookup)): Declare.
2276         * libbfd-in.h (_bfd_norelocs_bfd_reloc_name_lookup): Declare.
2277         * mipsbsd.c (MY_bfd_reloc_name_lookup): Define.
2278         (MY(reloc_type_lookup)): Rename from MY(reloc_howto_type_lookup).
2279         (MY(reloc_name_lookup)): New function.
2280         * nlm-target.h (nlm_bfd_reloc_name_lookup): Define.
2281         * oasys.c (oasys_bfd_reloc_name_lookup): Define.
2282         * pdp11.c (NAME (aout, reloc_name_lookup)): New function.
2283         * pe-mips.c (coff_mips_reloc_name_lookup): New function.
2284         (coff_bfd_reloc_name_lookup): Define.
2285         * reloc.c (bfd_reloc_name_lookup): New function.
2286         * riscix.c (riscix_reloc_name_lookup): New function.
2287         (MY_bfd_reloc_name_lookup): Define.
2288         * som.c (som_bfd_reloc_name_lookup): New function.
2289         * targets.c (struct bfd_target): Add reloc_name_lookup.
2290         (BFD_JUMP_TABLE_RELOCS): Add NAME##_bfd_reloc_name_lookup.
2291         * versados.c (versados_bfd_reloc_name_lookup): Define.
2292         * vms.c (vms_bfd_reloc_name_lookup): New function.
2293         * bfd-in2.h: Regenerate.
2294         * libbfd.h: Regenerate.
2295
2296 2007-03-26  Thiemo Seufer  <ths@mips.com>
2297
2298         PR ld/4208
2299         * elfxx-mips.c (mips_elf_next_relocation): Don't signal an error if no
2300         matching relocation is found.
2301         (_bfd_mips_elf_relocate_section): Only warn about missing relocations.
2302
2303 2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>
2304
2305         * configure: Regenerated.
2306
2307 2007-03-23  Joseph Myers  <joseph@codesourcery.com>
2308
2309         * configure.in: Use ACX_PKGVERSION and ACX_BUGURL.
2310         * configure: Regenerate.
2311
2312 2007-03-23  Alan Modra  <amodra@bigpond.net.au>
2313
2314         * elf32-spu.c (spu_stub_name): Don't put input section in stub name.
2315         Remove input_sec param.  Adjust all calls.
2316         (write_one_stub): Adjust stub symbol.
2317         (needs_ovl_stub): New function, extracted from..
2318         (spu_elf_size_stubs): ..here.
2319         (spu_elf_relocate_section): Use needs_ovl_stub.
2320
2321 2007-03-22  Joseph Myers  <joseph@codesourcery.com>
2322
2323         * Makefile.am (bfdver.h): Only set VERSION_PACKAGE in bfdver.texi
2324         if nonempty.
2325         * configure.in (REPORT_BUGS_TO): Do not use "URL:" prefix.
2326         * Makefile.in, configure, doc/Makefile.in: Regenerate.
2327
2328 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
2329
2330         PR ld/4210
2331         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the virtual
2332         address and virtual size of the last section for the image
2333         size.
2334
2335 2007-03-22  H.J. Lu  <hongjiu.lu@intel.com>
2336
2337         PR ld/4007
2338         * elf.c (assign_file_positions_for_load_sections): Check if
2339         all sections are in the segment.
2340
2341 2007-03-20  H.J. Lu  <hongjiu.lu@intel.com>
2342
2343         PR ld/4208
2344         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Report missing
2345         matching LO16 relocation for HI16 relocation.
2346
2347 2007-03-20  Paul Brook  <paul@codesourcery.com>
2348
2349         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
2350         * bfd-in2.h: Regenerate.
2351         * elf32-arm.c (elf32_arm_link_hash_table): Add pic_veneer.
2352         (record_arm_to_thumb_glue): Use globals->pic_veneer.
2353         (elf32_arm_create_thumb_stub): Ditto.
2354         (bfd_elf32_arm_set_target_relocs): Set globals->pic_veneer.
2355
2356 2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>
2357
2358         * bfd-in.h (bfd_elf32_arm_set_target_relocs): Add "bfd *"
2359         argument and extra last argument.
2360         * bfd-in2.h: Regenerate.
2361         * elf32-arm.c (elf32_arm_obj_tdata): Add no_enum_size_warning
2362         member.
2363         (bfd_elf32_arm_set_target_relocs): Add "bfd *" argument and
2364         extra last argument.  Set no_enum_size_warning appropriately.
2365         (elf32_arm_merge_eabi_attributes): Improve enum sizes
2366         diagnostic, suppressing it when no_enum_size_warning dictates.
2367
2368 2007-03-20  Nick Clifton  <nickc@redhat.com>
2369
2370         PR binutils/3535
2371         * elf.c (copy_private_bfd_data): Widen the scope of Solaris
2372         specific conditions that need the program headers to be
2373         rewritten.
2374
2375 2007-03-19  H.J. Lu  <hongjiu.lu@intel.com>
2376
2377         * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Store Magic,
2378         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2379         SizeOfInitializedData, SizeOfUninitializedData,
2380         AddressOfEntryPoint, BaseOfCode and BaseOfData in internal
2381         extra PE a.out header.
2382         (IMAGE_NT_OPTIONAL_HDR_MAGIC): Defined as 0x10b if not defined.
2383         (IMAGE_NT_OPTIONAL_HDR64_MAGIC): Defined as 0x20b if not
2384         defined.
2385         (IMAGE_NT_OPTIONAL_HDRROM_MAGIC): Defined as 0x107 if not
2386         defined.
2387         (_bfd_XX_print_private_bfd_data_common): Also print Magic,
2388         MajorLinkerVersion, MinorLinkerVersion, SizeOfCode,
2389         SizeOfInitializedData, SizeOfUninitializedData,
2390         AddressOfEntryPoint, BaseOfCode and BaseOfData from internal
2391         extra PE a.out header.
2392
2393 2007-03-18  H.J. Lu  <hongjiu.lu@intel.com>
2394
2395         * targets.c (_bfd_target_vector): Add bfd_efi_app_x86_64_vec
2396         only if BFD64 is defined.
2397
2398 2007-03-17  Alan Modra  <amodra@bigpond.net.au>
2399
2400         * elf32-spu.c (spu_elf_size_stubs): Always use an overlay stub
2401         on setjmp calls.
2402
2403 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2404
2405         * doc/Makefile.in: Regenerated.
2406
2407 2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>
2408
2409         * Makefile.am (bfdver.h): Substitute report_bugs_to.  Also
2410         create doc/bfdver.texi.
2411         * Makefile.in: Regenerated.
2412
2413         * configure.in (--with-bugurl): New option.
2414         * configure: Regenerated.
2415
2416         * version.h (REPORT_BUGS_TO): New.
2417
2418 2007-03-13  H.J. Lu  <hongjiu.lu@intel.com>
2419
2420         PR binutils/3826
2421         * elf-bfd.h (elf_backend_data): Add elf_osabi.
2422         (_bfd_elf_set_osabi): New.
2423
2424         * elf.c (_bfd_elf_set_osabi): New.
2425
2426         * elf32-hppa.c (elf32_hppa_post_process_headers): Removed.
2427         (elf_backend_post_process_headers): Defined with
2428         _bfd_elf_set_osabi.
2429         (ELF_OSABI): Properly defined for each target.
2430
2431         * elf32-i370.c (i370_elf_post_process_headers): Removed.
2432         (ELF_OSABI): Defined.
2433         (elf_backend_post_process_headers): Defined with
2434         _bfd_elf_set_osabi.
2435
2436         * elf32-i386.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2437         freebsd.
2438         (elf_i386_post_process_headers): Set EI_OSABI with elf_osabi.
2439
2440         * elf32-msp430.c (elf32_msp430_post_process_headers): Removed.
2441         (ELF_OSABI): Defined.
2442         (elf_backend_post_process_headers): Defined with
2443         _bfd_elf_set_osabi.
2444
2445         * elf64-alpha.c (ELF_OSABI): Defined to ELFOSABI_FREEBSD for
2446         freebsd.
2447         (elf64_alpha_fbsd_post_process_headers): Set EI_OSABI with
2448         elf_osabi.
2449
2450         * elf64-hppa.c (elf64_hppa_post_process_headers): Set EI_OSABI
2451         with elf_osabi.
2452         (ELF_OSABI): Properly defined for each target.
2453         (elf_backend_post_process_headers): Defined with
2454         _bfd_elf_set_osabi for Linux.
2455
2456         * elf64-sparc.c (elf64_sparc_fbsd_post_process_headers): Removed.
2457         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2458         (elf_backend_post_process_headers): Defined with
2459         _bfd_elf_set_osabi.
2460
2461         * elf64-x86-64.c (elf64_x86_64_fbsd_post_process_headers): Removed.
2462         (ELF_OSABI): Defined to ELFOSABI_FREEBSD for freebsd.
2463         (elf_backend_post_process_headers): Defined with
2464         _bfd_elf_set_osabi.
2465
2466         * elfcode.h (elf_object_p): Match the ELFOSABI_NONE ELF target
2467         with any ELF target of the compatible machine for which we do not
2468         have a specific backend.
2469
2470         * elfxx-ia64.c (elfNN_hpux_post_process_headers): Set EI_OSABI
2471         with elf_osabi.
2472
2473         * elfxx-target.h (ELF_OSABI): Default to ELFOSABI_NONE.
2474         (elfNN_bed): Initialize elf_osabi with ELF_OSABI.
2475
2476 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
2477
2478         * elf32-v850.c (v850_elf_link_output_symbol_hook): Clean out
2479         V850_OTHER_* bits.
2480
2481 2007-03-08  Alan Modra  <amodra@bigpond.net.au>
2482
2483         * Makefile.am (BFD64_BACKENDS): Add efi-app-x86_64.lo.
2484         (BFD64_BACKENDS_CFILES): Add efi-app-x86_64.c.
2485         Run "make dep-am".
2486         * Makefile.in: Regenerate.
2487         * po/SRC-POTFILES.in: Regenerate.
2488
2489 2007-03-07  H.J. Lu  <hongjiu.lu@intel.com>
2490
2491         * config.bfd (x86_64-*-freebsd*): Add bfd_efi_app_x86_64_vec.
2492         (x86_64-*-kfreebsd*-gnu): Likewise.
2493         (x86_64-*-netbsd*): Likewise.
2494         (x86_64-*-openbsd*): Likewise.
2495         (x86_64-*-linux-*): Likewise.
2496
2497         * configure.in: Support bfd_efi_app_x86_64_vec.
2498         * configure: Regenerated.
2499
2500         * efi-app-x86_64.c: New file.
2501
2502         * targets.c (bfd_efi_app_x86_64_vec): New.
2503         (_bfd_target_vector): Add bfd_efi_app_x86_64_vec.
2504
2505 2007-03-07  Kai Tietz   <kai.tietz@onevision.com>
2506
2507         * reloc.c (bfd_generic_get_relocated_section_contents): Remove
2508         const for type reloc_howto_type.
2509
2510 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
2511
2512         PR 3958
2513         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): No error on relocatable link.
2514         (elf_discarded_section): Move..
2515         * bfd-in.h: ..to here.
2516         * bfd-in2.h: Regenerate.
2517         * elflink.c (elf_link_input_bfd): Don't zap relocs against symbols
2518         from discarded sections before relocate_section has done its job.
2519         * reloc.c (bfd_generic_get_relocated_section_contents): Handle
2520         relocs against symbols from discarded sections.
2521         * elf-hppa.h (elf_hppa_howto_table): Set size.  Set dst_mask on
2522         SECREL32.
2523         (elf_hppa_relocate_section): Handle relocatable link after setting
2524         sec, sym, h etc. for final link.  Squash error messages for
2525         relocatable link.  Clear section contents for relocs against
2526         symbols in discarded sections, and zero reloc.  Remove existing
2527         zero r_symndx code.
2528         * elf-m10200.c (mn10200_elf_relocate_section): Likewise.
2529         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
2530         * elf32-arm.c (elf32_arm_relocate_section): Likewise.
2531         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2532         * elf32-bfin.c (bfinfdpic_relocate_section): Likewise.
2533         (bfin_relocate_section): Likewise.
2534         * elf32-cr16c.c (elf32_cr16c_relocate_section): Likewise.
2535         * elf32-cris.c (cris_elf_relocate_section): Likewise.
2536         * elf32-crx.c (elf32_crx_relocate_section): Likewise.
2537         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
2538         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2539         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2540         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2541         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2542         * elf32-i370.c (i370_elf_relocate_section): Likewise.
2543         * elf32-i386.c (elf_i386_relocate_section): Likewise.
2544         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2545         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2546         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
2547         * elf32-m32c.c (m32c_elf_relocate_section): Likewise.
2548         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2549         * elf32-m68hc1x.c (elf32_m68hc11_check_relocs): Likewise.
2550         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2551         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2552         * elf32-mep.c (mep_elf_relocate_section): Likewise.
2553         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2554         * elf32-mt.c (mt_elf_relocate_section): Likewise.
2555         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2556         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2557         * elf32-s390.c (elf_s390_relocate_section): Likewise.
2558         * elf32-score.c (_bfd_score_elf_relocate_section): Likewise.
2559         * elf32-sh.c (sh_elf_relocate_section): Likewise.
2560         * elf32-spu.c (spu_elf_relocate_section): Likewise.
2561         * elf32-v850.c (v850_elf_relocate_section): Likewise.
2562         * elf32-vax.c (elf_vax_relocate_section): Likewise.
2563         * elf32-xc16x.c (elf32_xc16x_relocate_section): Likewise.
2564         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2565         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
2566         * elf64-alpha.c (elf64_alpha_relocate_section_r): Likewise.
2567         (elf64_alpha_relocate_section): Likewise.
2568         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
2569         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2570         * elf64-s390.c (elf_s390_relocate_section): Likewise.
2571         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2572         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2573         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2574         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
2575         * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise.
2576
2577         * elf32-arm.c (elf32_arm_relocate_section): Always adjust section
2578         symbols for relocatable link.  Don't use always-zero st_value.
2579         (elf_backend_rela_normal): Don't define.
2580         * elf32-bfin.c (bfinfdpic_relocate_section): Use
2581         RELOC_FOR_GLOBAL_SYMBOL.
2582         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2583         * elf32-d10v.c (elf32_d10v_relocate_section): Combine SEC_MERGE
2584         section symbol adjustments with same for relocatable link.
2585         * elf32-i386.c (elf_i386_relocate_section): Likewise.
2586         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Move..
2587         (elf32_m68hc11_check_relocs): ..to here.
2588         * elf32-score.c (score_elf_final_link_relocate): Remove zero
2589         r_symndx code.
2590         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2591
2592 2007-03-07  Alan Modra  <amodra@bigpond.net.au>
2593
2594         PR 4144
2595         * elf.c (assign_file_positions_for_load_sections): Don't
2596         adjust p_memsz for !SEC_LOAD section vma modulo page size.
2597         Instead, use the same lma based adjustment for SEC_LOAD
2598         sections.
2599
2600 2007-03-01  Bob Wilson  <bob.wilson@acm.org>
2601
2602         * elf32-xtensa.c (analyze_relocations): Zero src_count if not relaxing.
2603         (find_relaxable_sections): Do not increment src_count for unknown
2604         opcodes.  Decode only once instead of calling is_l32r_relocation.
2605         (compute_text_actions): Remove unused no_insn_move flag.  Assert that
2606         src_next matches src_count in relax_info.
2607
2608 2007-03-01  Joseph Myers  <joseph@codesourcery.com>
2609
2610         * Makefile.am (bfdver.h): Use "." not " " between version number
2611         and date.
2612         * Makefile.in: Regenerate.
2613         * configure.in (PKGVERSION): Default to "(GNU Binutils) ".
2614         * configure: Regenerate.
2615
2616 2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>
2617
2618         * config.bfd (sh-*-uclinux, sh[12]-*-uclinux): New stanza.
2619
2620 2007-02-27  Alan Modra  <amodra@bigpond.net.au>
2621
2622         * elf32-spu.h (struct _ovl_stream): Make "start" and "end" const.
2623         * elf32-spu.c (ovl_mgr_pread): Add const to casts.
2624
2625 2007-02-23  Carlos O'Donell  <carlos@codesourcery.com>
2626
2627         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Assume 32-bit
2628         DWARF even with 64-bit addresses.
2629         (_bfd_dwarf2_find_nearest_line): Likewise.
2630
2631 2007-02-23  Nick Clifton  <nickc@redhat.com>
2632
2633         PR binutils/3535
2634         * elf.c (copy_private_bfd_data): Always rewrite the program
2635         headers when a Solaris interpreter segment is involved.
2636
2637 2007-02-22  Paul Brook  <paul@codesourcery.com>
2638
2639         * elflink.c (gc_mark_hook_fn): Remove.
2640         (_bfd_elf_gc_mark): Rename gc_mark_hook_fn to elf_gc_mark_hook_fn.
2641         (bfd_elf_gc_sections): Ditto.  Call gc_mark_extra_sections.
2642         * elf-bfd.h (elf_gc_mark_hook_fn): Define.
2643         (elf_backend_data): Add gc_mark_extra_sections.
2644         * elfxx-target.h (elf_backend_gc_mark_extra_sections): Provide default
2645         definition.
2646         (elfNN_bed): Add elf_backend_gc_mark_extra_sections.
2647         * elf32-arm.c (elf32_arm_gc_mark_extra_sections): New function.
2648         (elf_backend_gc_mark_extra_sections): Define.
2649
2650 2007-02-21  Nick Clifton  <nickc@redhat.com>
2651
2652         * elf.c (_bfd_elf_map_sections_to_segments): If the
2653         override_segment_assignment callback is defined then call it.
2654
2655 2007-02-21  Alan Modra  <amodra@bigpond.net.au>
2656
2657         * elf32-spu.c (spu_elf_size_stubs): Correct order of warning args.
2658
2659 2007-02-19  Thiemo Seufer  <ths@mips.com>
2660
2661         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): Remove
2662         translation marker from untranslatable strings.
2663
2664 2007-02-19  Alan Modra  <amodra@bigpond.net.au>
2665
2666         * elf-bfd.h (struct elf_backend_data): Add default_execstack.
2667         * elflink.c (bfd_elf_size_dynamic_sections): Heed default_execstack.
2668         * elfxx-target.h (elf_backend_default_execstack): Define to 1.
2669         (elfNN_bed): Init new field.
2670         * elf64-ppc.c (elf_backend_default_execstack): Define to 0.
2671
2672 2007-02-17  Mark Mitchell  <mark@codesourcery.com>
2673             Nathan Sidwell  <nathan@codesourcery.com>
2674             Vladimir Prus  <vladimir@codesourcery.com
2675             Joseph Myers  <joseph@codesourcery.com>
2676
2677         * configure.in (--with-pkgversion): New option.
2678         * configure: Regenerate.
2679         * Makefile.am (bfdver.h): Substitute for @bfd_version_package@.
2680         * Makefile.in: Regenerate.
2681         * version.h (BFD_VERSION_STRING): Define using
2682         @bfd_version_package@.
2683
2684 2007-02-16  Carlos O'Donell  <carlos@codesourcery.com>
2685
2686         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data):
2687         Print EF_MIPS_NOREORDER, EF_MIPS_PIC, EF_MIPS_CPIC, EF_MIPS_XGOT
2688         and EF_MIPS_UCODE.
2689
2690 2007-02-15  Alan Modra  <amodra@bigpond.net.au>
2691
2692         * libbfd-in.h (_bfd_norelocs_get_reloc_upper_bound): Don't define,
2693         declare.
2694         (_bfd_norelocs_canonicalize_reloc): Likewise.
2695         * libbfd.h: Regenerate.
2696         * libbfd.c (_bfd_norelocs_get_reloc_upper_bound): New function.
2697         (_bfd_norelocs_canonicalize_reloc): Likewise.
2698         * binary.c (binary_bfd_reloc_type_lookup): Don't define.
2699         (binary_get_reloc_upper_bound, binary_canonicalize_reloc): Likewise.
2700         (binary_vec): Use _bfd_norelocs in BFD_JUMP_TABLE_RELOCS.
2701         * ihex.c: Similarly.
2702         * mach-o-target.c: Similarly.
2703         * mach-o.c: Similarly.
2704         * mmo.c: Similarly.
2705         * pef.c: Similarly.
2706         * ppcboot.c: Similarly.
2707         * srec.c: Similarly.
2708         * xsym.c: Similarly.
2709
2710 2007-02-14  H.J. Lu  <hongjiu.lu@intel.com>
2711
2712         PR ld/3953
2713         * elflink.c (_bfd_elf_add_default_symbol): Check warning symbol
2714         when adding default symbol.
2715
2716 2007-02-13  Alan Modra  <amodra@bigpond.net.au>
2717
2718         * elf64-ppc.c (create_linkage_sections): Use section ".branch_lt"
2719         for branch lookup table.
2720
2721 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2722
2723         * elf64-ppc.c (create_linkage_sections): Don't create
2724         .rela.rodata.brlt for --emit-relocs.
2725         (ppc_build_one_stub): Create relocs for brlt --emit-relocs here.
2726         (ppc_size_one_stub): Count them.  Simplify test of stub type
2727         when counting stub relocs.  Set SEC_RELOC too.
2728         (ppc64_elf_size_stubs): Clear reloc_count and SEC_RELOC.
2729         (ppc64_elf_finish_dynamic_sections): Output brlt relocs.
2730
2731 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2732
2733         * elflink.c (evaluate_complex_relocation_symbols): Ignore relocs
2734         with a zero symbol index.
2735
2736 2007-02-12  Alan Modra  <amodra@bigpond.net.au>
2737
2738         * elflink.c (bfd_elf_discard_info): Tidy setting of "eh".
2739
2740 2007-02-05  Dave Brolley  <brolley@redhat.com>
2741             Stan Cox  <scox@redhat.com>
2742
2743         PR ld/3972
2744         * elflink.c (elf_link_input_bfd): Always setup finfo->internal_syms.
2745
2746 2007-02-05  Dave Brolley  <brolley@redhat.com>
2747             Richard Sandiford  <rsandifo@redhat.com>
2748             Stan Cox  <scox@redhat.com>
2749             Nick Clifton  <nickc@redhat.com>
2750             DJ Delorie  <dj@redhat.com>
2751             Frank Ch. Eigler  <fche@redhat.com>
2752             Ben Elliston  <bje@redhat.com>
2753             Richard Henderson  <rth@redhat.com>
2754
2755         * Makefile.am (ALL_MACHINES): Add cpu-mep.lo.
2756         (ALL_MACHINES_CFILES): Add CPU_MEP.c.
2757         (BFD32_BACKENDS): Add elf32-mep.lo.
2758         (BFD32_BACKENDS_CFILES): Add elf32-mep.c.
2759         (cpu-mep.lo,elf32-mep.lo): New targets.
2760         * archures.c (bfd_arch_mep): New enumerator.
2761         (bfd_mach_mep, bfd_mach_mep_h1): New macros.
2762         (bfd_mep_arch): New external variable.
2763         (bfd_archures_list): Add bfd_mep_arch.
2764         * config.bfd: Support mep-*-elf.
2765         * configure.in: Support bfd_elf32_mep_vec and bfd_elf32_mep_little_vec.
2766         * reloc.c (BFD_RELOC_MEP_*): New relocation numbers.
2767         * targets.c (bfd_elf32_mep_vec,bfd_elf32_mep_little_vec): New extern
2768         declarations.
2769         (_bfd_target_vector): Add bfd_elf32_mep_vec and
2770         bfd_elf32_mep_little_vec.
2771         * mep-relocs.pl: New file.
2772         * cpu-mep.c: New file.
2773         * elf32-mep.c: New file.
2774         * bfd-in2.h: Regenerate.
2775         * po/POTFILES.in: Regenerate.
2776         * libbfd.h: Regenerate.
2777         * Makefile.in: Regenerate.
2778         * configure: Regenerate.
2779
2780 2007-02-05  Dave Brolley  <brolley@redhat.com>
2781
2782         * elflink.c (evaluate_complex_relocation_symbols): Check for
2783         STT_SRELC for global symbols.
2784         (perform_complex_relocations): Renamed to
2785         perform_complex_relocation and now examines only one relocation.
2786         (elf_link_input_bfd): Don't call perform_complex_relocations.
2787         * elf-bfd.h (bfd_elf_perform_complex_relocation_: New prototype.
2788         * elf32-mep.c (mep_elf_howto_table): Add R_RELC.
2789         (OD,OS,OU): #undefs corrected to N, S and U repectively.
2790         (mep_reloc_type_lookup): Handle BFD_RELOC_RELC.
2791         (complex_reloc_installation_howto): Removed.
2792         (mep_info_to_howto_rela): Remove special case for r_type==0xff.
2793         (mep_elf_relocate_section): Call bfd_elf_perform_complex_relocation.
2794
2795 2007-02-05  Dave Brolley  <brolley@redhat.com>
2796             Richard Sandiford  <rsandifo@redhat.com>
2797             DJ Delorie  <dj@redhat.com>
2798             Graydon Hoare  <graydon@redhat.com>
2799             Nick Clifton  <nickc@cambridge.redhat.com>
2800             Jeff Holcomb  <jeffh@redhat.com>
2801             Frank Ch. Eigler  <fche@redhat.com>
2802
2803         * elf-bfd.h (bfd_elf_perform_complex_relocations): New prototype.
2804         * elf.c (swap_out_syms): Handle BSF_RELC and BSF_SRELC.
2805         * elfcode.h (elf_slurp_symbol_table): Handle STT_RELC and STT_SRELC.
2806         * elflink.c (set_symbolValue): New static function.
2807         (resolve_symbol): Likewise.
2808         (resolve_section): Likewise.
2809         (undefined_reference): Likewise.
2810         (eval_symbol): Likewise.
2811         (evaluate_complex_relocation_symbols): Likewise.
2812         (put_value): Likewise.
2813         (get_value): Likewise.
2814         (decode_complex_addend):
2815         (bfd_elf_perform_complex_relocation): New function.
2816         (elf_link_input_bfd): Call evaluate_complex_relocation_symbols.
2817         * reloc.c (BFD_RELOC_RELC): New relocation number.
2818         * syms.c (BSF_RELC,BSF_SRELC): New macros.
2819
2820 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2821
2822         * elf32-xtensa.c (elf_xtensa_make_sym_local): Delete.
2823         (elf_xtensa_hide_symbol, elf_backend_hide_symbol): Delete.
2824         (elf_xtensa_fix_refcounts, elf_xtensa_allocate_plt_size)
2825         (elf_xtensa_allocate_got_size): Replace these with...
2826         (elf_xtensa_allocate_dynrelocs): ...this new function.
2827         (elf_xtensa_size_dynamic_sections): Use it.
2828
2829 2007-02-05  Bob Wilson  <bob.wilson@acm.org>
2830
2831         * elf32-xtensa.c (elf_howto_table) <R_XTENSA_GLOB_DAT>
2832         <R_XTENSA_JMP_SLOT, R_XTENSA_RELATIVE, R_XTENSA_PLT, R_XTENSA_DIFF32>:
2833         Set src_mask to zero.
2834         <R_XTENSA_DIFF8, R_XTENSA_DIFF16>: Likewise.  Also fix dst_mask.
2835         <R_XTENSA_ASM_EXPAND>: Set pcrel_offset to TRUE.
2836
2837 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
2838
2839         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Renamed to...
2840         (elf_xtensa_dynamic_symbol_p): ...this.
2841
2842 2007-02-02  Bob Wilson  <bob.wilson@acm.org>
2843
2844         * elf32-xtensa.c (plt_reloc_count): Move into link hash table.
2845         (struct elf_xtensa_link_hash_table): New.
2846         (elf_xtensa_hash_table): New.
2847         (elf_xtensa_link_hash_table_create): New.
2848         (elf_xtensa_check_relocs): Update plt_reloc_count references.
2849         Update arguments to add_extra_plt_sections.
2850         (elf_xtensa_create_dynamic_sections): Record new sections in the hash
2851         table.  Update for plt_reloc_count and add_extra_plt_sections.
2852         (add_extra_plt_sections, elf_xtensa_create_plt_entry): Replace dynobj
2853         argument with link info.  Update calls to elf_xtensa_get_plt_section
2854         and elf_xtensa_get_gotplt_section.
2855         (elf_xtensa_allocate_local_got_size, elf_xtensa_size_dynamic_sections)
2856         (elf_xtensa_relocate_section, elf_xtensa_finish_dynamic_sections)
2857         (elf_xtensa_discard_info_for_section, shrink_dynamic_reloc_sections)
2858         (relax_property_section): Get sections from the hash table and update
2859         function calls.
2860         (elf_xtensa_get_plt_section, elf_xtensa_get_gotplt_section): Replace
2861         dynobj argument with link info.  Get sections for first plt chunk from
2862         the hash table.
2863         (bfd_elf32_bfd_link_hash_table_create): Define.
2864
2865 2007-02-02  Jakub Jelinek  <jakub@redhat.com>
2866
2867         * elf-bfd.h (struct elf_obj_tdata): Change symbuf type to void *.
2868         * elf.c (struct elf_symbuf_symbol, struct elf_symbuf_head): New types.
2869         (struct elf_symbol): Change first member into union.
2870         (elf_sort_elf_symbol): Compare pointers to internal syms rather than
2871         internal syms.  Only compare st_shndx fields.
2872         (elf_create_symbuf): New function.
2873         (bfd_elf_match_symbols_in_sections): Use it.  If symbufs are available
2874         for bfds, use a binary search, otherwise don't qsort symbols
2875         unnecessarily only to select which symbols are for the particular
2876         shndx.
2877
2878 2007-02-01  Nick Clifton  <nickc@redhat.com>
2879
2880         PR ld/3852
2881         * elf.c (_bfd_elf_link_hash_table_init): Initialize all the fields
2882         in the elf_link_hash_table structure.
2883
2884 2007-02-01  Alan Modra  <amodra@bigpond.net.au>
2885
2886         * elf-bfd.h (struct elf_backend_data): Add elf_backend_write_core_note.
2887         * elfxx-target.h (elf_backend_write_core_note): Define and use.
2888         * elf.c (elfcore_write_prpsinfo): Call the above.  Add support for
2889         32-bit core note on 64-bit target.
2890         (elfcore_write_prstatus): Likewise.
2891         (elfcore_write_lwpstatus): Make note_name const.
2892         (elfcore_write_prfpreg): Likewise.
2893         (elfcore_write_pstatus): Add support for 32-bit core note on 64-bit
2894         target.
2895         * elf32-ppc.c (ppc_elf_write_core_note): New function.
2896         (elf_backend_write_core_note): Define.
2897         * elf64-ppc.c (ppc64_elf_write_core_note): New function.
2898         (elf_backend_write_core_note): Define.
2899
2900 2007-01-31  H.J. Lu  <hongjiu.lu@intel.com>
2901
2902         * elf32-cris.c (INCLUDED_TARGET_FILE): Removed.
2903         (elf32_bed): Defined for elf32-us-cris.
2904
2905         * elf64-sh64.c (elf64_bed): Defined for Linux.
2906         (INCLUDED_TARGET_FILE): Removed.
2907
2908         * elfxx-target.h (elfNN_bed): Always define. Don't check
2909         INCLUDED_TARGET_FILE.
2910
2911 2007-01-31  DJ Delorie  <dj@redhat.com>
2912
2913         * elf-m10300.c (mn10300_elf_relocate_section): Clarify the warning
2914         message for dangerous relocs, special case the common user error.
2915
2916 2007-01-30  H.J. Lu  <hongjiu.lu@intel.com>
2917
2918         * elf.c (copy_elf_program_header): Start from the first section
2919         in a segment and stop when all sections in a segment are
2920         accounted for.
2921
2922 2007-01-29  Julian Brown  <julian@codesourcery.com>
2923
2924         * bfd-in2.h: Regenerate.
2925         * bfd-in.h (bfd_arm_vfp11_fix): New enum. Specify how VFP11
2926         instruction scanning should be done.
2927         (bfd_elf32_arm_init_maps, bfd_elf32_arm_vfp11_erratum_scan)
2928         (bfd_elf32_arm_vfp11_fix_veneer_locations): Add prototypes.
2929         (bfd_elf32_arm_set_target_relocs): Add vfp11 fix type argument to
2930         prototype.
2931         * elf-bfd.h (elf_backend_write_section): Add struct bfd_link_info
2932         argument.
2933         * elf32-arm.c (VFP11_ERRATUM_VENEER_SECTION_NAME)
2934         (VFP11_ERRATUM_VENEER_ENTRY_NAME): Define macros.
2935         (elf32_vfp11_erratum_type): New enum.
2936         (elf32_vfp11_erratum_list): New struct. List of veneers or jumps to
2937         veneers.
2938         (_arm_elf_section_data): Add mapsize, erratumcount, erratumlist.
2939         (elf32_arm_link_hash_table): Add vfp11_erratum_glue_size,
2940         vfp11_fix and num_vfp11_fixes fields.
2941         (elf32_arm_link_hash_table_create): Initialise vfp11_fix,
2942         vfp11_erratum_glue_size, num_vfp11_fixes fields.
2943         (VFP11_ERRATUM_VENEER_SIZE): Define. Size of an (ARM) veneer.
2944         (bfd_elf32_arm_allocate_interworking_sections): Initialise erratum
2945         glue section.
2946         (elf32_arm_section_map_add): Add an code/data mapping symbol entry
2947         to a section's map.
2948         (record_vfp11_erratum_veneer): Create a single veneer, and its
2949         associated symbols.
2950         (bfd_elf32_arm_add_glue_sections_to_bfd): Add vfp11 erratum glue.
2951         (bfd_elf32_arm_init_maps): Initialise mapping symbol table for input
2952         BFDs.
2953         (bfd_elf32_arm_set_vfp11_fix): Set the type of erratum workaround
2954         required.
2955         (bfd_arm_vfp11_pipe): Define VFP11 instruction pipes.
2956         (bfd_arm_vfp11_regno): Recode a register number from a VFP11 insn.
2957         (bfd_arm_vfp11_write_mask): Update write mask according to coded
2958         register number.
2959         (bfd_arm_vfp11_antidependency): New function.
2960         (bfd_arm_vfp11_insn_decode): Decode a VFP11 insn.
2961         (elf32_arm_compare_mapping): Declare.
2962         (bfd_elf32_arm_vfp11_erratum_scan): Scan the sections of an input
2963         BFD for potential erratum-triggering insns. Record results.
2964         (bfd_elf32_arm_vfp11_fix_veneer_locations): Find out where veneers
2965         and branches to veneers have been placed in virtual memory after
2966         layout.
2967         (bfd_elf32_arm_set_target_relocs): Set vfp11_fix field in global
2968         hash table.
2969         (elf32_arm_output_symbol_hook): Remove.
2970         (elf32_arm_write_section): Output veneers, and branches to veneers.
2971         Use maps from input sections, not output sections, for code
2972         byte-swapping.
2973         * elf32-ppc.c (ppc_elf_write_section): Add dummy link_info argument.
2974         * elf32-score.c (_bfd_score_elf_write_section): Likewise.
2975         * elfxx-mips.c (_bfd_mips_elf_write_section): Likewise.
2976         * elfxx-mips.h (_bfd_mips_elf_write_section): Likewise.
2977
2978 2007-01-27  H.J. Lu  <hongjiu.lu@intel.com>
2979
2980         * elf64-hppa.c (elf64_bed): Defined for HPUX and Linux.
2981         (INCLUDED_TARGET_FILE): Removed.
2982
2983 2007-01-27  Mike Frysinger  <vapier@gentoo.org>
2984
2985         * elf32-hppa.c (elf32_bed): Define for hpux, linux and netbsd.
2986         (INCLUDED_TARGET_FILE): Remove.
2987
2988 2007-01-25  DJ Delorie  <dj@redhat.com>
2989
2990         * elf32-m32c.c (m32c_elf_howto_table): Don't complain about
2991         R_M32C_16 or R_M32C_24 relocs.
2992
2993 2007-01-25  Nick Clifton  <nickc@redhat.com>
2994
2995         PR binutils/3874
2996         * elf32-avr.c (avr_link_hash_table): Check to make sure that the
2997         hash table was created by elf32_avr_link_hash_table_create before
2998         using it.
2999         (elf32_avr_link_hash_newfunc): New function.  Just pass the call
3000         through to _bfd_elf_link_hash_newfunc.
3001         (elf32_avr_link_hash_table_create): Use
3002         elf32_avr_link_hash_newfunc instead of
3003         _bfd_elf_link_hash_newfunc.
3004         (elf32_avr_relocate_section): Check for the hash table pointer
3005         being NULL.
3006         (elf32_avr_relax_section, avr_build_one_stub,
3007         elf32_avr_setup_params, get_local_syms, elf32_avr_size_stubs,
3008         elf32_avr_build_stubs): Likewise.
3009
3010 2007-01-16  H.J. Lu  <hongjiu.lu@intel.com>
3011
3012         PR ld/3831
3013         * elf-bfd.h (bfd_elf_link_mark_dynamic_symbol): Add an
3014         argument, Elf_Internal_Sym *.
3015
3016         * elflink.c (bfd_elf_link_mark_dynamic_symbol): Mark a data
3017         symbol dynamic if info->dynamic_data is TRUE.
3018         (bfd_elf_record_link_assignment): Updated call to
3019         bfd_elf_record_link_assignment.
3020         (_bfd_elf_merge_symbol): Likewise.  Always call
3021         bfd_elf_link_mark_dynamic_symbol.
3022
3023 2007-01-12  H.J. Lu  <hongjiu.lu@intel.com>
3024
3025         * Makefile.am (BFD_LIBS): Removed.
3026         * Makefile.in: Regenerated.
3027
3028 2007-01-11  H.J. Lu  <hongjiu.lu@intel.com>
3029
3030         PR binutils/3631
3031         * Makefile.am (OFILES): Add @bfd64_libs@.
3032         (libbfd_la_SOURCES): Remove $(BFD64_LIBS_CFILES).
3033         * Makefile.in: Regenerated.
3034
3035         * configure.in (bfd_libs): Replaced by ...
3036         (bfd64_libs): This.
3037         * configure: Regenerated.
3038
3039 2007-01-11  Nathan Sidwell  <nathan@codesourcery.com>
3040
3041         * elf.c (assign_file_positions_for_load_sections): We can
3042         require fewer phdrs than expected.
3043
3044 2007-01-08  Kazu Hirata  <kazu@codesourcery.com>
3045
3046         * archures.c (bfd_mach_cpu32_fido): Rename to bfd_mach_fido.
3047         * bfd-in2.h: Regenerate.
3048         * cpu-m68k.c (arch_info_struct): Use bfd_mach_fido instead of
3049         bfd_mach_cpu32_fido.
3050         (m68k_arch_features): Use fido_a instead of cpu32.
3051         (bfd_m68k_compatible): Reject the combination of Fido and
3052         ColdFire.  Accept the combination of CPU32 and Fido with a
3053         warning.
3054         * elf32-m68k.c (elf32_m68k_object_p,
3055         elf32_m68k_merge_private_bfd_data,
3056         elf32_m68k_print_private_bfd_data): Treat Fido as an
3057         architecture by itself.
3058
3059 2007-01-08  Kai Tietz   <kai.tietz@onevision.com>
3060
3061         * config.bfd: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*.
3062
3063 2007-01-05  Jakub Jelinek  <jakub@redhat.com>
3064
3065         * texhex.c (first_phase): Don't fall through into the default
3066         case.
3067         (pass_over): Replace abort () calls with return FALSE.  Fix
3068         buffer overflow.
3069
3070 2007-01-04  Jie Zhang  <jie.zhang@analog.com>
3071
3072         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't set
3073         SEC_EXCLUDE on zero size .eh_frame.
3074
3075 For older changes see ChangeLog-2006
3076 \f
3077 Local Variables:
3078 mode: change-log
3079 left-margin: 8
3080 fill-column: 74
3081 version-control: never
3082 End: