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