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