* elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
[external/binutils.git] / bfd / ChangeLog
1 2004-08-09  Alan Modra  <amodra@bigpond.net.au>
2
3         * elf64-ppc.c (struct ppc_link_hash_entry): Make "oh" a
4         "struct ppc_link_hash_entry *".  Adjust all references.
5         (ppc64_elf_hide_symbol): Correct a comment.
6
7         * elf64-ppc.c (get_opd_info): New function.
8         (adjust_opd_syms): Use get_opd_info.  Define removed symbols as zero.
9         (ppc64_elf_edit_opd): Use get_opd_info.  Check that sym has a dot
10         before calling get_fdh.  Test fdh rather than h before dereferencing
11         fdh.  Mark removed symbols in opd_adjust.
12         (ppc64_elf_tls_optimize): Don't bother with opd adjustment here.
13         (ppc64_elf_relocate_section): Use get_opd_info, and handle removed
14         opd symbols.
15         (ppc64_elf_output_symbol_hook): Likewise.
16
17 2004-08-06  Paul Brook  <paul@codesourcery.com>
18
19         * elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
20         (elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
21         BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
22         * reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
23         and BFD_RELOC_ARM_SBREL32.
24         * bfd-in2.h, bbfd.h: Regenerate.
25
26 2004-08-01  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
27
28         * elfxx-mips.c (mips_elf_calculate_relocation): Test only for
29         the dynamic link symbol actually in use.
30
31 2004-08-01  Stephane Carrez  <stcarrez@nerim.fr>
32
33         * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Handle bfd_link_hash_new
34
35 2004-07-31  Joel Brobecker  <brobecker@gnat.com>
36             Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
37
38         * elfxx-mips.c (_bfd_mips_elf_symbol_processing): Handle
39         SHN_MIPS_TEXT and SHN_MIPS_DATA.
40
41 2004-07-30  H.J. Lu  <hongjiu.lu@intel.com>
42             Nick Clifton  <nickc@redhat.com>
43
44         PR 290
45         * bfd.c (_bfd_default_error_handler): Make it global.
46
47         * elf-bfd.h (elf_backend_data): Add link_order_error_handler.
48
49         * elf.c (assign_section_numbers): Cope gracefully with sections
50         which have SHF_LINK_ORDER set but no sh_link set up.
51         * elflink.c (elf_get_linked_section_vma): Likewise.
52
53         * elfxx-ia64.c (elf_backend_link_order_error_handler): New. Set
54         it to NULL.
55
56         * elfxx-target.h (elf_backend_link_order_error_handler): New.
57         Set it to _bfd_default_error_handler.
58         (elfNN_bed): Add elf_backend_link_order_error_handler.
59
60         * libbfd-in.h (_bfd_default_error_handler): New.
61
62         * libbfd.h: Regenerated.
63
64 2004-07-30  Jakub Jelinek  <jakub@redhat.com>
65
66         * archures.c (bfd_mach_sparc_64bit_p): Define.
67         * elf32-sparc.c (elf32_sparc_merge_private_bfd_data): Use it.
68         * bfd-in2.h: Rebuilt.
69
70 2004-07-29  Alexandre Oliva  <aoliva@redhat.com>
71
72         Introduce SH2a support.
73         2004-02-18  Corinna Vinschen  <vinschen@redhat.com>
74         * archures.c (bfd_mach_sh2a_nofpu): New.
75         * bfd-in2.h: Rebuilt.
76         * cpu-sh.c (SH2A_NOFPU_NEXT): New.
77         (arch_info_struct): Add sh2a_nofpu.
78         * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a_nofpu.
79         2003-12-29  DJ Delorie  <dj@redhat.com>
80         * reloc.c: Add relocs for sh2a.
81         * bfd-in2.h: Regenerate.
82         * libbfd.hh: Regenerate.
83         2003-12-01  Michael Snyder  <msnyder@redhat.com>
84         * archures.c (bfd_mach_sh2a): New.
85         * bfd-in2.h: Rebuilt.
86         * cpu-sh.c (SH_NEXT, SH2_NEXT, etc.): Change defines to enums.
87         (SH2A_NEXT): New.
88         (arch_info_struct): Add sh2a.
89         * elf32-sh.c (sh_elf_set_mach_from_flags): Handle sh2a.
90
91 2004-07-28  Nick Clifton  <nickc@redhat.com>
92             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
93
94         PR 273
95         * som.c (setup_sections): Improve estimation of space sizes in
96         relocatable objects.
97
98 2004-07-27  Jason Thorpe  <thorpej@wasabisystems.com>
99         * config.bfd (hppa*-*-netbsd*): Set targ_defvec to
100         bfd_elf32_hppa_nbsd_vec.  Add bfd_elf32_hppa_linux_vec
101         to targ_selvecs.
102         * configure.in (bfd_elf32_hppa_nbsd_vec): Add case.
103         * configure: Regenerate.
104         * elf32-hppa.c (elf32_hppa_object_p): Add "elf32-hppa-netbsd"
105         case that accepts OSABI=NetBSD and OSABI=SysV.
106         (elf32_hppa_set_gp): For "elf32-hppa-netbsd", set the GP to
107         the base of .got or .data (if .got does not exist).
108         (elf32_hppa_post_process_headers): For elf32-hppa-netbsd,
109         set OSABI=NetBSD.
110         (TARGET_BIG_SYM): Add bfd_elf32_hppa_nbsd_vec case.
111         (TARGET_BIG_NAME): Add "elf32-hppa-netbsd" case.
112         * targets.c (bfd_elf32_hppa_nbsd_vec): Add extern declaration.
113         (_bfd_target_vector): Add bfd_elf32_hppa_nbsd_vec.
114
115 2004-07-27  H.J. Lu  <hongjiu.lu@intel.com>
116
117         PR 161/251
118         * elf-bfd.h (bfd_elf_section_data): Add sec_group.
119         (elf_sec_group): Defined.
120         (bfd_elf_match_symbols_in_sections): New prototype.
121         (_bfd_elf_setup_group_pointers): Likewise.
122
123         * elf.c (bfd_elf_discard_group): Abort.
124         (bfd_elf_set_group_contents): Also include relocation sections.
125         Remove zero-fill for ld -r.
126         (_bfd_elf_setup_group_pointers): New function.
127         (elf_sort_elf_symbol): Likewise.
128         (elf_sym_name_compare): Likewise.
129         (bfd_elf_match_symbols_in_sections): Likewise.
130
131         * elfcode.h (elf_object_p): Call _bfd_elf_setup_group_pointers.
132
133         * elflink.c (match_group_member): New.
134         (elf_link_input_bfd): Check group member for discarded section.
135         (try_match_symbols_in_sections): New function.
136         (already_linked): Likewise.
137         (_bfd_elf_section_already_linked): Support mixing comdat group
138         and linkonce section.
139
140         * libbfd-in.h (bfd_section_already_linked_table_traverse): New.
141         * linker.c (bfd_section_already_linked_table_traverse): New.
142
143         * libbfd.h: Regenerated.
144
145 2004-07-27  Tomer Levi  <Tomer.Levi@nsc.com>
146
147         * reloc.c: Add BFD_RELOC_CRX_SWITCH8, BFD_RELOC_CRX_SWITCH16,
148         BFD_RELOC_CRX_SWITCH32.
149         * bfd-in2.h: Regenerate.
150         * libbfd.h: Regenerate.
151         * elf32-crx.c: Support relocation/relaxation of
152         BFD_RELOC_CRX_SWITCH* types.
153
154 2004-07-27  Alan Modra  <amodra@bigpond.net.au>
155
156         * elf64-ppc.c: Correct "Linker stubs" comment.
157
158 2004-07-26  H.J. Lu  <hongjiu.lu@intel.com>
159
160         * elf-bfd.h (bfd_elf_section_data): Add a pointer for the
161         linked-to section.
162         (elf_linked_to_section): New.
163
164         * elf.c (assign_section_numbers): Set up sh_link for
165         SHF_LINK_ORDER.
166
167         * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set sh_info
168         to sh_link for SHT_IA_64_UNWIND sections.
169
170 2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>
171
172         * elflink.c (elf_fixup_link_order): Add _() to error message.
173
174 2004-07-22  H.J. Lu  <hongjiu.lu@intel.com>
175
176         * elflink.c (elf_fixup_link_order): Issue a warning and flag
177         an error if failed.
178
179 2004-07-21  H.J. Lu  <hongjiu.lu@intel.com>
180
181         * aout-adobe.c (aout_32_section_already_linked): Defined.
182         * aout-target.h (MY_section_already_linked): Likewise.
183         * aout-tic30.c (MY_section_already_linked): Likewise.
184         * binary.c (binary_section_already_linked): Likewise.
185         * bout.c (b_out_section_already_linked): Likewise.
186         * coff-alpha.c (_bfd_ecoff_section_already_linked): Likewise.
187         * coff-mips.c (_bfd_ecoff_section_already_linked): Likewise.
188         * coffcode.h (coff_section_already_linked): Likewise.
189         * i386msdos.c (msdos_section_already_linked): Likewise.
190         * i386os9k.c (os9k_section_already_linked): Likewise.
191         * ieee.c (ieee_section_already_linked): Likewise.
192         * ihex.c (ihex_section_already_linked): Likewise.
193         * mach-o.c (bfd_mach_o_section_already_linked): Likewise.
194         * mmo.c (mmo_section_already_linked): Likewise.
195         * nlm-target.h (nlm_section_already_linked): Likewise.
196         * oasys.c (oasys_section_already_linked): Likewise.
197         * pef.c (bfd_pef_section_already_linked): Likewise.
198         * ppcboot.c (ppcboot_section_already_linked): Likewise.
199         * som.c (som_bfd_discard_group): Likewise.
200         * srec.c (srec_section_already_linked): Likewise.
201         * tekhex.c (tekhex_section_already_linked): Likewise.
202         * versados.c (versados_section_already_linked): Likewise.
203         * vms.c (vms_section_already_linked): Likewise.
204         * coff-target.h (_bfd_xcoff_section_already_linked): Likewise.
205         * xsym.c (bfd_sym_section_already_linked): Likewise.
206
207         * bfd-in.h (bfd_section_already_linked_table_init): New.
208         (bfd_section_already_linked_table_free): Likewise.
209
210         * coff-rs6000.c (rs6000coff_vec): Add
211         _bfd_generic_section_already_linked.
212         (pmac_xcoff_vec): Likewise.
213         * coff64-rs6000.c (rs6000coff64_vec): Likewise.
214         (aix5coff64_vec): Likewise.
215
216         * elf-bfd.h (_bfd_elf_section_already_linked): New prototype.
217         * elflink.c (_bfd_elf_section_already_linked): New function.
218
219         * elfxx-target.h (bfd_elfNN_section_already_linked): Defined.
220
221         * libbfd-in.h (_bfd_nolink_section_already_linked): Defined.
222         (_bfd_generic_section_already_linked): New.
223         (bfd_section_already_linked_hash_entry): Likewise.
224         (bfd_section_already_linked): Likewise.
225         (bfd_section_already_linked_table_lookup): Likewise.
226         (bfd_section_already_linked_table_insert): Likewise.
227
228         * linker.c (bfd_section_already_linked): New.
229         (_bfd_section_already_linked_table): Likewise.
230         (bfd_section_already_linked_table_lookup): Likewise.
231         (bfd_section_already_linked_table_insert): Likewise.
232         (already_linked_newfunc): Likewise.
233         (bfd_section_already_linked_table_init): Likewise.
234         (bfd_section_already_linked_table_free): Likewise.
235         (_bfd_generic_section_already_linked): Likewise.
236
237         * section.c (bfd_section): Remove comdat.
238         (bfd_comdat_info): Moved to ...
239         * bfd-in.h (coff_comdat_info): Here.
240         (bfd_coff_get_comdat_section): New.
241         * coffgen.c (bfd_coff_get_comdat_section): Likewise.
242         * libcoff-in.h (coff_section_tdata): Add comdat.
243         * coffcode.h (handle_COMDAT): Updated.
244         * cofflink.c (coff_link_add_symbols): Likewise.
245         * ecoff.c (bfd_debug_section): Likewise.
246
247         * targets.c (bfd_target): Add _section_already_linked.
248         (BFD_JUMP_TABLE_LINK): Updated.
249
250         * bfd-in2.h: Regenerated.
251         * libbfd.h: Likewise.
252         * libcoff.h: Likewise.
253
254 2003-07-21  Paul Brook  <paul@codesourcery.com>
255
256         * elflink.c (elf_get_linked_section_vma, compare_link_order,
257         elf_fixup_link_order): New functions.
258         (bfd_elf_final_link): Call elf_fixup_link_order.
259
260 2004-07-21  Alexandre Oliva  <aoliva@redhat.com>
261
262         * elf-bfd.h (ELF_COMMON_DEF_P): New.
263         * elflink.c (_bfd_elf_symbol_refs_local_p): Use it to handle
264         common definitions.
265         * elf-m10300.c: Use SYMBOL_REFERENCES_LOCAL instead of
266         _bfd_elf_symbol_refs_local_p.
267         * elf32-frv.c (FRVFDPIC_SYM_LOCAL): Remove hack for common
268         symbols.
269
270 2004-07-19  H.J. Lu  <hongjiu.lu@intel.com>
271
272         * bfd-in.h (dynamic_lib_link_class): Add DYN_NO_ADD_NEEDED and
273         DYN_NO_NEEDED.
274         (bfd_elf_get_dyn_lib_class): New prototype.
275         * elf.c (bfd_elf_get_dyn_lib_class): New function.
276
277         * elflink.c (elf_link_add_object_symbols): Check DYN_AS_NEEDED,
278         DYN_DT_NEEDED and DYN_NO_NEEDED bits to see if a DT_NEEDED
279         entry is needed. Issue an error if a DT_NEEDED entry is needed
280         for a file marked DYN_NO_NEEDED.
281         (elf_link_check_versioned_symbol): Check the DYN_DT_NEEDED bit
282         for DT_NEEDED tags.
283
284         * bfd-in2.h: Regenerated.
285
286 2004-07-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
287
288         * elflink.c (elf_section_complain_discarded): Don't complain in
289         .PARISC.unwind.
290
291 2004-07-10  James E Wilson  <wilson@specifixinc.com>
292
293         * elfxx-ia64.c (elfNN_ia64_relax_ldxmov): Remove abfd parameter.
294         (elfNN_ia64_install_value, elfNN_ia64_relax_brl): Likewise.
295         (elfNN_ia64_relax_section, elfNN_ia64_relocate_section,
296         elfNN_ia64_finish_dynamic_symbol, elfNN_ia64_finish_dynamic_sections):
297         Fix callers.
298         (elfNN_ia64_relax_brl): Change bfd_get_64 to bfd_getl64.  Change
299         bfd_put_64 to bfd_putl64.
300         (elfNN_ia64_relax_ldxmov, elfNN_ia64_install_value): Likewise.
301
302 2004-07-09  H.J. Lu  <hongjiu.lu@intel.com>
303
304         PR 240
305         * elfxx-ia64.c (elfNN_ia64_relax_section): Only warn br in
306         .init/.fini sections when trying to relax it.
307
308 2004-07-09  Jie Zhang  <zhangjie@magima.com.cn>
309
310         * elf.c (assign_file_positions_for_segments): Make sure the
311         .dynamic section is the first section in the PT_DYNAMIC segment.
312
313 2004-07-09  Nick Clifton  <nickc@redhat.com>
314
315         * config.bfd: Change sh-sybmian-elf to sh-*-symbianelf.
316         * elf32-sh-symbian.c: Rename the sh_find_elf_flags and
317         sh_elf_get_flags_from_mach functions so that they do not conflict
318         when this target is built with other sh-elf targets.
319         * elf32-sh.c (sh_elf_get_flags_from_mach): Remove bogus
320         suppression of this function.
321         (sh_elf_find_flags): Likewise.
322
323 2004-07-07  Tomer Levi  <Tomer.Levi@nsc.com>
324
325         * Makefile.am (ALL_MACHINES): Add cpu-crx.lo.
326         (ALL_MACHINES_CFILES): Add cpu-crx.c.
327         (BFD32_BACKENDS): Add elf32-crx.lo.
328         (BFD32_BACKENDS_CFILES): Add elf32-crx.c.
329         (cpu-crx.lo): New target.
330         (elf32-crx.lo): New target.
331         * Makefile.in: Regenerate.
332         * archures.c (bfd_architecture): Add bfd_{arch,mach}_crx.
333         (bfd_archures_list): Add bfd_crx_arch.
334         * bfd-in2.h: Regenerate.
335         * config.bfd: Handle crx-*-elf*, crx*.
336         * configure.in: Handle bfd_elf32_crx_vec.
337         * configure: Regenerate.
338         * cpu-crx.c: New file.
339         * elf32-crx.c: Likewise.
340         * libbfd.h: Regenerate.
341         * reloc.c: Add BFD_RELOC_CRX_REL4, BFD_RELOC_CRX_REL8,
342         BFD_RELOC_CRX_REL8_CMP, BFD_RELOC_CRX_REL16, BFD_RELOC_CRX_REL24,
343         BFD_RELOC_CRX_REL32, BFD_RELOC_CRX_REGREL12, BFD_RELOC_CRX_REGREL22,
344         BFD_RELOC_CRX_REGREL28, BFD_RELOC_CRX_REGREL32, BFD_RELOC_CRX_ABS16,
345         BFD_RELOC_CRX_ABS32, BFD_RELOC_CRX_NUM8, BFD_RELOC_CRX_NUM16,
346         BFD_RELOC_CRX_NUM32, BFD_RELOC_CRX_IMM16 and BFD_RELOC_CRX_IMM32
347         * targets.c (bfd_elf32_crx_vec): Declare.
348         (bfd_target_vector): Add bfd_elf32_crx_vec.
349
350 2004-07-06  Nick Clifton  <nickc@redhat.com>
351
352         * config.bfd: Add sh-symbian-elf target.
353         * configure.in: Add bfd_elf32_shl_symbian_vec.
354         * configure: Regenerate.
355         * elf-bfd.h (struct elf_backend_data): Add new field
356         'check_directives'.
357         * elflink.c (elf_link_add_object_symbols): Invoke the
358         check_directives function, if defined.
359         * elfxx-target.h: Provide a default, NULL definition for
360         check_directives.
361         * targets.c: Add bfd_elf32_shl_symbian_vec.
362         * elf32-sh.c (sh_elf_swap_insns): Protect against unnecessary
363         definition.
364         (elf32_shlin_grok_prstatus, elf32_shlib_grok_psinfo,
365         * sh_elf_get_flags_from_mach, sh_elf_find_flags): Likewise.
366         (TARGET_BIG_SYM, TARGET_LITTLE_SYM): Only define if they have
367         not already been defined.
368         * elf32-sh64.c: Use SH_TARGET_ALREADY_DEFINED.
369         * sh-symbian.c: New file.  Provide functions to support the
370         * sh-symbian-elf target.
371         * Makefile.am: Add elf32-sh-symbian.c
372         * Makefile.in: Regenerate.
373
374 2004-07-05  Andrew Stubbs <andrew.stubbs@superh.com>
375
376         * elf32-sh.c: Include ../opcodes/sh-opc.h.
377         * Makefile.am: Ran make dep-am.
378         * Makefile.in: Ran make dep-in.
379
380 2004-07-03  Aaron W. LaFramboise  <aaron98wiridge9@aaronwl.com>
381
382         * cofflink.c (_bfd_coff_generic_relocate_section): Resolve PE weak
383         externals properly.
384
385 2004-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
386
387         * config.bfd: Add want64 to configuration target s390-*-linux*.
388
389 2004-07-01  H.J. Lu  <hongjiu.lu@intel.com>
390
391         * bfd.c (bfd_get_section_ident): New.
392
393         * elflink.c (elf_link_read_relocs_from_section): Call
394         bfd_get_section_ident to identify the section when reporting
395         error.
396         (_bfd_elf_link_output_relocs): Likewise.
397         (elf_link_output_extsym): Likewise.
398         (elf_link_input_bfd): Likewise.
399         (bfd_elf_gc_record_vtinherit): Likewise.
400
401         * bfd-in2.h: Regenerated.
402
403 2004-07-01  Jie Zhang  <zhangjie@magima.com.cn>
404             Nick Clifton  <nickc@redhat.com>
405
406         PR 204
407         * elfxx-mips.c (_bfd_mips_elf_final_link): Pass the correct number
408         of section symbols to mips_elf_sort_hash_table ().
409
410 2004-07-01  Alan Modra  <amodra@bigpond.net.au>
411
412         * elflink.c (elf_section_ignore_discarded_relocs): Revert last
413         change.  Comment.
414         (elf_section_complain_discarded): New function.  Handle
415         .gcc_except_table too.
416         (elf_link_input_bfd): Rewrite handling of relocs against symbols
417         in discarded sections.
418         * elf-bfd.h (elf_discarded_section): Protect macro arg.
419
420 2004-06-30  James E Wilson  <wilson@specifixinc.com>
421
422         * elfxx-ia64.c (elfNN_ia64_check_relocs): New local pltoff.  Initialize
423         to NULL.  Call get_pltoff if NULL and NEED_PLTOFF is true.
424
425 2004-06-30  H.J. Lu  <hongjiu.lu@intel.com>
426
427         PR 233
428         * elflink.c (elf_link_input_bfd): Issue an error for non-debug
429         local references to discarded sections and report their
430         locations.
431
432 2004-06-30  Alan Modra  <amodra@bigpond.net.au>
433
434         * elflink.c (elf_section_ignore_discarded_relocs): Don't test
435         sec_info_type, test section name instead.
436
437 2004-06-29  H.J. Lu  <hongjiu.lu@intel.com>
438
439         PR 240
440         * elfxx-ia64.c (elfNN_ia64_relax_section): Don't relax branch
441         in .init/.fini sections.
442
443 2004-06-29  Bob Wilson  <bob.wilson@acm.org>
444
445         * elf32-xtensa.c (elf_xtensa_relocate_section): Use
446         bfd_get_section_limit.
447
448 2004-06-29  Bob Wilson  <bob.wilson@acm.org>
449
450         * elf32-xtensa.c (elf_xtensa_combine_prop_entries): Don't change the
451         output section size.
452
453 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
454
455         * elf64-mmix.c (mmix_set_relaxable_size): Save original size in
456         rawsize.
457         (mmix_elf_perform_relocation): Adjust for above change.
458         (mmix_elf_relocate_section): Likewise.
459         (mmix_elf_relax_section): Likewise.  Use output_section->rawsize.
460         (mmix_elf_get_section_contents): Delete.
461         (bfd_elf64_get_section_contents): Delete.
462         (mmix_elf_relocate_section): Zero stub area.
463         * linker.c (default_indirect_link_order): Alloc max of section size
464         and rawsize.
465         * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
466         * section.c (bfd_malloc_and_get_section): Likewise.
467         (struct bfd_section): Update rawsize comment.
468         * bfd-in2.h: Regenerate.
469
470         * reloc16.c (bfd_coff_reloc16_relax_section): Set rawsize.
471
472 2004-06-29  Alan Modra  <amodra@bigpond.net.au>
473
474         * bfd-in.h (bfd_get_section_limit): Define.
475         * reloc.c (bfd_perform_relocation, bfd_install_relocation)
476         (_bfd_final_link_relocate): Use bfd_get_section_limit.
477         * aout-tic30.c (tic30_aout_final_link_relocate): Likewise.
478         * coff-arm.c (coff_arm_relocate_section): Likewise.
479         * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): Likewise.
480         * cpu-ns32k.c (do_ns32k_reloc): Likewise.
481         (bfd_ns32k_final_link_relocate): Likewise.
482         * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): Likwise.
483         * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): Likewise.
484         * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc)
485         (i860_howto_highadj_reloc, i860_howto_splitn_reloc): Likewise.
486         * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc)
487         (m32r_elf_generic_reloc, m32r_elf_relocate_section): Likewise.
488         * elf32-m68hc1x.c (m68hc11_elf_special_reloc): Likewise.
489         * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
490         * elf32-or32.c (or32_elf_consth_reloc): Likewise.
491         * elf32-ppc.c (ppc_elf_addr16_ha_reloc): Likewise.
492         * elf32-s390.c (s390_elf_ldisp_reloc): Likewise.
493         * elf32-sh.c (sh_elf_reloc_loop): Likewise.
494         * elf32-sparc.c (sparc_elf_wdisp16_reloc): Likewise.
495         (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc): Likwise.
496         * elf32-v850.c (v850_elf_reloc): Likewise.
497         * elf32-xstormy16.c (xstormy16_elf_24_reloc): Likewise.
498         * elf32-xtensa.c (bfd_elf_xtensa_reloc): Likewise.
499         * elf64-alpha.c (elf64_alpha_reloc_gpdisp): Likewise.
500         * elf64-mips.c (mips_elf64_gprel32_reloc)
501         (mips16_gprel_reloc): Likewise.
502         * elf64-mmix.c (mmix_elf_reloc): Likewise.
503         * elf64-s390.c (s390_elf_ldisp_reloc): Likewise.
504         * elf64-sparc.c (init_insn_reloc): Likewise.
505         * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc): Likewise.
506         * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp)
507         (_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_lo16_reloc)
508         (_bfd_mips_elf_generic_reloc): Likewise.
509         * bfd-in2.h: Regenerate.
510
511 2004-06-28  Alan Modra  <amodra@bigpond.net.au>
512
513         * bfd-in.h (struct stab_info): Move from stabs.c.
514         * stabs.c (struct stab_link_includes_table): Delete.
515         (stab_link_includes_lookup): Delete.
516         (_bfd_write_section_stabs, _bfd_write_stab_strings): Remove one
517         level of indirection from sinfo parm.
518         (_bfd_link_section_stabs): Likewise.  Set SEC_LINKER_CREATED on
519         stabstr section.  Adjust hash table accesses.
520         * coff-ppc.c (ppc_bfd_coff_final_link): Do include rawsize in contents
521         alloc.  Adjust stab_info test.
522         * cofflink.c (_bfd_coff_link_hash_table_init): Clear stab_info.
523         (_bfd_coff_final_link): Adjust stab_info test.
524         (_bfd_coff_link_input_bfd): Ignore SEC_LINKER_CREATED sections.
525         * elf-bfd.h (struct elf_link_hash_table): Include struct stab_info
526         in place.
527         * libcoff-in.h (struct coff_link_hash_table): Likewise.
528         * elf.c (_bfd_elf_link_hash_table_init): Clear stab_info.
529         * elflink.c (bfd_elf_final_link): Don't attempt to link linker created
530         stabstr section.  Adjust stab_info test.
531         * libbfd-in.h (_bfd_link_section_stabs, _bfd_write_section_stabs)
532         (_bfd_write_stab_strings): Adjust prototypes.
533         * libbfd.h: Regenerate.
534         * libcoff.h: Regenerate.
535         * bfd-in2.h: Regenerate.
536
537 2004-06-27  Mark Kettenis  <kettenis@gnu.org>
538
539         From Miod Vallat <miod@online.fr>:
540         * aoutx.h (NAME(aout,machine_type)): Handle bfd_arch_m88k.
541
542 2004-06-26  Alexandre Oliva  <aoliva@redhat.com>
543
544         * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): Delete.
545         (struct elf32_mn10300_link_hash_entry): Remove
546         pcrel_relocs_copied.
547         (mn10300_elf_check_relocs): Only reserve dynamic relocations for
548         R_MN10300_32.  Don't adjust pcrel_relocs_copied.
549         (mn10300_elf_final_link_relocate): Fail for direct, pc-relative
550         and gotoff relocations if the symbol doesn't bind locally.  Use
551         _bfd_elf_symbol_refs_local_p to test.  Don't create dynamic
552         relocation for PCREL32.
553         (mn10300_elf_relocate_section): Use _bfd_elf_symbol_refs_local_p
554         to test whether a symbol binds locally.
555         (elf32_mn10300_link_hash_newfunc): Don't initialize
556         pcrel_relocs_copied.
557         (_bfd_mn10300_elf_discard_copies): Delete.
558         (_bfd_mn10300_elf_size_dynamic_sections): Don't call it.
559
560 2004-06-26  Mark Kettenis  <kettenis@gnu.org>
561
562         * config.bfd: Replace m88k-*-openbsd* with m88*-*-openbsd*.
563
564 2004-06-25  Joel Brobecker  <brobecker@gnat.com>
565
566         * som.c (som_set_reloc_info): Correct small typo.
567
568 2004-06-25  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
569
570         * elf32-m32r.c (m32r_elf_howto_table): Support R_M32R_GOTOFF.
571         (m32r_elf_relocate_section): Changed for R_M32R_GOTOFF.
572         (m32r_elf_gcsweep_hook): Likewise.
573         (m32r_elf_check_relocs): Likewise.
574         (m32r_elf_howto_table): Added R_M32R_GOTOFF_HI_ULO,
575         R_M32R_GOTOFF_HI_SLO and R_M32R_GOTOFF_LO.
576         * reloc.c: Added BFD_RELOC_M32R_GOTOFF_HI_ULO,
577         BFD_RELOC_M32R_GOTOFF_HI_SLO and BFD_RELOC_M32R_GOTOFF_LO.
578         * bfd-in2.h: Regenerated.
579         * libbfd.h: Regenerated.
580
581 2004-06-24  H.J. Lu  <hongjiu.lu@intel.com>
582
583         * elf64-x86-64.c (elf64_x86_64_check_relocs): Warn overflow
584         relocation symbol.
585         (elf64_x86_64_relocate_section): Issue an error for
586         R_X86_64_PC8, R_X86_64_PC16 and R_X86_64_PC32 relocations
587         against global symbols when building shared library.
588
589 2004-06-24  Alan Modra  <amodra@bigpond.net.au>
590
591         * section.c (struct sec): Rename "_cooked_size" to "size".
592         Rename "_raw_size" to "rawsize".
593         (STD_SECTION): Adjust comments.
594         (bfd_set_section_size, bfd_get_section_contents): Use size.
595         (bfd_malloc_and_get_section): New function.
596         * bfd-in.h (bfd_section_size, bfd_get_section_size): Use size.
597         * coff-sh.c (sh_relax_section): Alloc coff_section_data struct early.
598         Correctly free reloc and contents memory.
599         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Delete FIXME
600         and fake CIE now that we can shink section size to zero.
601         (_bfd_elf_write_section_eh_frame): Likewise..
602         * elf32-ppc.c (ppc_elf_relax_section): Delay reading section contents.
603         * elf-m10300.c (mn10300_elf_final_link_relocate): Don't use
604         _bfd_stab_section_offset.  Use _bfd_elf_section_offset.
605         * stabs.c (_bfd_stab_section_offset_): Remove unused args and
606         unneeded indirection.
607         * elf.c (_bfd_elf_section_offset): .. and update call.
608         * libbfd-in.h (_bfd_stab_section_offset): Update prototype.
609         * libbfd.h: Regenerate.
610         * bfd-in2.h: Regenerate.
611
612         Replace occurrences of "_raw_size" and "_cooked_size" in most places
613         with "size".  Set new "rawsize" for stabs, eh_frame, and SEC_MERGE
614         sections.  Use "rawsize", if non-zero, for bfd_get_section_contents
615         calls if the section might be a stabs, eh_frame, or SEC_MERGE section.
616         Similarly use "rawsize", if non-zero, in reloc functions to validate
617         reloc addresses.  Use new bfd_malloc_and_get_section in most places
618         where bfd_get_section_contents was called.  Expand all occurrences of
619         bfd_section_size and bfd_get_section_size.  Rename "raw_size" var in
620         grok_prstatus and similar functions to "size".
621         * aix386-core.c (aix386_core_file_p): ..
622         * aix5ppc-core.c (xcoff64_core_p): ..
623         * aout-adobe.c (aout_adobe_callback, aout_adobe_write_object_contents,
624         aout_adobe_set_section_contents): ..
625         * aout-target.h (callback): ..
626         * aout-tic30.c (tic30_aout_callback, tic30_aout_final_link_relocate,
627         MY_bfd_final_link): ..
628         * aoutf1.h (sunos4_core_file_p): ..
629         * aoutx.h (some_aout_object_p, adjust_o_magic, adjust_z_magic,
630         adjust_n_magic, adjust_sizes_and_vmas, translate_from_native_sym_flags,
631         final_link, aout_link_input_section): ..
632         * binary.c (binary_object_p, binary_canonicalize_symtab,
633         binary_set_section_contents): ..
634         * bout.c (b_out_callback, b_out_write_object_contents,
635         b_out_set_section_contents, b_out_bfd_relax_section,
636         b_out_bfd_get_relocated_section_contents): ..
637         * cisco-core.c (cisco_core_file_validate): ..
638         * coff-alpha.c (alpha_ecoff_object_p,
639         alpha_ecoff_get_relocated_section_conten, alpha_relocate_section): ..
640         * coff-arm.c (coff_arm_relocate_section,
641         bfd_arm_allocate_interworking_sections): ..
642         * coff-h8300.c (h8300_reloc16_extra_cases,
643         h8300_bfd_link_add_symbols): ..
644         * coff-mips.c (mips_refhi_reloc, mips_gprel_reloc): ..
645         * coff-ppc.c (coff_ppc_relocate_section, ppc_allocate_toc_section,
646         ppc_bfd_coff_final_link): ..
647         * coff-rs6000.c (xcoff_reloc_type_br, xcoff_ppc_relocate_section): ..
648         * coff-sh.c (sh_relax_section, sh_relax_delete_bytes,
649         sh_align_loads, sh_coff_get_relocated_section_contents): ..
650         * coff64-rs6000.c (xcoff64_write_object_contents,
651         xcoff64_reloc_type_br, xcoff64_ppc_relocate_section): ..
652         * coffcode.h (coff_compute_section_file_positions,
653         coff_write_object_contents): ..
654         * coffgen.c (make_a_section_from_file, coff_write_symbols,
655         coff_section_symbol, build_debug_section): ..
656         * cofflink.c (coff_link_add_symbols, _bfd_coff_final_link,
657         process_embedded_commands, _bfd_coff_link_input_bfd,
658         _bfd_coff_write_global_sym): ..
659         * cpu-arm.c (bfd_arm_update_notes, bfd_arm_get_mach_from_notes): ..
660         * cpu-ns32k.c (do_ns32k_reloc, _bfd_ns32k_final_link_relocate): ..
661         * dwarf1.c (parse_line_table, _bfd_dwarf1_find_nearest_line): ..
662         * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
663         _bfd_dwarf2_find_nearest_line): ..
664         * ecoff.c (bfd_debug_section, ecoff_set_symbol_info,
665         ecoff_compute_section_file_positions,
666         _bfd_ecoff_write_object_contents, ecoff_indirect_link_order): ..
667         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame,
668         _bfd_elf_discard_section_eh_frame_hdr,
669         _bfd_elf_maybe_strip_eh_frame_hdr, _bfd_elf_eh_frame_section_offset,
670         _bfd_elf_write_section_eh_frame,
671         _bfd_elf_write_section_eh_frame_hdr): ..
672         * elf-hppa.h (elf_hppa_sort_unwind): ..
673         * elf-m10200.c (mn10200_elf_relax_section,
674         mn10200_elf_relax_delete_bytes,
675         mn10200_elf_get_relocated_section_contents): ..
676         * elf-m10300.c (_bfd_mn10300_elf_create_got_section,
677         mn10300_elf_check_relocs, mn10300_elf_relax_section,
678         mn10300_elf_relax_delete_bytes,
679         mn10300_elf_get_relocated_section_contents,
680         _bfd_mn10300_elf_adjust_dynamic_symbol,
681         _bfd_mn10300_elf_discard_copies,
682         _bfd_mn10300_elf_size_dynamic_sections,
683         _bfd_mn10300_elf_finish_dynamic_sections): ..
684         * elf.c (_bfd_elf_print_private_bfd_data, bfd_elf_get_bfd_needed_list,
685         _bfd_elf_make_section_from_phdr, elf_fake_sections,
686         bfd_elf_set_group_contents, map_sections_to_segments,
687         elf_sort_sections, assign_file_positions_for_segments,
688         SECTION_SIZE, copy_private_bfd_data,
689         _bfd_elf_get_dynamic_reloc_upper_bound,
690         _bfd_elf_canonicalize_dynamic_reloc, elfcore_maybe_make_sect,
691         _bfd_elfcore_make_pseudosection, elfcore_grok_prstatus,
692         elfcore_grok_lwpstatus, elfcore_grok_win32pstatus,
693         elfcore_grok_note, elfcore_grok_nto_status, elfcore_grok_nto_gregs,
694         _bfd_elf_rel_local_sym, _bfd_elf_get_synthetic_symtab): ..
695         * elf32-arm.h (bfd_elf32_arm_allocate_interworking_sect,
696         bfd_elf32_arm_process_before_allocation,
697         elf32_arm_adjust_dynamic_symbol, allocate_dynrelocs,
698         elf32_arm_size_dynamic_sections, elf32_arm_finish_dynamic_sections,
699         elf32_arm_write_section): ..
700         * elf32-cris.c (cris_elf_grok_prstatus,
701         elf_cris_finish_dynamic_sections, cris_elf_gc_sweep_hook,
702         elf_cris_adjust_gotplt_to_got, elf_cris_adjust_dynamic_symbol,
703         cris_elf_check_relocs, elf_cris_size_dynamic_sections,
704         elf_cris_discard_excess_dso_dynamics,
705         elf_cris_discard_excess_program_dynamics): ..
706         * elf32-d30v.c (bfd_elf_d30v_reloc, bfd_elf_d30v_reloc_21): ..
707         * elf32-dlx.c (_bfd_dlx_elf_hi16_reloc): ..
708         * elf32-frv.c (_frvfdpic_add_dyn_reloc, _frvfdpic_add_rofixup,
709         _frv_create_got_section, _frvfdpic_assign_plt_entries,
710         elf32_frvfdpic_size_dynamic_sections,
711         elf32_frvfdpic_modify_segment_map,
712         elf32_frvfdpic_finish_dynamic_sections): ..
713         * elf32-h8300.c (elf32_h8_relax_section, elf32_h8_relax_delete_bytes,
714         elf32_h8_get_relocated_section_contents): ..
715         * elf32-hppa.c (hppa_build_one_stub, hppa_size_one_stub,
716         elf32_hppa_adjust_dynamic_symbol, allocate_plt_static,
717         allocate_dynrelocs, elf32_hppa_size_dynamic_sections, group_sections,
718         elf32_hppa_size_stubs, elf32_hppa_set_gp, elf32_hppa_build_stubs,
719         elf32_hppa_finish_dynamic_sections): ..
720         * elf32-i370.c (i370_elf_adjust_dynamic_symbol,
721         i370_elf_size_dynamic_sections, i370_elf_check_relocs,
722         i370_elf_finish_dynamic_sections): ..
723         * elf32-i386.c (elf_i386_grok_prstatus, elf_i386_adjust_dynamic_symbol,
724         allocate_dynrelocs, elf_i386_size_dynamic_sections,
725         elf_i386_relocate_section, elf_i386_finish_dynamic_sections): ..
726         * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
727         i860_howto_highadj_reloc, i860_howto_splitn_reloc): ..
728         * elf32-ip2k.c (ip2k_is_switch_table_128,
729         ip2k_relax_switch_table_128, ip2k_is_switch_table_256,
730         ip2k_relax_switch_table_256, ip2k_elf_relax_section,
731         adjust_all_relocations, ip2k_elf_relax_delete_bytes): ..
732         * elf32-m32r.c (m32r_elf_do_10_pcrel_reloc, m32r_elf_hi16_reloc,
733         m32r_elf_generic_reloc, m32r_elf_adjust_dynamic_symbol,
734         allocate_dynrelocs, m32r_elf_size_dynamic_sections,
735         m32r_elf_relocate_section, m32r_elf_finish_dynamic_sections,
736         m32r_elf_relax_section, m32r_elf_relax_delete_bytes,
737         m32r_elf_get_relocated_section_contents): ..
738         * elf32-m68hc11.c (m68hc11_elf_build_one_stub,
739         m68hc11_elf_size_one_stub, m68hc11_elf_relax_section,
740         m68hc11_elf_relax_delete_bytes): ..
741         * elf32-m68hc12.c (m68hc12_elf_build_one_stub,
742         m68hc12_elf_size_one_stub): ..
743         * elf32-m68hc1x.c (elf32_m68hc11_size_stubs,
744         elf32_m68hc11_build_stubs, m68hc11_elf_special_reloc): ..
745         * elf32-m68k.c (elf_m68k_check_relocs, elf_m68k_gc_sweep_hook,
746         elf_m68k_adjust_dynamic_symbol, elf_m68k_size_dynamic_sections,
747         elf_m68k_discard_copies, elf_m68k_finish_dynamic_sections): ..
748         * elf32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
749         elf32_mips_grok_prstatus): ..
750         * elf32-or32.c (or32_elf_consth_reloc): ..
751         * elf32-ppc.c (ppc_elf_relax_section, ppc_elf_addr16_ha_reloc,
752         elf_create_pointer_linker_section, ppc_elf_create_linker_section,
753         ppc_elf_additional_program_headers, ppc_elf_adjust_dynamic_symbol,
754         allocate_dynrelocs, ppc_elf_size_dynamic_sections,
755         ppc_elf_finish_dynamic_sections, ppc_elf_grok_prstatus,
756         ppc_elf_final_write_processing): ..
757         * elf32-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
758         allocate_dynrelocs, elf_s390_size_dynamic_sections,
759         elf_s390_finish_dynamic_sections, elf_s390_grok_prstatus): ..
760         * elf32-sh.c (sh_elf_reloc_loop, sh_elf_relax_section,
761         sh_elf_relax_delete_bytes, sh_elf_align_loads,
762         sh_elf_adjust_dynamic_symbol, allocate_dynrelocs,
763         sh_elf_size_dynamic_sections, sh_elf_get_relocated_section_contents,
764         sh_elf_finish_dynamic_sections, elf32_shlin_grok_prstatus): ..
765         * elf32-sh64-com.c (sh64_address_in_cranges,
766         sh64_get_contents_type): ..
767         * elf32-sh64.c (sh64_find_section_for_address,
768         sh64_elf_final_write_processing): ..
769         * elf32-sparc.c (sparc_elf_wdisp16_reloc, sparc_elf_hix22_reloc,
770         sparc_elf_lox10_reloc, elf32_sparc_adjust_dynamic_symbol,
771         allocate_dynrelocs, elf32_sparc_size_dynamic_sections,
772         elf32_sparc_relocate_section, elf32_sparc_finish_dynamic_sections): ..
773         * elf32-v850.c (v850_elf_reloc, v850_elf_relax_section): ..
774         * elf32-vax.c (elf_vax_check_relocs, elf_vax_adjust_dynamic_symbol,
775         elf_vax_size_dynamic_sections, elf_vax_discard_copies,
776         elf_vax_instantiate_got_entries, elf_vax_relocate_section,
777         elf_vax_finish_dynamic_sections): ..
778         * elf32-xstormy16.c (xstormy16_elf_24_reloc,
779         xstormy16_elf_check_relocs, xstormy16_relax_plt_check,
780         xstormy16_elf_relax_section, xstormy16_elf_always_size_sections,
781         xstormy16_elf_finish_dynamic_sections): ..
782         * elf32-xtensa.c (xtensa_read_table_entries,
783         elf_xtensa_allocate_got_size, elf_xtensa_allocate_local_got_size,
784         elf_xtensa_size_dynamic_sections, elf_xtensa_do_reloc,
785         bfd_elf_xtensa_reloc, elf_xtensa_relocate_section,
786         elf_xtensa_combine_prop_entries, elf_xtensa_finish_dynamic_sections,
787         elf_xtensa_discard_info_for_section, elf_xtensa_grok_prstatus,
788         get_relocation_opcode, retrieve_contents, find_relaxable_sections,
789         collect_source_relocs, is_resolvable_asm_expansion, remove_literals,
790         relax_section, shrink_dynamic_reloc_sections, relax_property_section,
791         xtensa_callback_required_dependence): ..
792         * elf64-alpha.c (elf64_alpha_reloc_gpdisp, elf64_alpha_relax_section,
793         elf64_alpha_check_relocs, elf64_alpha_adjust_dynamic_symbol,
794         elf64_alpha_calc_got_offsets_for_symbol, elf64_alpha_calc_got_offsets,
795         elf64_alpha_size_plt_section, elf64_alpha_size_plt_section_1,
796         elf64_alpha_always_size_sections, elf64_alpha_calc_dynrel_sizes,
797         elf64_alpha_size_rela_got_section, elf64_alpha_size_rela_got_1,
798         elf64_alpha_size_dynamic_sections, elf64_alpha_emit_dynrel,
799         elf64_alpha_finish_dynamic_sections, elf64_alpha_final_link): ..
800         * elf64-hppa.c (allocate_dynrel_entries,
801         elf64_hppa_size_dynamic_sections,
802         elf64_hppa_finish_dynamic_sections): ..
803         * elf64-mips.c (mips_elf64_gprel32_reloc, mips16_gprel_reloc,
804         mips_elf64_canonicalize_dynamic_reloc, mips_elf64_slurp_reloc_table,
805         elf64_mips_grok_prstatus): ..
806         * elf64-mmix.c (mmix_elf_perform_relocation, mmix_elf_reloc,
807         mmix_elf_relocate_section, mmix_elf_final_link,
808         mmix_set_relaxable_size, _bfd_mmix_after_linker_allocation,
809         mmix_elf_relax_section, mmix_elf_get_section_contents): ..
810         * elf64-ppc.c (ppc64_elf_object_p, ppc64_elf_grok_prstatus,
811         ppc64_elf_check_relocs, ppc64_elf_func_desc_adjust,
812         ppc64_elf_adjust_dynamic_symbol, ppc64_elf_edit_opd,
813         allocate_dynrelocs, ppc64_elf_size_dynamic_sections,
814         ppc_build_one_stub, ppc_size_one_stub, ppc64_elf_next_toc_section,
815         toc_adjusting_stub_needed, group_sections, ppc64_elf_size_stubs,
816         ppc64_elf_build_stubs, ppc64_elf_relocate_section,
817         ppc64_elf_finish_dynamic_sections): ..
818         * elf64-s390.c (s390_elf_ldisp_reloc, elf_s390_adjust_dynamic_symbol,
819         allocate_dynrelocs, elf_s390_size_dynamic_sections,
820         elf_s390_finish_dynamic_sections): ..
821         * elf64-sh64.c (sh_elf64_get_relocated_section_contents,
822         sh_elf64_check_relocs, sh64_elf64_adjust_dynamic_symbol,
823         sh64_elf64_discard_copies, sh64_elf64_size_dynamic_sections,
824         sh64_elf64_finish_dynamic_sections): ..
825         * elf64-sparc.c (sparc64_elf_slurp_reloc_table, init_insn_reloc,
826         sparc64_elf_check_relocs, sparc64_elf_adjust_dynamic_symbol,
827         sparc64_elf_size_dynamic_sections, sparc64_elf_relocate_section,
828         sparc64_elf_finish_dynamic_symbol,
829         sparc64_elf_finish_dynamic_sections): ..
830         * elf64-x86-64.c (elf64_x86_64_grok_prstatus,
831         elf64_x86_64_adjust_dynamic_symbol, allocate_dynrelocs,
832         elf64_x86_64_size_dynamic_sections, elf64_x86_64_relocate_section,
833         elf64_x86_64_finish_dynamic_sections): ..
834         * elfarm-nabi.c (elf32_arm_nabi_grok_prstatus): ..
835         * elfcode.h (elf_slurp_reloc_table): ..
836         * elflink.c (_bfd_elf_create_got_section, elf_add_dt_needed_tag,
837         elf_finalize_dynstr, elf_link_add_object_symbols,
838         bfd_elf_size_dynamic_sections, elf_link_sort_relocs,
839         elf_link_input_bfd, bfd_elf_final_link, bfd_elf_discard_info): ..
840         * elfn32-mips.c (gprel32_with_gp, mips16_gprel_reloc,
841         elf32_mips_grok_prstatus): ..
842         * elfxx-ia64.c (elfNN_ia64_relax_section, allocate_dynrel_entries,
843         elfNN_ia64_size_dynamic_sections, elfNN_ia64_install_dyn_reloc,
844         elfNN_ia64_choose_gp, elfNN_ia64_final_link,
845         elfNN_ia64_finish_dynamic_sections): ..
846         * elfxx-mips.c (mips_elf_create_procedure_table,
847         mips_elf_check_mips16_stubs, _bfd_mips_elf_gprel16_with_gp,
848         _bfd_mips_elf_hi16_reloc, _bfd_mips_elf_generic_reloc,
849         mips_elf_global_got_index, mips_elf_multi_got,
850         mips_elf_create_compact_rel_section, mips_elf_calculate_relocation,
851         mips_elf_allocate_dynamic_relocations,
852         mips_elf_create_dynamic_relocation, _bfd_mips_elf_fake_sections,
853         _bfd_mips_relax_section, _bfd_mips_elf_adjust_dynamic_symbol,
854         _bfd_mips_elf_always_size_sections,
855         _bfd_mips_elf_size_dynamic_sections,
856         _bfd_mips_elf_finish_dynamic_symbol,
857         _bfd_mips_elf_finish_dynamic_sections,
858         _bfd_mips_elf_modify_segment_map, _bfd_mips_elf_discard_info,
859         _bfd_mips_elf_write_section, _bfd_mips_elf_set_section_contents,
860         _bfd_elf_mips_get_relocated_section_contents,
861         _bfd_mips_elf_final_link, _bfd_mips_elf_merge_private_bfd_data): ..
862         * hp300hpux.c (callback): ..
863         * hppabsd-core.c (make_bfd_asection): ..
864         * hpux-core.c (make_bfd_asection): ..
865         * i386linux.c (linux_link_create_dynamic_sections,
866         bfd_i386linux_size_dynamic_sections, linux_finish_dynamic_link): ..
867         * i386msdos.c (msdos_write_object_contents): ..
868         * i386os9k.c (os9k_callback, os9k_write_object_contents,
869         os9k_set_section_contents): ..
870         * ieee.c (parse_expression, ieee_slurp_external_symbols,
871         ieee_slurp_sections, ieee_slurp_debug, ieee_slurp_section_data,
872         ieee_write_section_part, do_with_relocs, do_as_repeat,
873         do_without_relocs, ieee_write_debug_part, init_for_output,
874         ieee_set_section_contents): ..
875         * ihex.c (ihex_scan, ihex_read_section, ihex_get_section_contents): ..
876         * irix-core.c (do_sections, make_bfd_asection): ..
877         * libaout.h (aout_section_merge_with_text_p): ..
878         * libbfd.c (_bfd_generic_get_section_contents,
879         _bfd_generic_get_section_contents_in_window): ..
880         * linker.c (default_indirect_link_order): ..
881         * lynx-core.c (make_bfd_asection): ..
882         * m68klinux.c (linux_link_create_dynamic_sections,
883         bfd_m68klinux_size_dynamic_sections, linux_finish_dynamic_link): ..
884         * mach-o.c (bfd_mach_o_make_bfd_section,
885         bfd_mach_o_scan_read_dylinker, bfd_mach_o_scan_read_dylib,
886         bfd_mach_o_scan_read_thread, bfd_mach_o_scan_read_symtab,
887         bfd_mach_o_scan_read_segment): ..
888         * merge.c (_bfd_add_merge_section, record_section, merge_strings,
889         _bfd_merge_sections): ..
890         * mmo.c (mmo_find_sec_w_addr, mmo_get_spec_section, mmo_get_loc,
891         mmo_map_set_sizes, mmo_canonicalize_symtab,
892         mmo_internal_write_section, mmo_write_object_contents): ..
893         * netbsd-core.c (netbsd_core_file_p): ..
894         * nlm32-alpha.c (nlm_alpha_read_reloc, nlm_alpha_write_import,
895         nlm_alpha_set_public_section): ..
896         * nlm32-ppc.c (nlm_powerpc_read_reloc, nlm_powerpc_write_reloc): ..
897         * nlm32-sparc.c (nlm_sparc_write_import): ..
898         * nlmcode.h (add_bfd_section, nlm_swap_auxiliary_headers_in,
899         nlm_compute_section_file_positions): ..
900         * oasys.c (oasys_object_p, oasys_slurp_section_data,
901         oasys_write_sections, oasys_write_data, oasys_set_section_contents): ..
902         * opncls.c (get_debug_link_info): ..
903         * osf-core.c (make_bfd_asection): ..
904         * pdp11.c (some_aout_object_p, adjust_o_magic, adjust_z_magic,
905         adjust_n_magic, adjust_sizes_and_vmas, squirt_out_relocs,
906         final_link, aout_link_input_section): ..
907         * peXXigen.c (_bfd_XXi_swap_sym_in, _bfd_XXi_swap_aouthdr_out,
908         pe_print_idata, pe_print_edata, pe_print_pdata, pe_print_reloc): ..
909         * pef.c (bfd_pef_make_bfd_section, bfd_pef_print_loader_section,
910         bfd_pef_scan_start_address, bfd_pef_parse_symbols): ..
911         * ppcboot.c (ppcboot_object_p, ppcboot_canonicalize_symtab): ..
912         * ptrace-core.c (ptrace_unix_core_file_p): ..
913         * reloc.c (bfd_perform_relocation, bfd_install_relocation,
914         _bfd_final_link_relocate, bfd_generic_relax_section,
915         bfd_generic_get_relocated_section_contents): ..
916         * reloc16.c (bfd_coff_reloc16_relax_section,
917         bfd_coff_reloc16_get_relocated_section_c): ..
918         * riscix.c (riscix_some_aout_object_p): ..
919         * rs6000-core.c (read_hdr, make_bfd_asection): ..
920         * sco5-core.c (make_bfd_asection): ..
921         * simple.c (bfd_simple_get_relocated_section_contents): ..
922         * som.c (som_object_setup, setup_sections, som_prep_headers,
923         som_write_fixups, som_begin_writing, bfd_section_from_som_symbol,
924         som_set_reloc_info, som_get_section_contents,
925         som_bfd_link_split_section): ..
926         * sparclinux.c (linux_link_create_dynamic_sections,
927         bfd_sparclinux_size_dynamic_sections, linux_finish_dynamic_link): ..
928         * srec.c (srec_scan, srec_read_section, srec_get_section_contents): ..
929         * stabs.c (_bfd_link_section_stabs, _bfd_discard_section_stabs,
930         _bfd_write_stab_strings, _bfd_stab_section_offset): ..
931         * sunos.c (sunos_read_dynamic_info, sunos_create_dynamic_sections,
932         bfd_sunos_size_dynamic_sections, sunos_scan_std_relocs,
933         sunos_scan_ext_relocs, sunos_scan_dynamic_symbol,
934         sunos_write_dynamic_symbol, sunos_check_dynamic_reloc,
935         sunos_finish_dynamic_link): ..
936         * syms.c (_bfd_stab_section_find_nearest_line): ..
937         * tekhex.c (first_phase, tekhex_set_section_contents,
938         tekhex_write_object_contents): ..
939         * trad-core.c (trad_unix_core_file_p): ..
940         * versados.c (process_esd, process_otr, process_otr): ..
941         * vms-gsd.c (_bfd_vms_slurp_gsd, _bfd_vms_write_gsd): ..
942         * vms-misc.c (add_new_contents): ..
943         * vms-tir.c (check_section, new_section, _bfd_vms_write_tir): ..
944         * vms.c (vms_set_section_contents): ..
945         * xcofflink.c (xcoff_get_section_contents, xcoff_link_add_symbols,
946         xcoff_sweep, bfd_xcoff_size_dynamic_sections, xcoff_build_ldsyms,
947         _bfd_xcoff_bfd_final_link, xcoff_link_input_bfd): ..
948         * xsym.c (bfd_sym_scan): .. See above.
949
950 2004-06-21  H.J. Lu  <hongjiu.lu@intel.com>
951
952         * elfxx-ia64.c (elfNN_ia64_relax_section): Add addend when
953         calling _bfd_merged_section_offset only for section symbols.
954
955 2004-06-22  Alan Modra  <amodra@bigpond.net.au>
956
957         * elf32-ppc.c (ppc_elf_relax_section): Implement reference code
958         for handling SEC_MERGE symbols in relax_section.
959
960 2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
961
962         2003-05-15  Richard Sandiford  <rsandifo@redhat.com>
963         * cpu-h8300.c (compatible): Allow h8300s and h8300sx code to be
964         linked together. Mark the result as h8300sx code.
965
966 2004-06-21  Alexandre Oliva  <aoliva@redhat.com>
967
968         * elf-bfd.h (struct elf_backend_data): Added
969         elf_backend_omit_section_dynsym.
970         (_bfd_elf_link_omit_section_dynsym): Declare.
971         * elf32-frv.c (_frvfdpic_link_omit_section_dynsym): New.
972         (elf_backend_omit_section_dynsym): Use it for frvfdpic.
973         * elflink.c (_bfd_elf_link_omit_section_dynsym): Split out of...
974         (_bfd_elf_link_renumber_dynsyms): ... this function.
975         * elfxx-target.h (elf_backend_omit_section_dynsym): Default to
976         _bfd_elf_link_omit_section_dynsym).
977         (elfNN_bed): Added elf_backend_omit_section_dynsym.
978
979 2004-06-21  Nick Clifton  <nickc@redhat.com>
980
981         * coffcode.h (styp_to_sec_flags): Ignore IMAGE_SCN_MEM_NOT_PAGED
982         flags.
983
984 2004-06-17  Jerome Guitton  <guitton@gnat.com>
985
986         * bfd-in.h (bfd_cache_close_all): New function declaration.
987         * bfd-in2.h: Regenerate.
988         * cache.c (bfd_cache_close_all): New function definition.
989
990 2004-06-16  Mark Kettenis  <kettenis@gnu.org>
991
992         * configure.in: Don't set COREFILE to trad-core.lo for FreeBSD
993         4.10 and beyond.
994         * configure: Regenerate.
995
996 2004-06-16  Daniel Jacobowitz  <dan@debian.org>
997
998         * elf32-ppc.c (ppc_elf_create_linker_section): Create symbols in
999         the pre-existing section.
1000
1001 2004-06-15  Alan Modra  <amodra@bigpond.net.au>
1002
1003         * section.c (struct sec): Remove usused flags.  Reorganize a little.
1004         (bfd_get_section_size_before_reloc): Delete.
1005         (bfd_get_section_size_after_reloc): Delete.
1006         (STD_SECTION): Update.
1007         (bfd_get_section_size_now): Delete.
1008         (bfd_set_section_contents): Don't referece reloc_done.
1009         (bfd_get_section_contents): Remove reloc_done comment.
1010         * bout.c (b_out_bfd_get_relocated_section_contents): Don't set
1011         reloc_done.
1012         * coff-alpha.c (alpha_ecoff_get_relocated_section_contents): Likewise.
1013         * ecoff.c (bfd_debug_section): Update initializer.
1014         * elfxx-mips.c (_bfd_elf_mips_get_relocated_section_contents): Ditto.
1015         * reloc.c (bfd_generic_get_relocated_section_contents): Likewise.
1016         * bfd-in.h (bfd_section_size): Expand.
1017         (bfd_get_section_size): New macro.
1018         * bfd-in2.h: Regenerate.
1019         * coff64-rs6000.c (xcoff64_write_object_contents): Replace
1020         bfd_get_section_size_before_reloc with bfd_get_section_size.
1021         * coffcode.h (coff_write_object_contents): Likewise.
1022         * coffgen.c (build_debug_section): Likewise.
1023         * dwarf1.c (parse_line_table): Likewise.
1024         (_bfd_dwarf1_find_nearest_line): Likewise.
1025         * ecoff.c (_bfd_ecoff_write_object_contents): Likewise.
1026         * i386msdos.c (msdos_write_object_contents): Likewise.
1027         * pdp11.c (squirt_out_relocs): Likewise.
1028         * elf32-sh64.c (sh64_find_section_for_address): Remove comment.
1029         * elf64-mmix.c (mmix_elf_final_link): Update comment.
1030
1031 2004-06-14  Chris Demetriou  <cgd@broadcom.com>
1032
1033         * elf32-mips.c (elf_mips_gnu_pcrel32): Add (undoing 2004-04-24
1034         removal) with updated comment.
1035         (bfd_elf32_bfd_reloc_type_lookup): Add back case for
1036         BFD_RELOC_32_PCREL.
1037         (mips_elf32_rtype_to_howto): Add back case for R_MIPS_PC32.
1038         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1039
1040 2004-06-12  Alan Modra  <amodra@bigpond.net.au>
1041
1042         * elf64-x86-64.c (elf64_x86_64_relocate_section): Ignore reloc
1043         overflow on branches to undefweaks.
1044
1045 2004-06-11  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
1046
1047         * coff-alpha.c (alpha_relocate_section): Set used_by_bfd directly
1048         as ecoff_section_data() does not return a valid lvalue.
1049
1050 2004-06-09  Alexandre Oliva  <aoliva@redhat.com>
1051
1052         * elflink.c (elf_sort_symbol): Compare section id, not pointers.
1053         (elf_link_add_object_symbols): Likewise.
1054
1055         * elf-m10300.c (_bfd_mn10300_elf_reloc_type_class): New.
1056         (elf_backend_reloc_type_class): New.
1057
1058 2004-06-08  Mark Kettenis  <kettenis@gnu.org>
1059
1060         * configure.in (hppa*-*-netbsd*, hppa*-*-openbsd): Set COREFILE to
1061         netbsd-core.lo.
1062         * configure: Regenerate.
1063
1064 2004-06-07  Daniel Jacobowitz  <dan@debian.org>
1065
1066         From:  Albert Chin-A-Young  <china@thewrittenword.com>
1067         * bfd/elf-bfd.h (struct eh_cie_fde): Convert unsigned char bitfields
1068         to unsigned int.
1069
1070 2004-05-29  H.J. Lu  <hongjiu.lu@intel.com>
1071
1072         * elfxx-ia64.c (elfNN_ia64_relax_section): Undo the last
1073         change.
1074
1075 2004-05-28  DJ Delorie  <dj@redhat.com>
1076
1077         * elf-m10300.c (mn10300_elf_relax_section): Preserve reloc addend
1078         for linking, but otherwise adjust reloc for merged sections.
1079
1080 2004-05-28  H.J. Lu  <hongjiu.lu@intel.com>
1081
1082         * elfxx-ia64.c (elfNN_ia64_relax_section): Properly call
1083         _bfd_merged_section_offset for local symbols.
1084
1085 2004-05-28  Andrew Stubbs <andrew.stubbs@superh.com>
1086
1087         * Makefile.am: Regenerate dependencies.
1088         * Makefile.in: Regenerate.
1089         * archures.c: Add bfd_mach_sh3_nommu .
1090         * bfd-in2.h: Regenerate.
1091         * cpu-sh.c: Add sh3-nommu architecture.
1092         (bfd_to_arch_table): Create new table.
1093         (sh_get_arch_from_bfd_mach): Create new function.
1094         (sh_get_arch_up_from_bfd_mach): Create new function.
1095         (sh_merge_bfd_arch): Create new function.
1096         * elf32-sh.c (sh_ef_bfd_table): Add table.
1097         (sh_elf_check_relocs): Replace switch statement with
1098         use of sh_ef_bfd_table .
1099         (sh_elf_get_flags_from_mach): Add new function.
1100         (sh_find_elf_flags): Likewise.
1101         (sh_elf_copy_private_data): Replace most of non-elf contents
1102         with a call to sh_merge_bfd_arch() .
1103
1104 2004-05-27  Michael Chastain  <mec.gnu@mindspring.com>
1105
1106         * Makefile.am (bfdver.h): Use explicit filename, not $< .
1107         * Makefile.in: Regenerate.
1108
1109 2004-05-27  Alexandre Oliva  <aoliva@redhat.com>
1110
1111         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Avoid
1112         custom calling conventions for dynamic symbols.
1113         (mn10300_elf_relax_section): Avoid relaxing a function as a local
1114         symbol if it's an alias to a global one.
1115
1116 2004-05-26  H.J. Lu  <hongjiu.lu@intel.com>
1117
1118         * elf.c (_bfd_elf_make_section_from_shdr): Undo the last
1119         change.
1120
1121 2004-05-27  Alexandre Oliva  <aoliva@redhat.com>
1122
1123         * elf-m10300.c (mn10300_elf_relax_section): Don't test isym within
1124         loop over hashes.
1125
1126 2004-05-26  Alan Modra  <amodra@bigpond.net.au>
1127
1128         * elf.c (_bfd_elf_make_section_from_shdr): Don't set SEC_EXCLUDE
1129         for SHT_GROUP sections.
1130
1131 2004-05-25  Alan Modra  <amodra@bigpond.net.au>
1132
1133         * elflink.c (elf_link_add_object_symbols): Don't set up merge
1134         section data here..
1135         * elf.c (_bfd_elf_merge_sections): .. Do it here instead.
1136         * merge.c: Formatting.  Remove unnecessary casts.  Expand
1137         bfd_get_section_alignment macro.
1138         (struct sec_merge_sec_info): Rename "first" to "first_str".  Update
1139         use throughout file.
1140         (_bfd_add_merge_section): Rename from _bfd_merge_section.  Update
1141         comment.  Abort on dynamic or non-SEC_MERGE input.  Don't test
1142         section name to determine sinfo group, instead test output section
1143         and alignment.
1144         (_bfd_merge_sections): Add struct bfd_link_info param.  Call
1145         _bfd_strip_section_from_output rather than just twiddling flags.
1146         * libbfd-in.h (_bfd_add_merge_section): Rename, update comment.
1147         (_bfd_merge_sections): Update prototype.
1148         * libbfd.h: Regenerate.
1149
1150 2004-05-24  Mark Kettenis  <kettenis@gnu.org>
1151
1152         * netbsd-core.c: Correctly indent section that sets architecture
1153         from machine ID.
1154
1155         From Miod Vallat <miod@online.fr>:
1156         * m88kopenbsd.c: New file.
1157         * targets.c (m88k_openbsd_vec): New.
1158         * config.bfd: Add m88k-*-openbsd*.
1159         * configure.in (m88k-*-openbsd*): Set COREFILE to netbsd-core.lo.
1160         (m88kopenbsd_vec): New.
1161         * configure: Regenerate.
1162         * Makefile.am (BFD32_BACKENDS): Add m88kopenbsd.lo.
1163         (BFD32_BACKENDS_CFILES): Add m88kopenbsd.c.
1164         Run "make dep-am".
1165         * Makefile.in: Regenerate.
1166         * po/SRC-POTFILES.in: Regenerate.
1167
1168 2004-05-24  Nick Clifton  <nickc@redhat.com>
1169
1170         * hash.c: Remove bogus node "Changing the default Hash Table Size"
1171         introduced by hash table size patch.
1172
1173 2004-05-22  Ben Elliston  <bje@au.ibm.com>
1174
1175         * configure.in (is_release): Remove.
1176         (bfd_version_date, bfd_version, bfd_version_string): Likewise.
1177         (AC_OUTPUT): Don't output bfdver.h from version.h.
1178         * configure: Regenerate.
1179         * Makefile.am (RELEASE): New variable.
1180         (bfdver.h): New target.
1181         * Makefile.in: Regenerate.
1182         * doc/Makefile.in: Likewise.
1183
1184 2004-05-22  Ben Elliston  <bje@au.ibm.com>
1185
1186         * Makefile.am (config.status): Don't depend on version.h.
1187         * Makefile.in: Regenerate.
1188
1189 2004-05-22  Alan Modra  <amodra@bigpond.net.au>
1190
1191         * merge.c (_bfd_merged_section_offset): Remove "addend" param.
1192         * libbfd-in.h (_bfd_merged_section_offset): Adjust prototype.
1193         * libbfd.h: Regenerate.
1194         * elf.c (_bfd_elf_rela_local_sym): Adjust call.
1195         (_bfd_elf_rel_local_sym): Likewise.
1196         * elflink.c (_bfd_elf_link_sec_merge_syms): Likewise.
1197         (elf_link_input_bfd): Likewise.
1198         * elf32-ppc.c (ppc_elf_relax_section): Likewise.
1199         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1200         * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
1201         (elfNN_ia64_relocate_section): Likewise.
1202
1203 2004-05-21  Andy Chittenden  <achittenden@bluearc.com>
1204
1205         * hash.c (bfd_default_hash_table_size): New variable.
1206         (bfd_hash_table_init): Use new variable instead of DEFAULT_SIZE.
1207         (bfd_hash_set_default_size): New function.  Set the default size
1208         to a selected prime number close to the argument.  Document new
1209         function.
1210         * bfd-in.h: Add prototype for  bfd_hash_set_default_size.
1211         * bfd-in2.h: Regenerate.
1212         * Makefile.am (hash.lo): Add dependency upon libiberty.h.
1213         * Makefile.in: Regenerate.
1214
1215 2004-05-21  Mark Kettenis  <kettenis@gnu.org>
1216
1217         * libaout.h (machine_type): Add M_88K_OPENBSD and M_HPPA_OPENBSD.
1218         * netbsd-core.c (netbsd_core_file_p): Set architecture for alpha,
1219         arm, m68k, m88k and hppa core files.
1220
1221 2004-05-21  Nick Clifton  <nickc@redhat.com>
1222
1223         * bfdio.c (bfd_bread): Do not use iovec if it is NULL.
1224         (bfd_bwrite): Likewise.
1225         (bfd_tell): Likewise.
1226         (bfd_flush): Likewise.
1227         (bfd_stat): Likewise.
1228         (bfd_seek): Likewise.
1229         (bfd_get_mtime): Likewise.
1230         (bfd_get_size): Likewise.
1231
1232 2004-05-19  Ben Elliston  <bje@au.ibm.com>
1233
1234         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Comment correction.
1235
1236 2004-05-19  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
1237
1238         * archive.c (_bfd_get_elt_at_filepos): Cope with a nested archives.
1239         (bfd_generic_openr_next_archived_file): Likewise.
1240
1241 2004-05-17  Bob Wilson  <bob.wilson@acm.org>
1242
1243         * elf32-xtensa.c (xtensa_get_property_section_name): Determine linkonce
1244         section names by inserting a new substring after .gnu.linkonce, except
1245         for .gnu.linkonce.t.* where the "t." is replaced.
1246
1247 2004-05-17  Adam Nemet  <anemet@lnxw.com>
1248
1249         * config.bfd (sparc-*-lynxos* case): Add to obsolete list.
1250         (m68-*-lynxos* case): Likewise.
1251         (powerpc-*-lyxnos* case): New case.
1252         (i[3-7]86-*-lynxos* case): Update to LynxOS 4.0 ELF.
1253
1254 2004-05-17  David Heine  <dlheine@tensilica.com>
1255
1256         * aout-target.h (MY_bfd_copy_private_header_data): Define.
1257         * aout-tic30.c (MY_bfd_copy_private_header_data): Define.
1258         * bfd.c (bfd_copy_private_header_data): Define.
1259         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Add entries for new
1260         interface.
1261         * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
1262         * coffcode.h (coff_bfd_copy_private_header_data): Define.
1263         * elf-bfd.h (_bfd_elf_copy_private_header_data): Declare.
1264         * elf.c (_bfd_elf_copy_private_section_data): Remove code to set up
1265         segments by calling copy_private_bfd_data.
1266         (_bfd_elf_copy_private_header_data): Define.
1267         * elfxx-target.h (bfd_elfNN_bfd_copy_private_header_data): Define.
1268         * libbfd-in.h (_bfd_generic_bfd_copy_private_header_data): Define.
1269         * libecoff.h (_bfd_ecoff_bfd_copy_private_header_data): Define.
1270         * mach-o.c (bfd_mach_o_bfd_copy_private_header_data): Define.
1271         * mmo.c (mmo_bfd_copy_private_header_data): Define.
1272         * ppcboot.c (ppcboot_bfd_copy_private_header_data): Define.
1273         * som.c (som_bfd_copy_private_header_data): Define.
1274         * targets.c (BFD_JUMP_TABLE_COPY): Add _bfd_copy_private_header_data.
1275         * vms.c (vms_bfd_copy_private_header_data): Define.
1276         * bfd-in2.h: Regenerate.
1277         * libbfd.h: Regenerate.
1278
1279 2004-05-15  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1280
1281         * elfxx-mips.c (MINUS_TWO): Define.
1282         (mips_elf_higher, mips_elf_highest,
1283         mips_elf_create_dynamic_relocation): Use MINUS_ONE and MINUS_TWO for
1284         some bfd_vma values.
1285         (_bfd_mips_elf_finish_dynamic_symbol): Likewise. Code cleanup.
1286
1287 2004-05-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1288
1289         * som.c (log2): Rename to exact_log2.  Adjust all callers.
1290
1291 2004-05-13  Paul Brook  <paul@codesourcery.com>
1292
1293         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Handle
1294         dwarf3 format CIE entries.  Remove comment about the size of the
1295         ra_column field.  It is now correctly deduced.
1296
1297 2004-05-13  Joel Sherrill <joel@oarcorp.com>
1298
1299         * config.bfd (or32-*-rtems*): Switch to elf.
1300
1301 2004-05-13  Nick Clifton  <nickc@redhat.com>
1302
1303         * po/fr.po: Updated French translation.
1304
1305 2004-05-11  Jakub Jelinek  <jakub@redhat.com>
1306
1307         * elflink.c (elf_bfd_final_link): Don't output STT_SECTION symbol
1308         into .dynsym if elf_section_data (sec)->dynindx <= 0.
1309         Adjust counting of last_local.
1310         (_bfd_elf_link_renumber_dynsyms): Don't assign dynindx to sections
1311         other than SHT_PROGBITS/SHT_NOBITS and neither for .got/.got.plt/.plt
1312         created by the linker nor !SHF_ALLOC.
1313
1314         * elf32-i386.c (elf_i386_finish_dynamic_sections): Point
1315         DT_PLTGOT to the start of the .got.plt section instead of the
1316         .got output section.  Set sh_entsize for .got section in addition
1317         to .got.plt.
1318         (elf_i386_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
1319         is at sgot->output_section->vma.
1320         * elf64-x86-64.c (elf64_x86_64_finish_dynamic_sections): Point
1321         DT_PLTGOT to the start of the .got.plt section instead of the
1322         .got output section.
1323         (elf64_x86_64_relocate_section): Don't assume _GLOBAL_OFFSET_TABLE_
1324         is at sgot->output_section->vma.  Set sh_entsize for .got section
1325         in addition to .got.plt.
1326         * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_RELRO.
1327         (bfd_section_from_phdr): Likewise.
1328         (map_sections_to_segments): Likewise.
1329         (assign_file_positions_for_segments): Likewise.
1330         (get_program_header_size): Likewise.
1331         * elflink.c (bfd_elf_size_dynamic_sections): Set
1332         elf_tdata (output_bfd)->relro from info->relro.
1333         * elf-bfd.h (struct elf_obj_tdata): Add relro field.
1334
1335 2004-05-08  Alexandre Oliva  <aoliva@redhat.com>
1336
1337         * elf32-frv.c (_frvfdpic_add_dyn_reloc): Don't warn when we get
1338         a zero symndx for which we hadn't accounted a dynamic relocation.
1339         (_frvfdpic_add_rofixup): Likewise.
1340
1341 2004-05-07  Brian Ford  <ford@vss.fsi.com>
1342             DJ Delorie  <dj@redhat.com>
1343
1344         * coffcode.h (coff_write_object_contents) [COFF_IMAGE_WITH_PE]:
1345         Propagate IMAGE_FILE_LARGE_ADDRESS_AWARE.
1346         * peXXigen.c (_bfd_XX_print_private_bfd_data_common): Recognize
1347         IMAGE_FILE_LARGE_ADDRESS_AWARE.  Use PE defines.
1348
1349 2004-05-07  Alexandre Oliva  <aoliva@redhat.com>
1350
1351         * elf32-frv.c (elf32_frvfdpic_modify_segment_map): Return
1352         immediately if there's no link info.
1353         (elf32_frvfdpic_copy_private_bfd_data): New.
1354         (bfd_elf32_bfd_copy_private_bfd_data): Use it for frvfdpic.
1355
1356 2004-05-06  Zack Weinberg  <zack@codesourcery.com>
1357
1358         * dwarf2.c (add_line_info): Also set info->filename to NULL if
1359         filename argument is null; do not call strlen on a null pointer.
1360
1361 2004-05-06  Daniel Jacobowitz  <drow@mvista.com>
1362
1363         * elf32-arm.h (elf32_arm_relocate_section): Remove R_ARM_PLT32
1364         special case.
1365
1366 2004-05-05  Alexandre Oliva  <aoliva@redhat.com>
1367
1368         * configure.in (bfd_elf32_frvfdpic_vec): New.
1369         * configure: Rebuilt.
1370         * targets.c (bfd_elf32_frvfdpic_vec): New.
1371         * config.bfd: Enable it on frv-*-elf and frv-*-*linux*, as default
1372         on the latter.
1373         * elf32-frv.c: Prefix all identifiers added for FDPIC support with
1374         frvfdpic instead of frv.  Rearrange elf-target macros such that
1375         the FDPIC-specific ones are only defined for this new target
1376         vector.
1377         (bfd_elf32_frvfdpic_vec): Declare.
1378         (IS_FDPIC): New.
1379         (elf32_frv_relocate_section): Use it to enable segment checking
1380         and to control rofixup emission.  Add output section vma to
1381         applied relocation in non-LOAD non-ALLOC sections.  Use
1382         _bfd_error_handler for errors.
1383         (_frv_create_got_section): Create .rel.got and .rofixup only in
1384         FDPIC.  Create non-dynamic _gp at .got+2048 in non-FDPIC, like the
1385         linker script.
1386         (elf32_frvfdpic_size_dynamic_sections): Assume FDPIC.
1387         (elf32_frvfdpic_modify_segment_map): Likewise.
1388         (elf32_frv_finish_dynamic_sections): New, do-nothing.
1389         (elf32_frvfdpic_finish_dynamic_sections): Assume FDPIC.  Improve
1390         error message if we miscompute the rofixup size.
1391         (frvfdpic_elf_use_relative_eh_frame): Assume FDPIC.
1392         (frvfdpic_elf_encode_eh_address): Likewise.
1393         (elf32_frv_check_relocs): Reject FDPIC-only relocs in non-FDPIC.
1394         Record relocs only in FDPIC.  Make sure _gp is defined for GPREL
1395         relocs.  Reject unknown relocation types.
1396         (elf32_frv_object_p): Make sure target vector matches FDPIC bits.
1397         (frv_elf_merge_private_bfd_data): Likewise.
1398         (ELF_MAXPAGESIZE): Revert to 0x1000 for elf32-frv; keep it as
1399         0x4000 for newly-added elf32-frvfdpic.
1400
1401 2004-05-05  Nick Clifton  <nickc@redhat.com>
1402
1403         PR/136
1404         * cache.c (bfd_cache_lookup_worker): Call abort() rather than
1405         returning NULL as most users of this function do not check its
1406         return value.
1407         * hppabsd-core.c (hppabsd_core_core_file_p): Do not check result
1408         of bfd_cache_lookup().
1409         * sco5-core.c (sco5_core_file_p): Likewise.
1410         * trad-core.c (trad_unix_core_file_p): Likewise.
1411
1412 2004-05-05  Nick Clifton  <nickc@redhat.com>
1413
1414         * cache.c (bfd_cache_lookup): Improve formatting.
1415         * archive.c: Fix formatting.
1416
1417 2004-05-05  Peter Barada  <peter@the-baradas.com>
1418
1419         * bfd_archures.c(bfd_architecture): Add 521x,5249,547x,548x.
1420         * cpu-m68k.c(bfd_m68k_arch): Likewise.
1421         * bfd-in2.h(bfd_architecture): Regenerate.
1422
1423 2004-05-03  Alan Modra  <amodra@bigpond.net.au>
1424
1425         * elf.c (_bfd_elf_rela_local_sym): Set kept_section for excluded
1426         SEC_MERGE sections.
1427         * elflink.c (elf_link_input_bfd): Adjust output reloc index for
1428         those against discarded link-once and SEC_MERGE section symbols.
1429
1430 2004-05-02  H.J. Lu  <hongjiu.lu@intel.com>
1431
1432         * section.c (bfd_get_section_by_name_if): New.
1433         * bfd-in2.h: Regenerated.
1434
1435 2004-05-02  Alan Modra  <amodra@bigpond.net.au>
1436
1437         * som.c (som_bfd_is_group_section): Define.
1438
1439 2004-05-01  Alan Modra  <amodra@bigpond.net.au>
1440
1441         * section.c (bfd_make_section_anyway): Copy the whole
1442         bfd_hash_entry, not just "next" from existing entry.
1443
1444 2004-04-30  H.J. Lu  <hongjiu.lu@intel.com>
1445
1446         * elf.c (bfd_section_from_shdr): Maintain the section order in
1447         a section group.
1448         (special_sections): Add ".note.GNU-stack".
1449         (elf_fake_sections): Handle section group for relocatable
1450         link..
1451
1452 2004-04-30  H.J. Lu  <hongjiu.lu@intel.com>
1453
1454         * section.c (bfd_sections_find_if): New.
1455         * bfd-in2.h: Regenerated.
1456
1457 2004-04-30  Alan Modra  <amodra@bigpond.net.au>
1458
1459         * section.c (bfd_make_section_anyway): Add all sections to hash tab.
1460
1461         * elf-bfd.h (bfd_elf_is_group_section): Declare.
1462         * elf.c (bfd_elf_is_group_section): New function.
1463         * elfxx-target.h (bfd_elfNN_bfd_is_group_section
1464         * section.c (bfd_generic_is_group_section): New function.
1465         * targets.c (struct bfd_target): Add _bfd_is_group_section field.
1466         (BFD_JUMP_TABLE_LINK): Adjust.
1467         * aout-adobe.c (aout_32_bfd_is_group_section): Define.
1468         * aout-target.h (MY_bfd_is_group_section): Define.
1469         * aout-tic30.c (MY_bfd_is_group_section): Define.
1470         * bfd.c (bfd_is_group_section): Define.
1471         * binary.c (binary_bfd_is_group_section): Define.
1472         * bout.c (b_out_bfd_is_group_section): Define.
1473         * coff-alpha.c (_bfd_ecoff_bfd_is_group_section): Define.
1474         * coff-mips.c (_bfd_ecoff_bfd_is_group_section): Define.
1475         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Adjust.
1476         * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Adjust.
1477         * coffcode.h (coff_bfd_is_group_section): Define.
1478         * i386msdos.c (msdos_bfd_is_group_section): Define.
1479         * i386os9k.c (os9k_bfd_is_group_section): Define.
1480         * ieee.c (ieee_bfd_is_group_section): Define.
1481         * ihex.c (ihex_bfd_is_group_section): Define.
1482         * libbfd-in.h (_bfd_nolink_bfd_is_group_section): Define.
1483         * mach-o.c (bfd_mach_o_bfd_is_group_section): Define.
1484         * mmo.c (mmo_bfd_is_group_section): Define.
1485         * nlm-target.h (nlm_bfd_is_group_section): Define.
1486         * oasys.c (oasys_bfd_is_group_section): Define.
1487         * pef.c (bfd_pef_bfd_is_group_section): Define.
1488         * ppcboot.c (ppcboot_bfd_is_group_section): Define.
1489         * srec.c (srec_bfd_is_group_section): Define.
1490         * tekhex.c (tekhex_bfd_is_group_section): Define.
1491         * versados.c (versados_bfd_is_group_section): Define.
1492         * vms.c (vms_bfd_is_group_section): Define.
1493         * xsym.c (bfd_sym_bfd_is_group_section): Define.
1494         * bfd-in2.h: Regenerate.
1495         * libbfd.h: Regenerate.
1496
1497 2004-04-30  Alan Modra  <amodra@bigpond.net.au>
1498
1499         * elflink.c (elf_gc_mark): Follow indirect and warning syms.
1500
1501 2004-04-30  Hans-Peter Nilsson  <hp@axis.com>
1502
1503         * configure.in: Update version to 2.15.91.
1504         * configure: Regenerate.
1505
1506 2004-04-29  Brian Ford  <ford@vss.fsi.com>
1507
1508         * bfd.c (bfd_get_sign_extend_vma): Add pe[i]-i386 case to DJGPP hack.
1509         * coffcode.h (DOT_DEBUG, GNU_LINKONCE_WI): Define.
1510         [!COFF_WITH_PE] (sec_to_styp_flags, styp_to_sec_flags): Use them.
1511         (coff_compute_section_file_positions) [RS6000COFF_C]: Likewise.
1512         [COFF_WITH_PE] (sec_to_styp_flags): Handle DWARF 2/3 .debug* and
1513         .gnu.linkonce.wi. sections.
1514         * pe-i386.c (COFF_SUPPORT_GNU_LINKONCE): Define.
1515         (COFF_SECTION_ALIGNMENT_ENTRIES): Add entries for .debug and
1516         .gnu.linkonce.wi..
1517         * pei-i386.c (COFF_SUPPORT_GNU_LINKONCE): Likewise.
1518         (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1519
1520 2004-04-28  Chris Demetriou  <cgd@broadcom.com>
1521
1522         * reloc.c: Remove BFD_RELOC_PCREL_HI16_S and BFD_RELOC_PCREL_LO16.
1523         * bfd-in2.h: Regenerate.
1524         * libbfd.h: Likewise.
1525
1526 2004-04-28  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1527
1528         * som.c (struct som_misc_symbol_info): Add is_comdat, is_common and
1529         dup_common fields.
1530         (setup_sections): Use som_subspace_dictionary_record struct instead
1531         subspace_dictionary_record.  Set SEC_LINK_ONCE if subspace is
1532         is_comdat, is_common or dup_common.
1533         (som_prep_headers): Use som_subspace_dictionary_record struct.  Set
1534         is_comdat, is_common and dup_common in section subspace_dict from
1535         copy_data.
1536         (som_begin_writing): Use som_subspace_dictionary_record struct.
1537         (som_finish_writing): Likewise.
1538         (som_bfd_derive_misc_symbol_info): Add support to set is_comdat,
1539         is_common and dup_common flags in info for symbol.  Add comment
1540         regarding linker support for these fields.  Slightly reorganize
1541         function.
1542         (som_build_and_write_symbol_table): Set is_comdat, is_common and
1543         dup_common fields in symbol table from symbol info.
1544         (bfd_som_set_subsection_attributes): Add comdat, common and dup_common
1545         arguments.  Set corresponding fields in copy_data.  Change all callers.
1546         (som_bfd_ar_write_symbol_stuff): Set dup_common flag in library
1547         symbol table.
1548         (som_vec): Add SEC_LINK_ONCE to applicable section flags.
1549         * som.h (som_subspace_dictionary_record): Define.
1550         (som_copyable_section_data_struct): Add is_comdat, is_common and
1551         dup_common fields.
1552         (som_section_data_struct): Use som_subspace_dictionary_record struct
1553         instead of subspace_dictionary_record.
1554         (bfd_boolean bfd_som_set_subsection_attributes): Adjust prototype.
1555
1556 2004-04-27  Bob Wilson  <bob.wilson@acm.org>
1557
1558         * elf32-xtensa.c (xtensa_read_table_entries): Use section _cooked_size
1559         if set.  Check reloc_done flag before applying relocations.  Use
1560         output addresses, both when applying relocations and when comparing
1561         against the specified section.
1562         (elf_xtensa_relocate_section): Use output address to check if dynamic
1563         reloc is in a literal pool.  Set section's reloc_done flag.
1564
1565 2004-04-27  H.J. Lu  <hongjiu.lu@intel.com>
1566
1567         * elf32-sh64.c (elf_backend_section_flags): New. Defined.
1568         (sh64_elf_set_mach_from_flags): Remove the kludge for .cranges
1569         section.
1570         (sh64_elf_section_flags): New. Set SEC_DEBUGGING for .cranges
1571         section.
1572
1573 2004-04-27  Alan Modra  <amodra@bigpond.net.au>
1574
1575         * elf64-alpha.c (elf64_alpha_read_ecoff_info): Don't assign
1576         structure field removed in 2004-04-24 patch.
1577         * elf64-sparc.c (sparc64_elf_plt_sym_val): Warning fix.
1578
1579         * elf-bfd.h (struct elf_backend_data <elf_backend_section_flags>):
1580         Constify hdr arg.
1581         * elf32-arm.h (elf32_arm_section_flags): Likewise.
1582         * elf64-alpha.c (elf64_alpha_section_flags): Likewise.
1583         * elfxx-ia64.c (elfNN_ia64_section_flags): Likewise.
1584         * elf.c (_bfd_elf_make_section_from_shdr): Set the bfd_section
1585         field before calling elf_backend_section_flags.
1586
1587 2004-04-24  Chris Demetriou  <cgd@broadcom.com>
1588
1589         * elf32-mips.c (elf_mips_gnu_rel_hi16, elf_mips_gnu_rel_lo16)
1590         (elf_mips_gnu_pcrel64, elf_mips_gnu_pcrel32): Remove.
1591         (bfd_elf32_bfd_reloc_type_lookup): Remove cases for
1592         BFD_RELOC_PCREL_HI16_S, BFD_RELOC_PCREL_LO16, BFD_RELOC_64_PCREL,
1593         and BFD_RELOC_32_PCREL.
1594         (mips_elf32_rtype_to_howto): Remove cases for R_MIPS_GNU_REL_HI16,
1595         R_MIPS_GNU_REL_LO16, R_MIPS_PC64, R_MIPS_PC32.
1596         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
1597         (_bfd_mips_elf_lo16_reloc): Remove handling for R_MIPS_GNU_REL_HI16.
1598         (mips_elf_next_relocation): Move comment about matching HI/LO
1599         relocations to...
1600         (_bfd_mips_elf_relocate_section): Here.  Remove handling for
1601         R_MIPS_GNU_REL_HI16.
1602
1603 2004-04-23  Chris Demetriou  <cgd@broadcom.com>
1604
1605         * coff-mips.c (mips_relhi_reloc, mips_rello_reloc)
1606         (mips_switch_reloc, mips_read_relocs, mips_relax_section)
1607         (mips_relax_pcrel16, PCREL16_EXPANSION_ADJUSTMENT): Remove.
1608         (mips_relocate_hi): Remove now-unused 'adjust' and 'pcrel' arguments,
1609         and update comments to reflect current usage.
1610         (mips_howto_table): Remove entries for MIPS_R_RELHI, MIPS_R_RELLO,
1611         and MIPS_R_SWITCH, as well as several empty entries.  Update comment
1612         for MIPS_R_PCREL16.
1613         (mips_ecoff_swap_reloc_in, mips_ecoff_swap_reloc_out)
1614         (mips_adjust_reloc_out, mips_bfd_reloc_type_lookup): Remove support
1615         for MIPS_R_SWITCH, MIPS_R_RELLO, and MIPS_R_RELHI relocations.
1616         (mips_adjust_reloc_in): Likewise, adjust maximum accepted relocation
1617         type number to be MIPS_R_PCREL16.
1618         (mips_relocate_section): Remove support for link-time relaxation
1619         of branches used by embedded-PIC.  Remove support for MIPS_R_SWITCH,
1620         MIPS_R_RELLO, and MIPS_R_RELHI relocations.
1621         (_bfd_ecoff_bfd_relax_section): Redefine to bfd_generic_relax_section.
1622         * ecoff.c (ecoff_indirect_link_order): Remove support for link-time
1623         relaxation of branches used by embedded-PIC.
1624         * ecofflink.c (bfd_ecoff_debug_accumulate): Likewise.
1625         * libecoff.h (struct ecoff_section_tdata): Remove embedded-PIC
1626         related members, update comment.
1627         * pe-mips.c: Remove disabled (commented-out and #if 0'd)
1628         code related to embedded-PIC.
1629         * elfxx-mips.c (_bfd_mips_elf_read_ecoff_info): Remove
1630         initialization of now-removed 'adjust' member of
1631         'struct ecoff_debug_info'.
1632
1633 2004-04-23  Chris Demetriou  <cgd@broadcom.com>
1634
1635         * elfxx-mips.c (mips_elf_get_global_gotsym_index): Remove.
1636
1637 2004-04-21  Philip Blundell  <pb@nexus.co.uk>
1638
1639         * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32
1640         relocs for locally defined symbols during -shared final link.
1641         (elf32_arm_final_link_relocate): Likewise.
1642
1643 2004-04-22  Jakub Jelinek  <jakub@redhat.com>
1644
1645         * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Copy also
1646         ELF_LINK_POINTER_EQUALITY_NEEDED.
1647         (elf64_x86_64_check_relocs): Set ELF_LINK_POINTER_EQUALITY_NEEDED
1648         if r_type is not R_X86_64_PC32.
1649         (elf64_x86_64_finish_dynamic_symbol): If
1650         ELF_LINK_POINTER_EQUALITY_NEEDED is not set, clear st_value of
1651         SHN_UNDEF symbols.
1652
1653 2004-04-22  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1654
1655         * elf32-sh.c (sh_elf_plt_sym_val): New function.
1656         (elf_backend_plt_sym_val): Define.
1657
1658 2004-04-22  Andrew Cagney  <cagney@redhat.com>
1659
1660         * opncls.c (bfd_alloc): Fix type of "wanted" in doco.
1661
1662 2004-04-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1663
1664         * hpux-core.c (hpux_core_core_file_p): Add cast in call to
1665         make_bfd_asection.
1666         * som.c (som_set_section_contents): Constantify second argument.
1667         (hppa_som_gen_reloc_type): Abort for unsupported selectors.
1668         (som_object_setup): Rework to avoid warning.
1669         (setup_sections, som_write_fixups, bfd_section_from_som_symbol):
1670         Likewise.
1671
1672 2004-04-22  Andrew Cagney  <cagney@redhat.com>
1673
1674         * cache.c (bfd_cache_close): Check for a previously closed file.
1675
1676 2004-04-22  Jakub Jelinek  <jakub@redhat.com>
1677
1678         * bfd.c (bfd_get_synthetic_symtab): Define.
1679         * targets.c (BFD_JUMP_TABLE_DYNAMIC): Add
1680         NAME##_get_synthetic_symtab.
1681         (struct bfd_target): Add _bfd_get_synthetic_symtab.
1682         * libbfd-in.h (_bfd_nodynamic_get_synthetic_symtab): Define.
1683         * elf-bfd.h (struct elf_backend_data): Add plt_sym_val and
1684         relplt_name fields.
1685         (_bfd_elf_get_synthetic_symtab): New prototype.
1686         * elfcode.h (elf_get_synthetic_symtab): Define.
1687         * elf.c (_bfd_elf_get_synthetic_symtab): New function.
1688         * elfxx-target.h (bfd_elfNN_get_synthetic_symtab): Define.
1689         (elf_backend_plt_sym_val, elf_backend_relplt_name): Define.
1690         (elfNN_bed): Add elf_backend_plt_sym_val and elf_backend_relplt_name.
1691         * bfd-in2.h: Rebuilt.
1692         * libbfd.h: Rebuilt.
1693         * elf32-i386.c (elf_i386_plt_sym_val): New function.
1694         (elf_backend_plt_sym_val): Define.
1695         * elf64-x86-64.c (elf64_x86_64_plt_sym_val): New function.
1696         (elf_backend_plt_sym_val): Define.
1697         * elf32-s390.c (elf_s390_plt_sym_val): New function.
1698         (elf_backend_plt_sym_val): Define.
1699         * elf64-s390.c (elf_s390_plt_sym_val): New function.
1700         (elf_backend_plt_sym_val): Define.
1701         * elf32-sparc (elf32_sparc_plt_sym_val): New function.
1702         (elf_backend_plt_sym_val): Define.
1703         * elf64-sparc.c (sparc64_elf_plt_sym_val): New function.
1704         (elf_backend_plt_sym_val): Define.
1705         * elf32-ppc.c (ppc_elf_plt_sym_val): New function.
1706         (elf_backend_plt_sym_val): Define.
1707         * aout-target.h (MY_get_synthetic_symtab): Define.
1708         * aout-tic30.c (MY_get_synthetic_symtab): Define.
1709         * coff-rs6000.c (rs6000coff_vec): Add
1710         _bfd_nodynamic_get_synthetic_symtab.
1711         (pmac_xcoff_vec): Likewise.
1712         * coff64-rs6000.c (rs6000coff64_vec): Add
1713         _bfd_nodynamic_get_synthetic_symtab.
1714         (aix5coff64_vec): Likewise.
1715         * sunos.c (MY_get_synthetic_symtab): Define.
1716         * vms.c (vms_get_synthetic_symtab): Define.
1717
1718 2004-04-22  Nick Clifton  <nickc@redhat.com>
1719
1720         * bfd.c (bfd_archive_filename): Return NULL on NULL input.
1721
1722 2004-04-22  Peter Barada <peter@the-baradas.com>
1723
1724         * archures.c: Add bfd_mach_mcfv4e to bfd_architecture.
1725         * bfd2-in.h: Regenerate.
1726         * cpu-m68k.c: Add 'm68k:mcfv4e' to arch_info_struct[].
1727
1728 2004-04-21  Chris Demetriou  <cgd@broadcom.com>
1729
1730         * coff-mips.c (bfd_mips_ecoff_create_embedded_relocs): Remove.
1731         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Remove.
1732         * bfd-in.h (bfd_mips_ecoff_create_embedded_relocs)
1733         (bfd_mips_elf32_create_embedded_relocs): Remove prototypes
1734         * bfd-in2.h: Regenerate.
1735
1736 2004-04-21  Bob Wilson  <bob.wilson@acm.org>
1737
1738         * elf32-xtensa.c (is_same_value): Add final_static_link argument and
1739         require relocations against a weak symbol to reference the same
1740         symbol hash entry if not a final, static link.
1741         (get_cached_value, add_value_map): Add final_static_link argument.
1742         (remove_literals): Pass final_static_link argument as needed.
1743
1744 2004-04-21  Andrew Cagney  <cagney@redhat.com>
1745
1746         * opncls.c (_bfd_new_bfd_contained_in): Copy "iovec".
1747         (struct opncls, opncls_btell, opncls_bseek, opncls_bread)
1748         (opncls_bwrite, opncls_bclose, opncls_bflush)
1749         (opncls_bstat, opncls_iovec, bfd_openr_iovec): Implement a
1750         bfd iovec that uses function callbacks.
1751         (bfd_close): Use the iovec's bclose.
1752         * cache.c (cache_btell, cache_bseek, cache_bread, cache_bwrite)
1753         (cache_bclose, cache_bflush, cache_bstat)
1754         (cache_iovec): New functions and global variable, implement a
1755         cache "iovec", where applicable set bfd_error.
1756         (bfd_cache_init, bfd_cache_close): Set/test the bfd's iovec.
1757         * bfdio.c (struct bfd_iovec): Define.
1758         (real_read): Delete function.
1759         (bfd_bread, bfd_bread, bfd_bwrite, bfd_tell, bfd_flush, bfd_stat)
1760         (bfd_seek, bfd_get_mtime, bfd_get_size): Use the bfd's "iovec",
1761         assume that bread and bwrite set bfd_error.
1762         * bfd.c (struct bfd): Add "iovec", update comments.
1763         * bfd-in2.h, libbfd.h: Re-generate.
1764
1765 2004-04-21  Andrew Cagney  <cagney@redhat.com>
1766
1767         * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
1768
1769 2004-04-21  Eric Botcazou  <ebotcazou@act-europe.fr>
1770
1771         * elflink.c (elf_gc_mark_dynamic_ref_symbol): New function.
1772         (bfd_elf_gc_sections): Fail if a shared object is being created.
1773         Do not fail if dynamic sections have been created.  Instead call
1774         elf_gc_mark_dynamic_ref_symbol to mark sections that contain
1775         dynamically referenced symbols.  Do not mark the whole graph
1776         rooted at .eh_frame, only the section proper.
1777
1778 2004-04-20  DJ Delorie  <dj@redhat.com>
1779
1780         * reloc.c: Add BFD_RELOC_32_SECREL.
1781         * bfd-in2.h: Regenerate.
1782         * libbfd.h: Likewise.
1783         * coff-i386.c (howto_table) [COFF_WITH_PE]: Add R_SECREL32.
1784         (coff_i386_rtype_to_howto) [COFF_WITH_PE]: Handle it.
1785         (coff_i386_reloc_type_lookup) [COFF_WITH_PE]: Likewise.
1786
1787 2004-04-19  Jakub Jelinek  <jakub@redhat.com>
1788
1789         * elf32-sparc.c (elf32_sparc_relocate_section): Handle
1790         relocs against hidden/protected undefweak symbols properly.
1791         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1792
1793 2004-04-18  Mark Kettenis  <kettenis@gnu.org>
1794
1795         * libaout.h (enum machine_type): Add M_POWERPC_NETBSD.
1796         * netbsd-core.c (netbsd_core_file_p): Set architecture for PowerPC
1797         core files.
1798
1799 2004-04-17  Brian Ford  <ford@vss.fsi.com>
1800
1801         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Use the first non-zero
1802         filepos for the SizeOfHeaders field.
1803         (_bfd_XXi_swap_scnhdr_out): Correct section flags lossage on reloc
1804         overflow.
1805         (_bfd_XXi_swap_sym_in): Remove redundant section flags assignment.
1806
1807 2004-04-16  Alan Modra  <amodra@bigpond.net.au>
1808
1809         * simple.c (bfd_simple_get_relocated_section_contents): Don't
1810         change reloc_done.  Set and restore _cooked_size.
1811         (RETURN): Delete.
1812
1813 2004-04-15  Mark Kettenis  <kettenis@gnu.org>
1814
1815         * netbsd-core.c (netbsd_core_file_p): Set architecture for VAX
1816         core files.
1817
1818 2004-04-15  Nick Clifton  <nickc@redhat.com>
1819
1820         * bfd.c (bfd_archive_filename): Catch NULL bfd pointers.
1821
1822 2004-04-15  Alan Modra  <amodra@bigpond.net.au>
1823
1824         * elf64-sparc.c (sparc64_elf_check_relocs): Fix thinko last change.
1825
1826 2004-04-15  H.J. Lu  <hongjiu.lu@intel.com>
1827
1828         * elflink.c (_bfd_elf_merge_symbol): Treat weak as strong only
1829         when it is a definition.
1830
1831 2004-04-14  Alan Modra  <amodra@bigpond.net.au>
1832
1833         * elf32-sparc.c (elf32_sparc_relocate_section): Don't abort
1834         when statically linking PIC code.
1835         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1836
1837 2004-04-11  Thiemo Seufer  <seufer@csv.ica.uni-stuttgart.de>
1838
1839         * config.bfd: Remove mips*-*-mach3* and mips*-dec-mach3* targets.
1840         * configure.in: Remove mips-dec-bsd*, mips-dec-mach3*, mips-*-mach3*
1841         targets amd aout_mips_big_vec, aout_mips_little_vec target vectors.
1842         * configure: Regenerate.
1843
1844 2004-04-08  Richard Sandiford  <rsandifo@redhat.com>
1845
1846         * elflink.c: Include libiberty.h.
1847         * Makefile.am (elflink.lo): Depend on libiberty.h.
1848         * Makefile.in: Regenerate.
1849
1850 2004-04-06  Daniel Jacobowitz  <drow@mvista.com>
1851
1852         * elfxx-mips.c (MIPS_ELF_STUB_SECTION_NAME): Always use
1853         ".MIPS.stubs".
1854
1855 2004-04-05  H.J. Lu  <hongjiu.lu@intel.com>
1856
1857         * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Always
1858         reserve the memory for dynamic linker
1859
1860 2004-04-05  Mark Kettenis  <kettenis@gnu.org>
1861
1862         * netbsd-core.c (CORE_WCOOKIE_OFFSET): New define.
1863         (netbsd_core_file_p): Create a .wcookie section for OpenBSD/sparc.
1864
1865 2004-04-02  H.J. Lu  <hongjiu.lu@intel.com>
1866
1867         * elf32-cr16c.c (elf32_cr16c_relocate_section): Use
1868         RELOC_FOR_GLOBAL_SYMBOL.
1869         (elf32_cr16c_add_symbol_hook): Remove const from Elf_Internal_Sym.
1870
1871 2004-04-02  H.J. Lu  <hongjiu.lu@intel.com>
1872
1873         * elf32-arm.h (elf32_arm_final_link_relocate): Handle
1874         R_ARM_ALU* only if OLD_ARM_ABI is not defined.
1875
1876 2004-04-01  Paul Brook  <paul@codesourcery.com>
1877
1878         * bfd-in.h (bfd_elf32_arm_process_before_allocation): Update.
1879         * elf32-arm.h (struct elf32_elf_section_map): New.
1880         (struct _arm_elf_section_data): New.
1881         (elf32_arm_section_data): Define.
1882         (struct elf32_arm_link_hash_table): Add byteswap_code.
1883         (elf32_arm_link_hash_table_create): Initialize byteswap_code.
1884         (bfd_elf32_arm_process_before_allocation): Add byteswap_code.
1885         (elf32_arm_post_process_headers): Set EF_ARM_BE8.
1886         (elf32_arm_output_symbol_hook, elf32_arm_new_section_hook,
1887         elf32_arm_compare_mapping, elf32_arm_write_section): New functions.
1888         (bfd_elf32_new_section_hook, elf_backend_write_section,
1889         elf_backend_link_output_symbol_hook): Define.
1890
1891 2004-04-01  Andy Chittenden  <achittenden@bluearc.com>
1892
1893         * stabs.c (struct stab_link_includes_totals): Add field 'symb'
1894         that keeps the characters in a B_INCL..B_EINCL range.
1895         (_bfd_link_section_stabs): When computing the sum of the
1896         characters in a B_INCL..B_EINCL range also keep a copy of those
1897         characters.  Use this information to distinguish between
1898         include sections that have the same sum and the same length
1899         but which are nevertheless unique.
1900
1901 2004-03-31  Paul Brook  <paul@codesourcery.com>
1902
1903         * elf32-arm.h (elf32_arm_final_link_relocate): Add R_ARM_ALU*.
1904         * elfarm-nabi.c (elf32_arm_howto_table): Ditto.
1905
1906 2004-03-31  Andy Chittenden <achittenden@bluearc.com>
1907
1908         * stabs.c (struct stab_link_includes_totals): Rename field 'total'
1909         to 'sum_chars' and add field 'num_chars'.
1910         (_bfd_link_section_stabs): When computing the sum of the
1911         characters in a B_INCL..B_EINCL range also keep a count of the
1912         number of characters.  Use this information to help distinguish
1913         between include sections when have the same sum but which
1914         nevertheless are still unique.
1915
1916 2004-03-31  Mattias EngdegÃ¥rd  <mattias@virtutech.se>
1917
1918         * stabs.c (_bfd_link_section_stabs): Do not skip N_EXCL stabs.
1919
1920 2004-03-30  Galit Heller  <Galit.Heller@nsc.com>
1921             Tomer Levi    <Tomer.Levi@nsc.com>
1922
1923         * Makefile.am (ALL_MACHINES): Add cpu-cr16c.lo.
1924         (ALL_MACHINES_CFILES): Add cpu-cr16c.c.
1925         (BFD32_BACKENDS): Add elf32-cr16c.lo.
1926         (BFD32_BACKENDS_CFILES): Add elf32-cr16c.c.
1927         (cpu-cr16c.lo): New target.
1928         (elf32-cr16c.lo): Likewise.
1929         * Makefile.in: Regenerate.
1930         * archures.c (bfd_architecture): Add bfd_{arch,mach}_cr16c.
1931         (bfd_archures_list): Add bfd_cr16c_arch.
1932         * config.bfd: Handle cr16c-*-elf*.
1933         * configure.in: Handle bfd_elf32_cr16c_vec.
1934         * configure: Regenerate.
1935         * reloc.c: Add BFD_RELOC_16C_NUM08, BFD_RELOC_16C_NUM08_C,
1936         BFD_RELOC_16C_NUM16, BFD_RELOC_16C_NUM16_C,
1937         BFD_RELOC_16C_NUM32, BFD_RELOC_16C_NUM32_C,
1938         BFD_RELOC_16C_DISP04, BFD_RELOC_16C_DISP04_C,
1939         BFD_RELOC_16C_DISP08, BFD_RELOC_16C_DISP08_C,
1940         BFD_RELOC_16C_DISP16, BFD_RELOC_16C_DISP16_C,
1941         BFD_RELOC_16C_DISP24, BFD_RELOC_16C_DISP24_C,
1942         BFD_RELOC_16C_DISP24a, BFD_RELOC_16C_DISP24a_C,
1943         BFD_RELOC_16C_REG04, BFD_RELOC_16C_REG04_C,
1944         BFD_RELOC_16C_REG04a, BFD_RELOC_16C_REG04a_C,
1945         BFD_RELOC_16C_REG14, BFD_RELOC_16C_REG14_C,
1946         BFD_RELOC_16C_REG16, BFD_RELOC_16C_REG16_C,
1947         BFD_RELOC_16C_REG20, BFD_RELOC_16C_REG20_C,
1948         BFD_RELOC_16C_ABS20, BFD_RELOC_16C_ABS20_C,
1949         BFD_RELOC_16C_ABS24, BFD_RELOC_16C_ABS24_C,
1950         BFD_RELOC_16C_IMM04, BFD_RELOC_16C_IMM04_C,
1951         BFD_RELOC_16C_IMM16, BFD_RELOC_16C_IMM16_C,
1952         BFD_RELOC_16C_IMM20, BFD_RELOC_16C_IMM20_C,
1953         BFD_RELOC_16C_IMM24, BFD_RELOC_16C_IMM24_C,
1954         BFD_RELOC_16C_IMM32, BFD_RELOC_16C_IMM32_C.
1955         * targets.c (bfd_elf32_cr16c_vec): Declare.
1956         (bfd_target_vector): Add bfd_elf32_cr16c_vec.
1957         * cpu-cr16c.c: New file.
1958         * elf32-cr16c.c: Likewise.
1959         * libbfd.h: Regenerate.
1960         * bfd-in2.h: Likewise.
1961
1962 2004-03-30  Jakub Jelinek  <jakub@redhat.com>
1963
1964         * elf.c (map_sections_to_segments): Fix handling of .tbss.
1965
1966 2004-03-27  Alan Modra  <amodra@bigpond.net.au>
1967
1968         * Makefile.am: Remove all mention of elflink.h.
1969         * Makefile.in: Regenerate.
1970         * bfd-in.h (bfd_elf_discard_info): Declare.
1971         (bfd_elf32_discard_info, bfd_elf64_discard_info): Delete.
1972         * bfd-in2.h: Regenerate.
1973         * elf-bfd.h (bfd_elf32_print_symbol, bfd_elf64_print_symbol,
1974         bfd_elf32_link_record_dynamic_symbol,
1975         bfd_elf64_link_record_dynamic_symbol,
1976         _bfd_elf_link_record_dynamic_symbol, bfd_elf32_bfd_final_link,
1977         bfd_elf64_bfd_final_link, elf_link_record_local_dynamic_symbol,
1978         _bfd_elf32_link_record_local_dynamic_symbol,
1979         _bfd_elf64_link_record_local_dynamic_symbol,
1980         _bfd_elf32_gc_sections, _bfd_elf32_gc_common_finalize_got_offsets,
1981         _bfd_elf32_gc_common_final_link, _bfd_elf64_gc_common_final_link,
1982         _bfd_elf32_gc_record_vtinherit, _bfd_elf32_gc_record_vtentry,
1983         _bfd_elf64_gc_sections, _bfd_elf64_gc_common_finalize_got_offsets,
1984         _bfd_elf64_gc_record_vtinherit, _bfd_elf64_gc_record_vtentry,
1985         _bfd_elf32_reloc_symbol_deleted_p,
1986         _bfd_elf64_reloc_symbol_deleted_p): Delete.
1987         (bfd_elf_link_record_dynamic_symbol,
1988         bfd_elf_link_record_local_dynamic_symbol,
1989         bfd_elf_final_link, bfd_elf_gc_sections,
1990         bfd_elf_gc_record_vtinherit, bfd_elf_gc_record_vtentry,
1991         bfd_elf_gc_common_finalize_got_offsets, bfd_elf_gc_common_final_link,
1992         bfd_elf_reloc_symbol_deleted_p): Declare.
1993         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
1994         * elf32-arm.h: Update for changed function names.  Remove local
1995         WILL_CALL_FINISH_DYNAMIC_SECTION define.
1996         * elf-hppa.h, elf-m10300.c, elf32-cris.c, elf32-d10v.c, elf32-dlx.c,
1997         * elf32-fr30.c, elf32-frv.c, elf32-h8300.c, elf32-hppa.c, elf32-i386.c,
1998         * elf32-iq2000.c, elf32-m32r.c, elf32-m68hc1x.c, elf32-m68k.c,
1999         * elf32-mcore.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
2000         * elf32-sh.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
2001         * elf32-xstormy16.c, elf32-xtensa.c, elf64-alpha.c, elf64-hppa.c,
2002         * elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c, elf64-sparc.c,
2003         * elf64-x86-64.c, elfxx-ia64.c, elfxx-mips.c, elfxx-target.h: Likewise.
2004         * elfxx-target.h (bfd_elfNN_bfd_final_link): Define.
2005         (bfd_elfNN_print_symbol): Define.
2006         * elfcode.h: Don't include elflink.h.
2007         (elf_bfd_discard_info, elf_reloc_symbol_deleted_p,
2008         elf_link_record_dynamic_symbol, elf_bfd_final_link, elf_gc_sections,
2009         elf_gc_common_finalize_got_offsets, elf_gc_common_final_link,
2010         elf_gc_record_vtinherit, elf_gc_record_vtentry,
2011         elf_link_record_local_dynamic_symbol): Don't define.
2012         * elflink.c: Update for changed function names.  Move elflink.h
2013         code here.
2014         * elflink.h: Delete file.
2015         * po/SRC-POTFILES.in: Regenerate.
2016         * po/bfd.pot: Regenerate.
2017
2018 2004-03-27  Alan Modra  <amodra@bigpond.net.au>
2019
2020         * elf64-mmix.c (mmix_elf_relocate_section): Restore code setting
2021         "name" for global syms accidentally removed in 2004-03-20 change.
2022
2023 2004-03-27  Alan Modra  <amodra@bigpond.net.au>
2024
2025         * elf-bfd.h (struct elf_reloc_cookie): Add r_sym_shift field.
2026         * elflink.h: Replace all occurrences of sizeof (Elf_External_*)
2027         where Elf_External_* is different for 64 and 32 bit, with
2028         corresponding elf_size_info field.
2029         (struct elf_final_link_info): Use "bfd_byte *" instead
2030         of "Elf_External_Sym *" for external_syms and symbuf.
2031         (elf_link_adjust_relocs): Set up r_type_mask and r_sym_shift local
2032         vars and use instead of ELF_R_INFO and ELF_R_TYPE macros.
2033         (struct elf_link_sort_rela): Add "sym_mask" alias for "offset".
2034         (elf_link_sort_cmp1): Use sym_mask field instead of ELF_R_SYM.
2035         (elf_link_sort_cmp2): Adjust.
2036         (elf_link_sort_relocs): Set up r_sym_mask local var instead of
2037         using ELF_R_SYM macro.  Set u.sym_mask.
2038         (elf_bfd_final_link): Call _bfd_elf_stringtab_init instead of macro
2039         version, elf_stringtab_init.  Ditto for bfd_section_from_elf_index
2040         vs. section_from_elf_index.  Adjust Elf_External_Sym pointer
2041         arithmetic.  Pass bed to elf_link_flush_output_syms.  Adjust
2042         Elf_External_Dyn pointer arithmentic.  Use bed swap_dyn_in and
2043         swap_syn_out functions.  Rearrange dyn swap in/out switch.
2044         (elf_link_output_sym): Adjust Elf_External_Sym pointer arithmentic.
2045         Pass bed to elf_link_flush_output_syms.  Use bed swap_symbol_out.
2046         (elf_link_flush_output_syms): Add elf_backend_data arg.
2047         (elf_link_check_versioned_symbol): Likewise.
2048         (elf_link_output_extsym): Pass bed to elf_link_check_versioned_symbol.
2049         Adjust Elf_External_Sym pointer arithmetic.  Use bed swap_symbol_out.
2050         (elf_link_input_bfd): Use bfd_section_from_elf_index.  Set up
2051         r_type_mask and r_sym_shift local vars and use instead of ELF_R_SYM,
2052         ELF_R_TYPE and ELF_R_INFO macros.
2053         (elf_reloc_link_order): Select ELF32_R_INFO or ELF64_R_INFO invocation
2054         based on size rather than using ELF_R_INFO.
2055         (elf_gc_mark): Set up r_sym_shift local var and use instead of
2056         ELF_R_SYM macro.
2057         (struct alloc_got_off_arg): New.
2058         (elf_gc_common_finalize_got_offsets): Use elf_size_info instead of
2059         ARCH_SIZE.  Pass get entry size down to elf_gc_allocate_got_offsets.
2060         (elf_gc_allocate_got_offsets): Adjust.
2061         (elf_reloc_symbol_deleted_p): Usee cookie.r_sym_shift instead of
2062         ELF_R_SYM.  Use bfd_section_from_elf_index.
2063         (elf_bfd_discard_info): Set cookie.r_sym_shift.
2064         * elfcode.h (elf_stringtab_init, section_from_elf_index): Delete.
2065         (elf_slurp_symbol_table): Use bfd_section_from_elf_index.
2066
2067 2004-03-26  Stan Shebs  <shebs@apple.com>
2068
2069         Remove MPW support, no longer used.
2070         * config.bfd (powerpc-*-mpw*): Remove configuration.
2071         * mpw-config.in, mpw-make.sed: Remove files.
2072         * ecoffswap.h [MPW_C]: Remove MPW-C-friendly version of code.
2073
2074 2004-03-26  Alan Modra  <amodra@bigpond.net.au>
2075
2076         * elf64-ppc.c (elf_backend_add_symbol_hook): Define.
2077         (ppc64_elf_add_symbol_hook): New function.
2078         * elf-bfd.h (struct elf_backend_data <elf_add_symbol_hook>): Remove
2079         const from Elf_Internal_Sym param.
2080         * elflink.c (elf_link_add_object_symbols): Adjust.
2081         * elf-hppa.h (elf_hppa_add_symbol_hook): Adjust.
2082         * elf32-frv.c (elf32_frv_add_symbol_hook): Adjust.
2083         * elf32-i370.c (elf_backend_add_symbol_hook): Adjust.
2084         * elf32-m32r.c (m32r_elf_add_symbol_hook): Adjust.
2085         * elf32-m68hc1x.c (elf32_m68hc11_add_symbol_hook): Adjust.
2086         * elf32-m68hc1x.h (elf32_m68hc11_add_symbol_hook): Adjust.
2087         * elf32-ppc.c (ppc_elf_add_symbol_hook): Adjust.
2088         * elf32-sh64.c (sh64_elf_add_symbol_hook): Adjust.
2089         * elf32-v850.c (v850_elf_add_symbol_hook): Adjust.
2090         * elf64-alpha.c (elf64_alpha_add_symbol_hook): Adjust.
2091         * elf64-mmix.c (mmix_elf_add_symbol_hook): Adjust.
2092         * elf64-sh64.c (sh64_elf64_add_symbol_hook): Adjust.
2093         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Adjust.
2094         * elfxx-ia64.c (elfNN_ia64_add_symbol_hook): Adjust.
2095         * elfxx-mips.c (_bfd_mips_elf_add_symbol_hook): Adjust.
2096         * elfxx-mips.h (_bfd_mips_elf_add_symbol_hook): Adjust.
2097
2098 2004-03-26  Alan Modra  <amodra@bigpond.net.au>
2099
2100         * elfxx-target.h (bfd_elfNN_bfd_link_add_symbols): Define.
2101         * elf-bfd.h (_bfd_elf_link_add_archive_symbols): Delete.
2102         (_bfd_elf_sort_symbol, _bfd_elf_add_dt_needed_tag): Delete.
2103         (_bfd_elf_finalize_dynstr, bfd_elf32_bfd_link_add_symbols): Delete.
2104         (bfd_elf64_bfd_link_add_symbols): Delete.
2105         (bfd_elf_link_add_symbols): Declare.
2106         * elfcode.h (elf_bfd_link_add_symbols): Delete.
2107         * elflink.c: Include safe-ctype.h.
2108         (elf_add_dt_needed_tag): Rename from _bfd_elf_add_dt_needed_tag,
2109         make static.
2110         (elf_sort_symbol): Rename from _bfd_elf_sort_symbol, make static.
2111         (elf_finalize_dynstr): Rename from _bfd_elf_finalize_dynstr, make
2112         static.
2113         (elf_link_add_archive_symbols): Rename from
2114         _bfd_elf_link_add_archive_symbols, make static.
2115         (elf_link_add_object_symbols): New function.  Corresponding
2116         elflink.h function converted to use elf_size_info.
2117         (bfd_elf_link_add_symbols): Likewise.
2118         (bfd_elf_size_dynamic_sections): Adjust.
2119         * elflink.h (elf_bfd_link_add_symbols): Delete.
2120         (elf_link_add_object_symbols): Delete.
2121         * elf32-gen.c (elf32_generic_link_add_symbols): Call
2122         bfd_elf_link_add_symbols.
2123         * elf64-gen.c (elf64_generic_link_add_symbols): Likewise.
2124
2125 2004-03-25  Alan Modra  <amodra@bigpond.net.au>
2126
2127         * elflink.h (elf_link_add_object_symbols): Add DT_NEEDED for as-needed
2128         and chained shared libs only if dynsym.  Clear dynsym on forced-local.
2129
2130         * elf-bfd.h (_bfd_elf_add_dynamic_entry): Declare.
2131         (bfd_elf32_add_dynamic_entry, bfd_elf64_add_dynamic_entry): Delete.
2132         (_bfd_elf_add_dt_needed_tag): Declare.
2133         (_bfd_elf_sort_symbol): Declare.
2134         (_bfd_elf_finalize_dynstr): Declare.
2135         (RELOC_FOR_GLOBAL_SYM): Formatting.
2136         * elfcode.h (elf_add_dynamic_entry): Delete.
2137         * elflink.c (_bfd_elf_add_dynamic_entry): New function.  Corresponding
2138         elflink.h function converted to use elf_size_info.
2139         (_bfd_elf_add_dt_needed_tag): Likewise.
2140         (_bfd_elf_sort_symbol): Likewise.
2141         (_bfd_elf_finalize_dynstr): Likewise.
2142         (compute_bucket_count): Likewise.
2143         (bfd_elf_size_dynamic_sections): Likewise.  Check result of
2144         _bfd_elf_strtab_add before calling _bfd_elf_strtab_addref.
2145         (elf_adjust_dynstr_offsets, elf_collect_hash_codes): Moved from..
2146         * elflink.h: ..here.
2147         (sort_symbol, add_dt_needed_tag): Delete.
2148         (elf_add_dynamic_entry, elf_finalize_dynstr): Delete.
2149         (compute_bucket_count, NAME(bfd_elf,size_dynamic_sections)): Delete.
2150         Update all users.
2151         * elf32-arm.h (add_dynamic_entry): Update.  Remove casts.
2152         * elf32-cris.c (add_dynamic_entry): Likewise.
2153         * elf32-hppa.c (add_dynamic_entry): Likewise.
2154         * elf32-i370.c (add_dynamic_entry): Likewise.
2155         * elf32-i386.c (add_dynamic_entry): Likewise.
2156         * elf32-m32r.c (add_dynamic_entry): Likewise.
2157         * elf32-m68k.c (add_dynamic_entry): Likewise.
2158         * elf32-ppc.c (add_dynamic_entry): Likewise.
2159         * elf32-s390.c (add_dynamic_entry): Likewise.
2160         * elf32-sh.c (add_dynamic_entry): Likewise.
2161         * elf32-sparc.c (add_dynamic_entry): Likewise.
2162         * elf32-vax.c (add_dynamic_entry): Likewise.
2163         * elf32-xtensa.c (add_dynamic_entry): Likewise.
2164         * elf64-alpha.c (add_dynamic_entry): Likewise.
2165         * elf64-hppa.c (add_dynamic_entry): Likewise.
2166         * elf64-ppc.c (add_dynamic_entry): Likewise.
2167         * elf64-s390.c (add_dynamic_entry): Likewise.
2168         * elf64-sparc.c (add_dynamic_entry): Likewise.
2169         * elf64-x86-64.c (add_dynamic_entry): Likewise.
2170         * elfxx-ia64.c (add_dynamic_entry): Likewise.
2171         * elfxx-mips.c (MIPS_ELF_ADD_DYNAMIC_ENTRY): Likewise.
2172         * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
2173         * elf32-frv.c (elf32_frv_size_dynamic_sections): Likewise.
2174         * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
2175
2176 2004-03-23  Paul Brook  <paul@codesourcery.com>
2177
2178         * elf32-arm.h (arm_print_private_bfd_data): Add EABI v3.
2179
2180 2004-03-22  Bob Wilson  <bob.wilson@acm.org>
2181
2182         * elf32-xtensa.c (elf_xtensa_check_relocs): Remove code to read
2183         literal tables and check for relocs outside of literal pools.
2184         (elf_xtensa_make_sym_local): Don't clear ELF_LINK_NON_GOT_REF flag.
2185         (elf_xtensa_fix_refcounts): Don't check ELF_LINK_NON_GOT_REF or
2186         set DF_TEXTREL.
2187         (elf_xtensa_size_dynamic_sections): Don't add DT_TEXTREL entry.
2188         (elf_xtensa_relocate_section): Read literal tables and check for
2189         dynamic relocations in read-only sections and not in literal pools.
2190
2191 2004-03-23  Alan Modra  <amodra@bigpond.net.au>
2192
2193         PR 51.
2194         * linker.c (bfd_wrapped_link_hash_lookup): Handle info->wrap_char.
2195
2196 2004-03-22  Hans-Peter Nilsson  <hp@axis.com>
2197
2198         * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOTPLT,
2199         R_CRIS_16_GOTPLT>: Also error if there's no PLT for a symbol
2200         not defined by the executable, or defined in a DSO.
2201         <eliding run-time relocation of .got>: Initialize GOT entry for a
2202         function symbol or ELF_LINK_HASH_NEEDS_PLT statically in an
2203         executable.
2204         (cris_elf_gc_sweep_hook): Improve fallthrough marking.
2205         (elf_cris_try_fold_plt_to_got): Improve head comment.  Do not fold
2206         a PLT reloc to GOT for an executable.
2207         (elf_cris_adjust_dynamic_symbol): Only fold a .got.plt entry with
2208         .got for a DSO and explain why.
2209         (elf_cris_discard_excess_program_dynamics): Also lose GOT-relocs
2210         and unreferenced symbols for which a PLT is defined.  Adjust
2211         dynamic-symbol pruning correspondingly, to make sure we don't lose
2212         a dynamic symbol also defined by a DSO.
2213
2214 2004-03-22  Alan Modra  <amodra@bigpond.net.au>
2215
2216         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Add input_bfd, input_section
2217         and rel args.  Group input and output args.  Wrap to 80 columns.
2218         * elf-m10200.c, elf-m10300.c, elf32-arm.h, elf32-avr.c,
2219         elf32-cris.c, elf32-d10v.c, elf32-fr30.c, elf32-h8300.c,
2220         elf32-hppa.c, elf32-i386.c, elf32-i860.c, elf32-ip2k.c,
2221         elf32-iq2000.c, elf32-m68hc1x.c, elf32-m68k.c, elf32-mcore.c,
2222         elf32-msp430.c, elf32-openrisc.c, elf32-ppc.c, elf32-s390.c,
2223         elf32-sparc.c, elf32-v850.c, elf32-vax.c, elf32-xstormy16.c,
2224         elf32-xtensa.c, elf64-alpha.c, elf64-mmix.c, elf64-ppc.c,
2225         elf64-s390.c, elf64-sparc.c, elf64-x86-64.c, elfxx-ia64.c: Update
2226         RELOC_FOR_GLOBAL_SYMBOL invocation.
2227
2228 2004-03-20  H.J. Lu  <hongjiu.lu@intel.com>
2229
2230         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): Report error if
2231         unresolved symbols in objects aren't allowed.
2232
2233         * elf-hppa.h (elf_hppa_relocate_section): Properly handle
2234         unresolved symbols.
2235         (elf_hppa_remark_useless_dynamic_symbols): Likewise.
2236         (elf_hppa_unmark_useless_dynamic_symbols):
2237         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2238         * elf32-hppa.c (elf32_hppa_size_stubs): Likewise.
2239         (elf32_hppa_relocate_section): Likewise.
2240         * elf32-i370.c (i370_elf_relocate_section): Likewise.
2241         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2242         * elf32-sh.c (sh_elf_relocate_section): Likewise.
2243         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
2244         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
2245
2246         * elf-m10200.c (mn10200_elf_relocate_section): Use
2247         RELOC_FOR_GLOBAL_SYMBOL.
2248         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2249         * elf32-d10v.c (elf32_d10v_relocate_section): Likewise.
2250         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2251         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2252         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2253         * elf32-m68hc1x.c (m68hc11_get_relocation_value): Likewise.
2254         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2255         * elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
2256         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2257         * elf32-v850.c (v850_elf_relocate_section): Likewise.
2258         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2259         * elf64-mmix.c (mmix_elf_relocate_section): Likewise.
2260
2261 2004-03-19  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2262
2263         * elf32-hppa.c (elf32_hppa_check_relocs): Handle R_PARISC_PCREL32.
2264         (final_link_relocate): Likewise.
2265         * elf-hppa.h (elf_hppa_reloc_final_type): Handle selectors for
2266         R_PARISC_PCREL32 and R_PARISC_PCREL64 relocations.
2267
2268 2004-03-19  Alan Modra  <amodra@bigpond.net.au>
2269
2270         * Makefile.am: Run "make dep-am".
2271         * Makefile.in: Regenerate.
2272         * aclocal.m4: Regenerate.
2273         * config.in: Regenerate.
2274         * po/bfd.pot: Regenerate.
2275
2276 2004-03-19  Alan Modra  <amodra@bigpond.net.au>
2277             H.J. Lu  <hongjiu.lu@intel.com>
2278
2279         * elflink.c (_bfd_elf_merge_symbol): Revert last change.  Move
2280         type and size change code to where it was previously.  Remove
2281         dt_needed param.  Treat old weak syms as strong if new sym is
2282         from a shared lib, even when old sym is from another shared
2283         lib.  Remove unnecessary tests of oldweak and newweak.  Correct
2284         comments.
2285         (_bfd_elf_add_default_symbol): Remove dt_needed param.  Update
2286         _bfd_elf_merge_symbol calls.
2287         * elflink.h (elf_link_add_object_symbols): Update calls.  Remove
2288         dt_needed local var.  Update comments.
2289         * elf-bfd.h (_bfd_elf_merge_symbol): Update prototype.
2290         (_bfd_elf_add_default_symbol): Likewise.
2291
2292         * elflink.c (_bfd_elf_merge_symbol): Reinstate code to handle
2293         strong syms in one shared object overriding weak syms in another.
2294
2295 2004-03-18  Alan Modra  <amodra@bigpond.net.au>
2296
2297         * elf-bfd.h (struct elf_obj_tdata): Delete dt_soname field.  Add
2298         dyn_lib_class field.  Rearrange for better packing.
2299         (elf_dt_soname): Delete.
2300         (elf_dyn_lib_class): Define.
2301         * elf.c (bfd_elf_set_dt_needed_name): Update comment.
2302         (bfd_elf_set_dt_needed_soname): Delete.
2303         (bfd_elf_set_dyn_lib_class): New function.
2304         * elflink.h (add_dt_needed_tag): New function.  Split out from..
2305         (elf_link_add_object_symbols): ..here.  Rename "name" to "soname".
2306         Use elf_dyn_lib_class to set dt_needed and add_needed.  Move fallback
2307         initialization of soname.
2308         (elf_link_check_versioned_symbol): Test elf_dyn_lib_class instead of
2309         elf_dt_soname.
2310         * bfd-in.h (enum dynamic_lib_link_class): New.
2311         (bfd_elf_set_dt_needed_soname): Delete.
2312         (bfd_elf_set_dyn_lib_class): Declare.
2313         * bfd-in2.h: Regenerate.
2314
2315         * elflink.c (_bfd_elf_merge_symbol): Rewrite weak symbol handling.
2316         (_bfd_elf_add_default_symbol): Remove indirect BFD_ASSERTs.
2317         * elflink.h (elf_link_add_object_symbols): Don't clear dt_needed in
2318         symbol loop.  Instead use add_needed to flag tag as written.
2319
2320 2004-03-17  Nathan Sidwell  <nathan@codesourcery.com>
2321
2322         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Correct
2323         logic for null_input_bfd detection.
2324
2325 2004-03-17  Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2326
2327         * config.bfd: Switch sh-*-rtems* to ELF.  Add sh-*-rtemscoff*.
2328
2329 2004-03-16  Mark Kettenis  <kettenis@gnu.org>
2330
2331         * netbsd-core.c (netbsd_core_file_p) [CORE_FPU_OFFSET]: Remove
2332         code.
2333
2334 2004-03-16  Alan Modra  <amodra@bigpond.net.au>
2335
2336         * elflink.c (elf_link_read_relocs_from_section): Don't use
2337         NUM_SHDR_ENTRIES in end of reloc calc.  Move NULL shdr check..
2338         (_bfd_elf_link_read_relocs): ..to here.
2339         * elf32-ppc.c (ppc_elf_relax_section): Formatting.
2340
2341 2004-03-16  Alan Modra  <amodra@bigpond.net.au>
2342
2343         * configure.in (HOST_64BIT_TYPE, HOST_U_64BIT_TYPE): Don't override
2344         values selected in configure.host.  Require both to be defined
2345         before setting BFD_HOST_64_BIT_DEFINED.  Protect assignment to
2346         corresponding BFD_HOST vars with quotes.
2347         <${host64}-${target64}-${want64} in *true*>: Don't exempt gcc;
2348         Always require BFD_HOST_64_BIT_DEFINED.
2349         <file_ptr type>: Find off_t size before emitting message.  Combine
2350         off_t and ftello64 conditional.
2351         * configure: Regenerate.
2352
2353 2004-03-16  Alan Modra  <amodra@bigpond.net.au>
2354
2355         * elf32-m32r.c (m32r_elf_create_dynamic_sections): Fix pointer
2356         aliasing warning.  Remove trailing whitespace throughout file.
2357
2358 2004-03-15  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2359
2360         * elf-hppa.h (elf_hppa_relocate_section): Pass input_bfd instead of
2361         input_section in calls to get_dyn_name.
2362         * elf64-hppa.c (get_dyn_name): Change type of first argument to "bfd *".        Use section id of first section in input BFD to build dynamic name for
2363         local symbols.
2364         (elf64_hppa_check_relocs): Pass abfd in call to get_dyn_name.
2365
2366 2004-03-15  Alan Modra  <amodra@bigpond.net.au>
2367
2368         * bfd-in.h (bfd_int64_t, bfd_uint64_t): New types.
2369         (BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Don't define here.
2370         (bfd_getb64, bfd_getl64, bfd_get_bits): Return bfd_uint64_t.
2371         (bfd_getb_signed_64, bfd_getl_signed_64): Return bfd_int64_t.
2372         (bfd_putb64, bfd_putl64, bfd_put_bits): Accept bfd_uint64_t.
2373         * configure.in (HOST_U_64BIT_TYPE): Set when sizeof long is 8.
2374         (BFD_HOST_64_BIT_DEFINED, BFD_HOST_64_BIT, BFD_HOST_U_64_BIT): Set
2375         when using long.
2376         * libbfd.c (EIGHT_GAZILLION, COERCE64): Use bfd_int64_t.
2377         (bfd_getb64): Return bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
2378         (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
2379         (bfd_putb64): Accept bfd_uint64_t.  Enable when BFD_HOST_64_BIT.
2380         (bfd_putl64, bfd_put_bits, bfd_get_bits): Likewise.
2381         * dwarf2.c (struct attribute): Use bfd_int64_t and bfd_uint64_t.
2382         (read_8_bytes, read_indirect_string, read_address): Likewise.
2383         (read_abbrevs, parse_comp_unit): Likewise.
2384         * targets.c (struct bfd_target): Likewise.
2385         * aix386-core.c (NO_GET64, NO_PUT64, NO_GETS64): Define and use.
2386         * hppabsd-core.c: Likewise.  Formatting.
2387         * hpux-core.c: Likewise.
2388         * irix-core.c: Likewise.
2389         * netbsd-core.c: Likewise.
2390         * osf-core.c: Likewise.
2391         * ptrace-core.c: Likewise.
2392         * sco5-core.c: Likewise.
2393         * trad-core.c: Likewise.
2394         * configure: Regenerate.
2395         * bfd-in2.h: Regenerate.
2396
2397 2004-03-15  Alan Modra  <amodra@bigpond.net.au>
2398
2399         * bfd-in.h (bfd_getb64, bfd_getl64): Replace bfd_byte* with void*.
2400         (bfd_getb32, bfd_getl32, bfd_getb16, bfd_getl16): Likewise.
2401         (bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
2402         (bfd_getb_signed_32, bfd_getl_signed_32): Likewise.
2403         (bfd_getb_signed_16, bfd_getl_signed_16): Likewise.
2404         (bfd_putb64, bfd_putl64, bfd_putb32, bfd_putl32): Likewise.
2405         (bfd_putb16, bfd_putl16, bfd_get_bits, bfd_put_bits): Likewise.
2406         * libbfd.c: Likewise in function definitions.
2407         (bfd_put_8): Mask with 0xff rather than casting to char.
2408         (bfd_putb16, bfd_putl16, bfd_putb32, bfd_putl32): Likewise.
2409         (bfd_putb64, bfd_putl64, bfd_put_bits): Likewise.
2410         (H_PUT_64, H_PUT_32, H_PUT_16, H_PUT_8): Remove casts, simplify.
2411         (H_PUT_S64, H_PUT_S32, H_PUT_S16, H_PUT_S8): Likewise.
2412         (H_GET_64, H_GET_32, H_GET_16, H_GET_8): Likewise.
2413         (H_GET_S64, H_GET_S32, H_GET_S16, H_GET_S8): Likewise.
2414         * libaout.h (H_PUT_64 H_PUT_32, H_PUT_16): Remove casts, simplify.
2415         (H_PUT_S64, H_PUT_S32, H_PUT_S16): Likewise.
2416         (H_GET_64, H_GET_32, H_GET_16): Likewise.
2417         (H_GET_S64, H_GET_S32, H_GET_S16): Likewise.
2418         * archive.c (do_slurp_coff_armap): Update swap prototype.
2419         * coff-tic54x.c (tic54x_getl32): Replace bfd_byte* with void*.
2420         (tic54x_getl_signed_32): Likewise.
2421         (tic54x_putl32): Likewise.  Mask with 0xff rather than casting to char.
2422         * mach-o.c (bfd_mach_o_read_header): Update get32 prototype.
2423         * pdp11.c (bfd_getp32): Make static, replace bfd_byte* with void*.
2424         (bfd_getp_signed_32, bfd_putp32): Likewise.
2425         * targets.c (struct bfd_target): Use void* in place of bfd_byte* for
2426         bfd_getx64, bfd_getx_signed_64, bfd_putx64, bfd_getx32,
2427         bfd_getx_signed_32, bfd_putx32, bfd_getx16, bfd_getx_signed_16,
2428         bfd_putx16, bfd_h_getx64, bfd_h_getx_signed_64, bfd_h_putx64,
2429         bfd_h_getx32, bfd_h_getx_signed_32, bfd_h_putx32, bfd_h_getx16,
2430         bfd_h_getx_signed_16, bfd_h_putx16.
2431         * aix386-core.c (NO_GET, NO_GETS, NO_PUT): Update prototypes.
2432         * hppabsd-core.c: Similarly.  Rename NO_SIGNED_GET to NO_GETS.
2433         * hpux-core.c: Likewise.
2434         * irix-core.c: Likewise.
2435         * netbsd-core.c: Likewise.
2436         * osf-core.c: Likewise.
2437         * ptrace-core.c: Likewise.
2438         * sco5-core.c: Likewise.
2439         * trad-core.c: Likewise.
2440         * bfd-in2.h: Regenerate.
2441
2442 2004-03-15  Matt Thomas  <matt@3am-software.com>
2443
2444         * config.bfd: Add x86-64 vector to NetBSD/i386 if 64bit BFD is
2445         selected.
2446
2447 2004-03-13  Mark Kettenis  <kettenis@gnu.org>
2448
2449         * config.bfd: Add x86_64-*-openbsd*.
2450         * configure.in (x86_64-*-openbsd*): Set COREFILE to
2451         netbsd-core.lo.
2452         * configure: Regenerate.
2453
2454 2004-03-12  Nick Clifton  <nickc@redhat.com>
2455             Dave Murphy  <wintermute2k4@ntlworld.com>
2456
2457         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Skip most checks
2458         if the input bfd does not contain any code.
2459
2460 2004-03-09  Steve Ellcey  <sje@cup.hp.com>
2461
2462         * elfxx-ia64.c (plt_full_entry): Change ld8 to ld8.acq.
2463
2464 2004-03-05  Fred Fish  <fnf@redhat.com>
2465
2466         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Just force
2467         mips16 symbols to be even rather than testing first for even/odd.
2468         (_bfd_mips_elf_link_output_symbol_hook): Ditto.
2469
2470 2004-03-05  Nathan Sidwell  <nathan@codesourcery.com>
2471
2472         * elf.c (map_sections_to_segments): Ignore .tbss sections for
2473         layout purposes.
2474
2475 2004-03-03  Alexandre Oliva  <aoliva@redhat.com>
2476
2477         * elflink.c (bfd_elf_record_link_assignment): Mark undefweak and
2478         undefined symbols as hash_new.
2479
2480 2003-03-03  Andrew Stubbs  <andrew.stubbs@superh.com>
2481
2482         * archures.c: Add bfd_mach_sh4_nommu_nofpu.
2483         * cpu-sh.c: Ditto.
2484         * elf32-sh.c: Ditto.
2485         * bfd-in2.h: Regenerate.
2486
2487 2004-03-02  Alexandre Oliva  <aoliva@redhat.com>
2488
2489         * elf32-frv.c (struct frv_pic_relocs_info): Added fixups and
2490         dynrelocs.
2491         (_frv_count_got_plt_entries): Initialize them.
2492         (frv_pic_relocs_info_find): Add insert argument.  Adjust all
2493         callers.
2494         (frv_pic_relocs_info_for_global): Likewise.
2495         (frv_pic_relocs_info_for_local): Likewise.
2496         (frv_pic_merge_early_relocs_info): New.
2497         (_frv_resolve_final_relocs_info): Use it in case one entry maps to
2498         another.
2499         (_frv_add_dyn_reloc): Add entry argument.  Adjust all callers.
2500         Check that we don't exceed the allocated count for entry.
2501         (_frv_add_rofixup): Likewise.
2502         (_frv_emit_got_relocs_plt_entries): Adjust for coding standards.
2503         (elf32_frv_finish_dynamic_sections): Improve error message in case
2504         we emit too few rofixup entries.
2505
2506 2004-03-01  Richard Sandiford  <rsandifo@redhat.com>
2507
2508         * archures.c (bfd_mach_fr450): New.
2509         * bfd-in2.h: Regenerate.
2510         * cpu-frv.c (arch_info_450): New bfd_arch_info_type.
2511         (arch_info_500): Link to it.
2512         * elf32-frv.c (elf32_frv_machine, frv_elf_merge_private_bfd_data)
2513         (frv_elf_print_private_bfd_data): Handle fr405 and fr450 header flags.
2514         (frv_elf_arch_extension_p): New function.
2515         (frv_elf_merge_private_bfd_data): Use it.
2516
2517 2004-02-28  H.J. Lu  <hongjiu.lu@intel.com>
2518
2519         * elf-bfd.h (_bfd_elf_link_add_archive_symbols): New prototype.
2520
2521         * elflink.h (is_global_data_symbol_definition): Moved to
2522         elflink.c.
2523         (elf_link_is_defined_archive_symbol): Likewise.
2524         (elf_link_add_archive_symbols): Likewise. Renamed to
2525         _bfd_elf_link_add_archive_symbols.
2526
2527         * elflink.c (elf_link_is_defined_archive_symbol): Get the size
2528         of ELF symbol table entry from backend.
2529         (_bfd_elf_link_add_archive_symbols): Call bfd_link_add_symbols
2530         instead of elf_link_add_object_symbols.
2531
2532 2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
2533
2534         * elf-bfd.h (struct elf_backend_data): Added
2535         elf_backend_can_make_relative_eh_frame,
2536         elf_backend_can_make_lsda_relative_eh_frame and
2537         elf_backend_encode_eh_address.
2538         (_bfd_elf_encode_eh_address): Declare.
2539         (_bfd_elf_can_make_relative): Declare.
2540         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use new
2541         hooks to decide whether to attempt to make_relative and
2542         make_lsda_relative.
2543         (_bfd_elf_write_section_eh_frame_hdr): Call encode_eh_address.
2544         (_bfd_elf_can_make_relative): New.
2545         (_bfd_elf_encode_eh_address): New.
2546         * elf32-frv.c (frv_elf_use_relative_eh_frame): New.
2547         (frv_elf_encode_eh_address): New.
2548         (elf_backend_can_make_relative_eh_frame): Define.
2549         (elf_backend_can_make_lsda_relative_eh_frame): Define.
2550         (elf_backend_encode_eh_address): Define.
2551         * elfxx-target.h
2552         (elf_backend_can_make_relative_eh_frame): Define.
2553         (elf_backend_can_make_lsda_relative_eh_frame): Define.
2554         (elf_backend_encode_eh_address): Define.
2555         (elfNN_bed): Add them.
2556
2557 2004-02-27  Alexandre Oliva  <aoliva@redhat.com>
2558
2559         * elf32-frv.c (elf32_frv_howto_table) <R_FRV_LABEL16>: Set
2560         complain_on_overflow to signed.
2561
2562 2004-02-27  H.J. Lu  <hongjiu.lu@intel.com>
2563
2564         * elflink.h (sort_symbol): New.
2565         (elf_link_add_object_symbols): Use a sorted symbol array for
2566         weakdef.
2567
2568 2004-02-27  Jakub Jelinek  <jakub@redhat.com>
2569
2570         * elf32-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
2571         for pc relative relocs.
2572         (elf_s390_relocate_section): Likewise.
2573         * elf64-s390.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL
2574         for pc relative relocs.
2575         (elf_s390_relocate_section): Likewise.
2576
2577 2004-02-26  H.J. Lu  <hongjiu.lu@intel.com>
2578
2579         * elfxx-ia64.c (elfNN_ia64_check_relocs): Fix call to
2580         count_dyn_reloc.
2581
2582 2004-02-25  H.J. Lu  <hongjiu.lu@intel.com>
2583
2584         * elfxx-ia64.c (elfNN_ia64_dyn_reloc_entry): Add the reltext.
2585         field to track if a relocation is against readonly section.
2586         (count_dyn_reloc): Take a new argument for rent->reltext.
2587         (elfNN_ia64_check_relocs): Adjust call to count_dyn_reloc.
2588         (get_reloc_section): Don't set ia64_info->reltext here.
2589         (allocate_dynrel_entries): Set ia64_info->reltext here.
2590
2591 2004-02-24  Alexandre Oliva  <aoliva@redhat.com>
2592
2593         * elf32-frv.c (FRV_SYM_LOCAL): Weak undefined doesn't imply local.
2594         (_frv_emit_got_relocs_plt_entries): Decay relocation to protected
2595         function's descriptor to symbol+offset, and map local undefweak
2596         symbol to NULL function descriptor.
2597         (elf32_frv_relocate_section): Likewise.
2598
2599 2004-02-23  Mark Kettenis  <kettenis@gnu.org>
2600
2601         * libaout.h (enum machine_type): Add M_SPARC64_NETBSD and
2602         M_X86_64_NETBSD.
2603         * netbsd-core.c (M_SPARC64_OPENBSD): Define.
2604         (netbsd_core_file_p): Set architecture from machine ID for
2605         selected machines.
2606
2607 2004-02-23  Jakub Jelinek  <jakub@redhat.com>
2608
2609         * elflink.h (size_dynamic_sections): If not adding DT_FLAGS and
2610         DF_BIND_NOW is set in info->flags, create DT_BIND_NOW dynamic entry.
2611
2612 2004-02-21  H.J. Lu  <hongjiu.lu@intel.com>
2613
2614         * elflink.c (_bfd_elf_merge_symbol): Properly handle undefined
2615         symbols with non-default visibility.
2616
2617 2004-02-21  Danny Smith  <daanysmith@users.sourceforge.net>
2618
2619         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Clear
2620         IMAGE_SCN_MEM_WRITE on known sections only.
2621
2622 2004-02-20  Jakub Jelinek  <jakub@redhat.com>
2623
2624         * elf32-ppc.c (allocate_dynrelocs): Create dynsym for undef weak
2625         symbols used in PIE relocs.
2626
2627 2004-02-19  Jakub Jelinek  <jakub@redhat.com>
2628
2629         * elf32-sparc.c (elf32_sparc_finish_dynamic_sections): Clear
2630         .plt sh_entsize.
2631
2632 2004-02-18  Daniel Jacobowitz  <drow@mvista.com>
2633
2634         * configure.in: Update version to 2.15.90.
2635         * configure: Regenerate.
2636
2637 2004-02-17  Daniel Jacobowitz  <drow@mvista.com>
2638             Richard Sandiford  <rsandifo@redhat.com>
2639
2640         * elfxx-mips.c (mips_elf_calculate_relocation): Use
2641         _bfd_elf_symbol_refs_local_p to decide whether to decay
2642         a GOT_PAGE/GOT_OFST pair to GOT_DISP/addend.
2643         (_bfd_mips_elf_check_relocs): Add a global GOT entry for GOT_PAGE
2644         relocs if the symbol wasn't defined by a regular object file.
2645         Don't check the symbol's dynindx.
2646
2647 2004-02-16  Andrew Cagney  <cagney@redhat.com>
2648
2649         * bfd-in.h (file_ptr, ufile_ptr): Configure type using
2650         @bfd_file_ptr@.
2651         * bfd-in2.h: Re-generate.
2652
2653 2004-02-14  Andrew Cagney  <cagney@redhat.com>
2654
2655         * configure.host (HDEFINES): When hppa*-*-hpux*, define
2656         _LARGEFILE64_SOURCE.
2657
2658 2004-02-13  Andrew Cagney  <cagney@redhat.com>
2659
2660         * elf.c (vma_page_aligned_bias): New function.
2661         (assign_file_positions_except_relocs)
2662         (assign_file_positions_for_segments): Replace broken modulo
2663         arithmetic with call to vma_page_aligned_bias.
2664
2665 2004-02-11  Andrew Cagney  <cagney@redhat.com>
2666
2667         * bfd-in.h: Update copyright.
2668         (bfd_tell): Change return type to file_ptr.
2669         * bfd-in2.h: Re-generate.
2670         * cache.c: Update copyright.
2671         (bfd_cache_lookup_worker): Use real_fseek, do not cast offset
2672         parameter.
2673         (close_one): Use real_ftell.
2674         * bfdio.c: Update copyright.
2675         (real_ftell, real_fseek): New functions.
2676         (bfd_tell): Use real_fseek and real_ftell, change return type to
2677         file_ptr.
2678         (bfd_seek): Use real_ftell and real_fseek, change type of
2679         file_position to a file_ptr.
2680         * libbfd-in.h: Update copyright.
2681         (real_ftell, real_fseek): Declare.
2682         * libbfd.h: Re-generate.
2683
2684         * configure.in (AC_CHECK_FUNCS): Check for ftello, ftello64,
2685         fseeko and fseeko64.  Determine bfd_file_ptr.
2686         * configure: Re-generate.
2687         * config.in: Re-generate.
2688
2689 2004-02-09  Anil Paranjpe  <anilp1@KPITCummins.com>
2690
2691         * coff-h8300.c: Added comments about relaxation for ldc.w and stc.w.
2692         * elf32-h8300.c: Likewise.
2693
2694 2004-02-09  Christian Vogel <vogelchr@vogel.cx>
2695             Nick Clifton  <nickc@redhat.com>
2696
2697         * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Catch
2698         GOT entries with no associated GOT subsection.
2699
2700 2004-02-09  Richard Sandiford  <rsandifo@redhat.com>
2701
2702         * bfd-elf.h (elf_backend_name_local_section_symbols): New hook.
2703         * elf.c (swap_out_syms): Use it to decide whether local section
2704         symbols should be named.
2705         * elfxx-target.h (elf_backend_name_local_section_symbols): New macro.
2706         * elfxx-mips.h (_bfd_mips_elf_name_local_section_symbols): Declare.
2707         (elf_backend_name_local_section_symbols): Define.
2708         * elfxx-mips.c (_bfd_mips_elf_name_local_section_symbols): New.
2709
2710 2004-01-30  H.J. Lu  <hongjiu.lu@intel.com>
2711
2712         * elfxx-ia64.c (elfNN_ia64_relax_brl): New function.
2713         (elfNN_ia64_relax_section): Optimize brl to br during the relax
2714         finalize pass.
2715
2716 2004-01-30  Alexandre Oliva  <aoliva@redhat.com>
2717
2718         * elf32-frv.c (elf32_frv_always_size_sections): Initialize pointer
2719         to bfd_link_hash_entry passed by reference to
2720         _bfd_generic_link_add_one_symbol.
2721
2722 2004-01-25  H.J. Lu  <hongjiu.lu@intel.com>
2723
2724         * elfxx-ia64.c (elfNN_ia64_relocate_section): Disallow imm
2725         relocations against dynamic symbols.
2726
2727 2004-01-23  Daniel Jacobowitz  <drow@mvista.com>
2728
2729         * elf32-arm.h (elf32_arm_check_relocs): Revert part of 2004-01-13
2730         change.
2731
2732 2004-01-21  Tom Rix  <tcrix@worldnet.att.net>
2733
2734         * reloc.c: New 5 bit reloc, BFD_RELOC_M68HC12_5B, for m68hc12 movb/movw.
2735         * bfd-in2.h, libbfd.h: Rebuilt.
2736
2737 2004-01-20  Danny Smith  <dannysmith@users.sourceforge.net>
2738
2739         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Don't remove
2740         IMAGE_SCN_MEM_WRITE flag from .text section if WP_TEXT
2741         flag has been cleared.
2742
2743 2004-01-19  Kazu Hirata  <kazu@cs.umass.edu>
2744
2745         * coff-h8300.c: Add and adjust comments about relaxation.
2746         * elf32-h8300.c: Likewise.
2747
2748 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
2749
2750         * coff-h8300.c: Fix comment typos.
2751         * elf32-h8300.c: Likewise.
2752
2753 2004-01-16  Kazu Hirata  <kazu@cs.umass.edu>
2754
2755         * coff-h8300.c: Add comments about relaxation.
2756         * elf32-h8300.c: Likewise.
2757
2758 2004-01-14  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
2759
2760         * acinclude.m4: Quote names of macros to be defined by AC_DEFUN
2761         throughout.
2762         * aclocal.m4: Regenerate.
2763         * configure: Regenerate.
2764
2765 2004-01-13  Ian Lance Taylor  <ian@wasabisystems.com>
2766
2767         * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Call
2768         mips_elf64_rtype_to_howto instead of using howto_table.
2769
2770 2004-01-13  Daniel Jacobowitz  <drow@mvista.com>
2771
2772         * elf32-arm.h (elf32_arm_final_link_relocate): Check that we created
2773         the .plt section.
2774         (elf32_arm_check_relocs): Don't increment the PLT refcount for
2775         relocs which would not use the PLT.
2776
2777 2004-01-13  Alan Modra  <amodra@bigpond.net.au>
2778
2779         * elf64-ppc.c (ppc64_elf_check_relocs): Ignore !SEC_ALLOC relocs.
2780         (ppc64_elf_gc_sweep_hook): Likewise.
2781         (ppc64_elf_size_dynamic_sections): Test for .plt directly.
2782
2783 2004-01-12  Anil Paranjpe  <anilp1@KPITCummins.com>
2784
2785         Adds linker relaxation support for bit manipulation insns like
2786         band, bclr, biand, bild, bior, bist, bixor, bld, bnot, bor, bset,
2787         bst, btst, bxor.
2788         * elf32-h8300.c: Opcode for bit manipulation insn is checked in
2789         elf32_h8_relax_section function while relxation for aa:16 and aa:32.
2790         * coff-h8300.c: Opcode for bit manipulation insn is checked in
2791         h8300_reloc16_extra_cases function while relxation for aa:16 and aa:32.
2792
2793 2004-01-12  Alan Modra  <amodra@bigpond.net.au>
2794
2795         * dwarf2.c: Convert to C90, remove unneeded casts and prototypes.
2796
2797 2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
2798
2799         * elf32-h8300.c: Fix formatting.
2800
2801 2004-01-11  Kazu Hirata  <kazu@cs.umass.edu>
2802
2803         * elf32-cris.c (cris_elf_gc_sweep_hook): Return early if no
2804         dynamic object is present.  Declare r_symndx and h in an inner
2805         scope.
2806         * elf32-vax.c (elf_vax_gc_sweep_hook): Likewise.
2807
2808 2004-01-09  Daniel Jacobowitz  <drow@mvista.com>
2809
2810         * elf32-arm.h (struct elf32_arm_relocs_copied): Remove pc_count.
2811         (elf32_arm_copy_indirect_symbol): Don't copy pc_count.
2812         (elf32_arm_final_link_relocate): Handle PLT32 and PC24 relocs
2813         identically.  Do not emit PC24 relocations for shared libraries.
2814         (elf32_arm_gc_sweep_hook): Handle PLT32 and PC24 relocs
2815         identically.  Don't adjust pc_count.
2816         (elf32_arm_check_relocs): Handle PLT32 and PC24 relocs identically.
2817         Set ELF_LINK_HASH_NEEDS_PLT for both.  Don't adjust pc_count; don't
2818         adjust count for branch relocations.
2819         (allocate_dynrelocs): Correct typo in call to
2820         WILL_CALL_FINISH_DYNAMIC_SYMBOL.  Never allocate space for
2821         PC24 or PLT32 relocs when linking.
2822
2823 2004-01-09  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
2824
2825         * coff-arm.c (aoutarm_std_reloc_howto): [ARM_WINCE] Synchronize ARM_26D
2826         relocation howto with ARM_26 one for consistency.
2827         (coff_arm_relocate_section): Set partial_inplace for ARM_26 relocations
2828         that will be converted to ARM_26D ones, since we always want 'done'
2829         relocations to be reflected in section's data.
2830         (coff_arm_relocate_section): [ARM_WINCE] Quick fix for BL instruction
2831         offset.
2832         (_bfd_final_link_relocate): Do not modify "inplace" data, if not
2833         requested.
2834
2835 2004-01-08  Dmitry Semyonov  <Dmitry.Semyonov@oktet.ru>
2836
2837         * coff-arm.c (coff_arm_relocate_section): Do not alter relocs that
2838         are not partial_inplace during a relocatable link.
2839
2840 2004-01-08  Kazu Hirata  <kazu@cs.umass.edu>
2841
2842         * elf32-m68k.c (elf_m68k_gc_sweep_hook): Return early
2843         if no dynamic object is present.  Declare r_symndx and h in an
2844         inner scope.
2845
2846 2004-01-07  H.J. Lu  <hongjiu.lu@intel.com>
2847
2848         * elfxx-ia64.c (elfNN_ia64_relax_section): Don't install
2849         trampoline if it is known out of range.
2850
2851 2004-01-06  Alexandre Oliva  <aoliva@redhat.com>
2852
2853         2003-12-17  Alexandre Oliva  <aoliva@redhat.com>
2854         * elf32-frv.c (_frv_osec_readonly_p): New.
2855         (_frv_emit_got_relocs_plt_entries): Don't emit rofixup for
2856         undefweak symbol.
2857         (_frv_count_got_plt_entries): Adjust expected count accordingly.
2858         (elf32_frv_relocate_section): Likewise.  Error out if attempting
2859         to emit rofixups or dynamic relocs in read-only segments.  Use
2860         _bfd_elf_section_offset to adjust r_offsets in rofixups and
2861         dynamic relocations.
2862         2003-12-12  Alexandre Oliva  <aoliva@redhat.com>
2863         * elf32-frv.c (elf32_frv_relocate_section): Compute dynamic
2864         relocations or fixups involving merged sections correctly.  Avoid
2865         crash when undefined symbol is referenced by R_FRV_32 or
2866         R_FRV_FUNCDESC_VALUE.
2867         2003-12-02  Alexandre Oliva  <aoliva@redhat.com>
2868         * elf32-frv.c (elf32_frv_relocate_section): Add output_offset of
2869         input section holding local symbol to addend of R_FRV_32 or
2870         R_FRV_FUNCDESC_VALUE dynamic relocation.
2871         2003-11-27  Alexandre Oliva  <aoliva@redhat.com>
2872         * elf32-frv.c (elf32_frv_modify_segment_map): Add link info arg.
2873         (elf32_frv_always_size_sections): Don't store pointer to
2874         __stacksize symbol in sec_info.
2875         (elf32_frv_modify_segment_map): Look it up here.
2876         2003-11-26  Alexandre Oliva  <aoliva@redhat.com>
2877         * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Emit the address
2878         of the lazy PLT entry, not only its offset, as the low word of a
2879         function descriptor.
2880         2003-11-10  Alexandre Oliva  <aoliva@redhat.com>
2881         * elf32-frv.c (elf32_frv_always_size_sections): Define __stacksize
2882         if a hash table entry already exists but is not a definition.
2883         2003-11-05  Alexandre Oliva  <aoliva@redhat.com>
2884         * elf32-frv.c (frv_elf_link_hash_table_create): Use bfd_zalloc.
2885         (_frv_add_rofixup): Don't inline.
2886         (_frv_emit_got_relocs_plt_entries): Use NULL as funcdesc address
2887         for undefweak symbols.
2888         (elf32_frv_relocate_section): Avoid crash while computing
2889         relocation when linking with shared library.  Only emit rofixups
2890         and dynamic relocations for alloc&load sections.  Mark binaries
2891         with inter-segment relocations for relocation as a unit.
2892         (_frv_create_got_section): Rename .rofixup.got to .rofixup.
2893         (DEFAULT_STACK_SIZE): New.
2894         (_frv_count_got_plt_entries): Fix thinko in deciding whether to
2895         emit rofixups or dynamic relocs when linking dynamic non-PIE
2896         executables.
2897         (elf32_frv_size_dynamic_sections): Generate rofixup on PIEs and
2898         shared libs too.  Reserve the last entry for the GOT pointer.
2899         (elf32_frv_finish_dynamic_sections): Emit it.
2900         (elf32_frv_always_size_sections): New.
2901         (elf32_frv_modify_segment_map): New.
2902         (elf32_frv_check_relocs): Reserve relocs32 space only in ALLOC
2903         sections.
2904         (frv_elf_merge_private_bfd_data): Clear PIC bit if FDPIC is set.
2905         (frv_elf_print_private_bfd_data): Handle FDPIC and LIBPIC.
2906         (elf_backend_always_size_sections): New.
2907         (elf_backend_modify_segment_map): New.
2908         2003-10-31  Alexandre Oliva  <aoliva@redhat.com>
2909         * config.bfd: Added frv-*-*linux*.
2910         * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Use idx 0 for
2911         ABS section, instead of crashing.
2912         (elf32_frv_relocate_section): Don't crash before warning about
2913         different segments in non-PIC relocation.
2914         2003-10-17  Alexandre Oliva  <aoliva@redhat.com>
2915         * elf32-frv.c (elf32_frv_relocate_section): Don't warn on LABEL24
2916         relocs to undefweak symbols.
2917         (elf32_frv_relocate_section): Ditto for undefined symbols.
2918         2003-10-06  Alexandre Oliva  <aoliva@redhat.com>
2919         * elf32-frv.c (elf32_frv_create_dynamic_sections): Make sure
2920         gotfixup section was created.
2921         2003-09-30  Alexandre Oliva  <aoliva@redhat.com>
2922         * elf32-frv.c (elf32_frv_howto_table): Change GOT12,
2923         FUNCDESC_GOT12, GOTOFF12 and FUNCDESC_GOTOFF12 to
2924         complain_overflow_signed.
2925         * elf32-frv.c (_frv_add_rofixup): Do not error out if contents
2926         have not been allocated.
2927         (_frv_emit_got_relocs_plt_entries): Return non-void.  Assert
2928         privfd only if dynamic sections were created.
2929         (elf32_frv_relocate_section): Compute gprel_segment, and use it
2930         for GPREL relocs.  When linking relocatable FDPIC executables,
2931         emit warnings for relocations that would be illegal on PIE or
2932         shared libraries.  Emit rofixup for R_FRV_32 only if input object
2933         is not FDPIC.
2934         (_frv_create_got_section): Define _gp symbol in the rofixup
2935         section.
2936         (elf32_frv_finish_dynamic_sections): If rofixups needed but
2937         dynamic sections missing, error out requesting -melf32frvfd.
2938         2003-09-19  Alexandre Oliva  <aoliva@redhat.com>
2939         * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Rearrange
2940         computation of addends from section and global or local symbol
2941         value.  Change return type to bfd_boolean, and return a failure if
2942         a dynamic FUNCDESC or FUNCDESC_VALUE relocation that requires a
2943         nonzero addend is required.
2944         (elf32_frv_relocate_section): Likewise.  Print error for
2945         unsupported nonzero addends.
2946         2003-09-18  Alexandre Oliva  <aoliva@redhat.com>
2947         * elf32-frv.c (FRV_SYM_LOCAL): In the absence of dynamic sections,
2948         force everything local.
2949         (_frv_emit_got_relocs_plt_entries): Cope with NULL sec.
2950         * elf32-frv.c (struct frv_elf_link_hash_table): Added sgotfixup.
2951         (frv_gotfixup_section): New.
2952         (FRV_SYM_LOCAL): Accept undefweak and local common symbols.
2953         (struct frv_pic_relocs_info): Split relocs into relocs32, relocsfd
2954         and relocsfdv.
2955         (_frv_add_rofixup): New.
2956         (_frv_emit_got_relocs_plt_entries): Generate fixups for non-PIE
2957         fdpic executables.  Use FRV_SYM_LOCAL more widely to simplify and
2958         improve some ugly conditions.
2959         (elf32_frv_relocate_section): Likewise.  Reject inter-segment
2960         relocations in fdpic.
2961         (_frv_create_got_section): Create .rofixup.got section.
2962         (struct _frv_dynamic_got_info): Added fixups.
2963         (_frv_count_got_plt_entries): Account in-GOT relocations into
2964         relocs32, relocsfd and relocsfdv.  Account them into relocs or
2965         fixups, as appropriate.
2966         (elf32_frv_size_dynamic_sections): Size rofixup section.  Simplify
2967         sizing of gotrel.
2968         (elf32_frv_finish_dynamic_sections): Verify that the right number
2969         of relocations and fixups was generated.
2970         (elf32_frv_check_relocs): Compute relocs32, relocsfd and
2971         relocsfdv.
2972         * elf32-frv.c (FRV_SYM_LOCAL): New macro, used instead of
2973         SYMBOL_CALLS_LOCAL and SYMBOL_REFERENCES_LOCAL.
2974         (FRV_FUNCDESC_LOCAL): New macro, used to decide whether a function
2975         descriptor of a (formerly-)global symbol is local.
2976         (struct frv_pic_relocs_info): Adjust comments.
2977         (_frv_emit_got_relocs_plt_entries): Adjust.
2978         (elf32_frv_relocate_section): Likewise.
2979         (_frv_count_got_plt_entries): Likewise.
2980         * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Don't add global
2981         symbol's value to addend in the common preamble.  Decay dynamic
2982         symbols to section+offset if they bind or call locally, for GOT
2983         and FUNCDESC_VALUE, respectively.
2984         (elf32_frv_relocate_section): Likewise.
2985         (elf32_frv_check_relocs): Don't register as dynamic symbols of
2986         internal or hidden visibility.
2987         2003-09-17  Alexandre Oliva  <aoliva@redhat.com>
2988         * elf32-frv.c (_frv_emit_got_relocs_plt_entries): Get addend as
2989         argument, so as to not call _bfd_elf_rel_local_sym to compute it.
2990         (elf32_frv_relocate_section): Pass relocation addend in.  Use
2991         original relocation addend to look up the got relocs/plt entries
2992         table.  Do not call _bfd_elf_rel_local_sym.  Don't error out when
2993         processing relocations that reference .scommon symbols.
2994         2003-09-15  Alexandre Oliva  <aoliva@redhat.com>
2995         Introduce support for dynamic linking.
2996         * elf32-frv.c (R_FRV_FUNCDESC_VALUE): Mark it as 64 bits.
2997         (elf32_frv_rel_32_howto, elf32_frv_rel_funcdesc_howto,
2998         elf32_frv_rel_funcdesc_value_howto): New REL descriptors.
2999         (frv_reloc_type_lookup): Return REL howtos for executables and
3000         dynamic libraries.
3001         (frv_info_to_howto_rel): New.
3002         (struct frv_elf_link_hash_table): New.
3003         (frv_hash_table, frv_got_section, frv_gotrel_section,
3004         frv_plt_section, frv_pltrel_section, frv_relocs_info,
3005         frv_got_initial_offset, frv_plt_initial_offset): New macros.
3006         (frv_elf_link_hash_table_create): New.
3007         (struct frv_pic_relocs_info): New.
3008         (frv_pic_relocs_info_hash, frv_pic_relocs_info_eq): New.
3009         (frv_pic_relocs_info_find): New.
3010         (frv_pic_relocs_info_for_global, frv_pic_relocs_info_for_local):
3011         New.
3012         (FRV_LZPLT_BLOCK_SIZE, FRV_LZPLT_RESOLVE_LOC): New.
3013         (_frv_add_dyn_reloc, _frv_osec_to_segment): New.
3014         (_frv_emit_got_relocs_plt_entries): New.
3015         (elf32_frv_relocate_section): Add support for dynamic linking.
3016         Handle new relocations.
3017         (_frv_create_got_section): New.
3018         (elf32_frv_create_dynamic_sections): New.
3019         (ELF_DYNAMIC_INTERPRETER): New.
3020         (struct _frv_dynamic_got_info): New.
3021         (_frv_count_got_plt_entries): New.
3022         (struct _frv_dynamic_got_plt_info): New.
3023         (_frv_compute_got_alloc_data): New.
3024         (_frv_get_got_entry, _frv_get_fd_entry): New.
3025         (_frv_assign_got_entries, _frv_assign_plt_entries): New.
3026         (_frv_resolve_final_relocs_info): New.
3027         (elf32_frv_size_dynamic_sections): New.
3028         (elf32_frv_finish_dynamic_sections): New.
3029         (elf32_frv_adjust_dynamic_symbol): New.
3030         (elf32_frv_finish_dynamic_symbol): New.
3031         (elf32_frv_check_relocs): Handle new relocs.  Explain how the
3032         whole thing works.
3033         (elf_info_to_howto_rel): Define.
3034         (bfd_elf32_bfd_link_hash_table_create): Define.
3035         (elf_backend_create_dynamic_sections): Define.
3036         (elf_backend_adjust_dynamic_symbol): Define.
3037         (elf_backend_size_dynamic_sections): Define.
3038         (elf_backend_finish_dynamic_symbol): Define.
3039         (elf_backend_finish_dynamic_sections): Define.
3040         (elf_backend_want_got_sym): Define.
3041         (elf_backend_got_header_size): Define.
3042         (elf_backend_want_got_plt): Define.
3043         (elf_backend_plt_readonly): Define.
3044         (elf_backend_want_plt_sym): Define.
3045         (elf_backend_plt_header_size): Define.
3046         (elf_backend_may_use_rel_p): Define.
3047         (elf_backend_may_use_rela_p): Define.
3048         (elf_backend_default_use_rela_p): Define.
3049         2003-08-08  Alexandre Oliva  <aoliva@redhat.com>
3050         * elf32-frv.c (R_FRV_FUNCDESC_VALUE, R_FRV_FUNCDESC_GOTOFF12,
3051         R_FRV_FUNCDESC_GOTOFFHI, R_FRV_FUNCDESC_GOTOFFLO, R_FRV_GOTOFF12,
3052         R_FRV_GOTOFFHI, R_FRV_GOTOFFLO): New.
3053         (frv_reloc_map): Map the corresponding BFD relocs to them.
3054         (frv_reloc_type_lookup): ... and back to BFD relocs.
3055         * reloc.c: New relocs.
3056         * bfd-in2.h, libbfd.h: Rebuilt.
3057         2003-08-04  Alexandre Oliva  <aoliva@redhat.com>
3058         * elf32-frv.c (R_FRV_GOT12, R_FRV_GOTHI, R_FRV_GOTLO,
3059         R_FRV_FUNCDESC, R_FRV_FUNCDESC_GOT12, R_FRV_FUNCDESC_GOTHI,
3060         R_FRV_FUNCDESC_GOTLO): New.
3061         (frv_reloc_map): Map the corresponding BFD relocs to them.
3062         (frv_reloc_type_lookup): ... and back to BFD relocs.
3063         * reloc.c: New relocs.
3064         * bfd-in2.h, libbfd.h: Rebuilt.
3065
3066 2004-01-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
3067
3068         * elf32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
3069         targets to support pages of up to 64kB.
3070         (elf32_bed): Redefine to get a separate backend data structure for
3071         traditional targets.
3072         * elf64-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
3073         targets to support pages of up to 64kB.
3074         (elf64_bed): Redefine to get a separate backend data structure for
3075         traditional targets.
3076         * elfn32-mips.c (ELF_MAXPAGESIZE): Redefine for traditional
3077         targets to support pages of up to 64kB.
3078         (elf32_bed): Redefine to get a separate backend data structure for
3079         traditional targets.
3080
3081 2004-01-04  Mark Kettenis  <kettenis@gnu.org>
3082
3083         * elf32-sparc.c (elf32_sparc_grok_psinfo): New function.
3084
3085 2004-01-02  Mark Kettenis  <kettenis@gnu.org>
3086
3087         * elf32-i386.c (elf_i386_grok_prstatus): Add support for FreeBSD.
3088         (elf_i386_grok_psinfo): Likewise.
3089
3090 2004-01-02  Bernardo Innocenti  <bernie@develer.com>
3091
3092         * config.bfd: Add m68k-uClinux target.
3093
3094 2004-01-01  Grant Edwards <grante@visi.com>
3095
3096         * elflink.h (elf_gc_sections): Warn when gc-sections option is ignored.
3097         * elf32-h8300.c (elf32_h8_gc_mark_hook): New function.
3098         (elf32_h8_gc_sweep_hook): New function.
3099         (elf_backend_gc_mark_hook): Define.
3100         (elf_backend_gc_sweep_hook): Define.
3101         (elf_backend_can_gc_sections): Define.
3102
3103 For older changes see ChangeLog-0203
3104 \f
3105 Local Variables:
3106 mode: change-log
3107 left-margin: 8
3108 fill-column: 74
3109 version-control: never
3110 End: