5a18c43e57784fed31733703b376b3c6740b88dd
[external/binutils.git] / bfd / ChangeLog
1 2003-10-04  Bryce McKinlay  <bryce@mckinlay.net.nz>
2
3         * merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
4         which become empty after merging.
5
6 2003-09-30  Jakub Jelinek  <jakub@redhat.com>
7
8         * elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
9         R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
10
11 2003-09-30  Chris Demetriou  <cgd@broadcom.com>
12
13         * archures.c (bfd_mach_mipsisa64r2): New define.
14         * bfd-in2.h: Regenerate.
15         * aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
16         * cpu-mips.c (I_mipsisa64r2): New enum value.
17         (arch_info_struct): Add entry for I_mipsisa64r2.
18         * elfxx-mips.c (_bfd_elf_mips_mach)
19         (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
20         (mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
21         (mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
22
23 2003-09-29  H.J. Lu  <hongjiu.lu@intel.com>
24
25         * elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
26         Handle SHN_IA_64_ANSI_COMMON.
27         (elf_backend_section_from_bfd_section): Defined.
28
29 2003-09-26  H.J. Lu  <hongjiu.lu@intel.com>
30
31         * elflink.c (elf_link_read_relocs_from_section): Add an argument
32         of a pointer to section. Check bad symbol index.
33         (_bfd_elf_link_read_relocs): Modify calls to
34         elf_link_read_relocs_from_section.
35
36 2003-09-23  DJ Delorie  <dj@redhat.com>
37
38         * elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
39         R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
40         R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
41         R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
42         R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
43         R_SH_PSHA, R_SH_PSHL added.
44         (sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
45         (sh_elf_relocate_section): Support new relocs.
46
47 2003-09-23  Bob Wilson  <bob.wilson@acm.org>
48
49         * elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
50         dynamic relocation offsets.
51
52 2003-09-23  Alan Modra  <alan@modra.org>
53
54         * simple.c (bfd_simple_get_relocated_section_contents): Free the
55         hash table using _bfd_generic_link_hash_table_free.
56
57 2003-09-23  Alan Modra  <alan@modra.org>
58
59         * elf-bfd.h (struct bfd_elf_special_section): Remove "suffix".  Change
60         type of prefix_length and suffix_length to int.  Rename "attributes"
61         to "attr".  Comment.
62         (_bfd_elf_get_sec_type_attr): Update prototype.
63         * elf.c (get_special_section): Rewrite.
64         (_bfd_elf_get_sec_type_attr): Return struct rather than passing in
65         attr and type pointers.
66         (_bfd_elf_new_section_hook): Adjust for above.
67         (special_sections): Merge suffix with prefix.  Set
68         prefix_length for all entries.  Set suffix_length appropriately.
69         * elf32-m32r.c (m32r_elf_special_sections): Likewise.
70         * elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
71         * elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
72         * elf32-mcore.c (mcore_elf_special_sections): Likewise.
73         * elf32-sh64.c (sh64_elf_special_sections): Likewise.
74         * elf32-v850.c (v850_elf_special_sections): Likewise.
75         * elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
76         * elf64-alpha.c (elf64_alpha_special_sections): Likewise.
77         * elf64-hppa.c (elf64_hppa_special_sections): Likewise.
78         * elf64-ppc.c (ppc64_elf_special_sections): Likewise.
79         * elf64-sh64.c (sh64_elf64_special_sections): Likewise.
80         * elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
81         * elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
82         * elf32-ppc.c (ppc_elf_special_sections): Likewise.  Fix .plt flags.
83
84 2003-09-21  Daniel Jacobowitz  <drow@mvista.com>
85
86         * elf64-alpha.c (elf64_alpha_create_got_section): Initialize
87         ->got if the section already exists.
88
89 2003-09-19  Nathan Sidwell  <nathan@codesourcery.com>
90
91         * dwarf2.c (decode_line_info): Cope with an initially empty
92         filename table.
93
94 2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
95
96         * acinclude.m4: Include ../config/accross.m4.
97         * aclocal.m4: Regenerated.
98
99         * configure.host (HOST_64BIT_TYPE): Remove if it is set to long
100         or long long.
101         (HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
102         (host64): Remove if HOST_64BIT_TYPE is set to long.
103
104         * configure.in (HOST_64BIT_TYPE): Set according to the size of
105         long and long long.
106         (HOST_U_64BIT_TYPE): Likewise.
107         (host64): Likewise.
108         * configure: Regenerated.
109
110 2003-09-19  Alan Modra  <amodra@bigpond.net.au>
111
112         * elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
113         since some ABIs round up the size of the struct.
114
115 2003-09-18  H.J. Lu  <hongjiu.lu@intel.com>
116
117         * elflink.c (_bfd_elf_merge_symbol): Allow type change if
118         the old symbol is undefined and the new symbol is defined.
119
120 2003-09-18  Andreas Schwab  <schwab@suse.de>
121
122         * simple.c (bfd_simple_get_relocated_section_contents): Use
123         _bfd_generic_link_hash_table_create instead of
124         bfd_link_hash_table_create.
125
126 2003-09-10  H.J. Lu  <hongjiu.lu@intel.com>
127
128         * elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
129         started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
130
131 2003-09-10  John David Anglin   <dave.anglin@nrc-cnrc.nrc.ca>
132             Randolph Chung      <randolph@tausq.org>
133
134         * elf32-hppa.c (struct elf32_hppa_link_hash_entry,
135         hppa_link_hash_newfunc, hppa_build_one_stub,
136         elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
137         allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
138         elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
139         for generating import stubs for calls to statically linked PIC
140         functions.
141         (hppa_type_of_stub): Don't generate an import stub for calls to
142         statically linked pic functions.  Generate import stubs for calls
143         in a shared object, to functions not in a regular file, and to
144         defined weak functions.  Add new argument INFO.
145         (hppa_build_one_stub): Don't undef ADDIL_DP.
146         (elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
147         (elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
148         (final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
149         non-shared link.  Convert instructions that use the the linkage table
150         pointer, or a facsimile thereof, to use the global data pointer when
151         the reloc has been changed.
152
153 2003-09-08  Joel Brobecker  <brobecker@gnat.com>
154
155         * archures.c: Add new machine names for hppa.
156         * bfd-in2.h: Regenerate.
157         * cpu-hppa.c: Use the new machine names.
158
159 2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
160
161         * elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
162         all_local_syms member.
163         * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
164         to get the local symbols.
165
166 2003-09-06  Stephane Carrez  <stcarrez@nerim.fr>
167
168         * elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
169         (elf_backend_special_sections): Define.a
170
171         PR savannah/4950:
172         * elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
173         section is read-only.
174
175 2003-09-04  Nick Clifton  <nickc@redhat.com>
176
177         * archures.c (bfd_mach_v850e1): Define.
178         * bfd-in2.h: Regenerate.
179         * cpu-v850.h (scan): Accept bfd_mach_v850e1.
180         (arch_info_struct): Include an entry for bfd_mach_v850e1.
181         * elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
182         (v850_elf_final_write_processing): Accept bfd_mach_v850e1.
183         (v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
184         (v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
185         linked with v850e binaries.  Mark the output as v850e.
186
187 2003-09-03  Nick Clifton  <nickc@redhat.com>
188
189         * cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
190         symbols that are used in relocs.
191
192 2003-08-30  Robert Millan  <robertmh@gnu.org>
193
194         * configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
195         * config.bfd: Likewise.
196         * configure: Regenerate.
197
198 2003-08-31  Christian Groessler  <chris@groessler.org>
199
200         * elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
201         instead of returning bfd_reloc_continue.
202
203 2003-08-31  Andreas Jaeger  <aj@suse.de>
204
205         * merge.c: Update to ISO C90.
206
207 2003-08-27  Ian Lance Taylor  <ian@airs.com>
208
209         * configure.in: Check for strtoull.
210         * bfd.c (bfd_scan_vma): Use strtoull when available.
211         * configure, config.in: Regenerate.
212
213         * configure.in: Define and substitute BFD_HOST_LONG_LONG.
214         * bfd-in.h: Define BFD_HOST_LONG_LONG.  Test it rather than
215         __GNUC__ when deciding whether to use long long for
216         BFD_HOST_64_BIT.
217         * configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
218
219 2003-08-27  Christian Groessler  <chris@groessler.org>
220
221         * elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
222         i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
223         functions.
224         (elf32_i860_howto_table): Insert the new functions as
225         'special_function's in the proper reloc type entries.
226
227 2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
228
229         * elf32-frv.c (elf32_frv_relocate_section): Use
230         _bfd_elf_rela_local_sym.
231
232 2003-08-26  Michael Snyder  <msnyder@redhat.com>
233
234         * cpu-frv.c: Remove unused enum.
235
236 2003-08-25  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
237
238         * reloc.c: Fix documentation for MIPS ELF relocations.
239         libbfd.h: Regenerate.
240         bfd-in2.h: Regenerate.
241
242 2003-08-24  Jason Eckhardt  <jle@rice.edu>
243
244         * coff-i860.c (CALC_ADDEND): Define to be a no-op.
245
246 2003-08-24  Jason Eckhardt  <jle@rice.edu>
247
248         * elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
249         shift by 2 before storing the relocated value.
250
251 2003-08-23  Jason Eckhardt  <jle@rice.edu>
252
253         * coff-i860.c (coff_i860_reloc_nyi): New function.
254         (howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
255         LOWn, SPLITn, and BRADDR.
256         (RTYPE2HOWTO): Check that the r_type is within the howto_table
257         before trying to access the entry.
258         (coff_i860_rtype_to_howto): Likewise.
259         (coff_i860_reloc_type_lookup): New function.
260         (i860_reloc_processing): New function.
261         (coff_bfd_reloc_type_lookup): Define macro.
262         (RELOC_PROCESSING): Define macro.
263         Minor formatting adjustments.
264
265 2003-08-23  Alan Modra  <amodra@bigpond.net.au>
266
267         * elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
268
269 2003-08-22  H.J. Lu  <hongjiu.lu@intel.com>
270
271         * elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
272         .got section at 8 bytes.
273
274 2003-08-21  Nick Clifton  <nickc@redhat.com>
275
276         * cofflink.c: Update to ISO C90 and tidy up formatting.
277
278 2003-08-21  Randolph Chung  <tausq@debian.org>
279
280         * elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
281         can have OSABI=Linux or OSABI=SysV.  Check for both.
282         * elf64-hppa.c (elf64_hppa_object_p): Likewise.
283
284 2003-08-21  Nick Clifton  <nickc@redhat.com>
285
286         * po/sv.po: Updated Swedish translation.
287
288 2003-08-20  Richard Sandiford  <rsandifo@redhat.com>
289
290         * elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
291
292 2003-08-20  Nick Clifton  <nickc@redhat.com>
293
294         * elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
295         replace some duplicated code in most elfxx-xxxx.c files.  This
296         version uses the new fields in bfd_link_info.
297
298         * elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
299         * elf32-arm.h (elf32_arm_relocate_section): Likewise.
300         * elf32-cris.c (cris_elf_relocate_section): Likewise.
301         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
302         * elf32-i386.c (elf_i386_relocate_section): Likewise.
303         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
304         * elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
305         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
306         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
307         * elf32-s390.c (elf_s390_relocate_section): Likewise.
308         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
309         * elf32-vax.c (elf_vax_relocate_section): Likewise.
310         * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
311         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
312         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
313         * elf64-s390.c (elf_s390_relocate_section): Likewise.
314         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
315         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
316         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
317
318         * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
319         elf_hppa_remark_useless_dynamic_symbols,
320         elf_hppa_relocate_section): Use the new fields in
321         bfd_link_info structure.
322         * elf32-sh.c (sh_elf_relocate_section): Likewise.
323         * elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
324         * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
325         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
326         * elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
327         * elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
328
329         * elflink.h (elf_link_output_extsym): Fix test for reporting
330         undefined symbols in shared libraries.  Remove redundant test
331         of shlib_undefined when reporting references to forced local
332         symbols.
333
334 2003-08-18  Andreas Schwab  <schwab@suse.de>
335
336         * libpei.h (bfd_pe_executable_p): Also recognize efi-app
337         executables.
338
339 2003-08-17  Hans-Peter Nilsson  <hp@bitrange.com>
340
341         * simple.c (bfd_simple_get_relocated_section_contents): Move
342         reloc_done hack to before first bfd_section_size call.  Change all
343         returns to use new wrapper macro RETURN, restoring sec->reloc_done.
344
345 2003-08-16  Alan Modra  <amodra@bigpond.net.au>
346
347         * elf64-ppc.c: Don't include elf/ppc.h.
348
349 2003-08-14  Richard Sandiford  <rsandifo@redhat.com>
350
351         * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
352         code to work with 64-bit bfds.
353
354 2003-08-14  Alan Modra  <amodra@bigpond.net.au>
355
356         * dep-in.sed: Remove libintl.h.
357         * Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
358         (POTFILES.in): Remove target.
359         * Makefile.in: Regenerate.
360
361 2003-08-12  Alan Modra  <amodra@bigpond.net.au>
362
363         * elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
364         (ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
365         use the function sym from the previous reloc.
366
367 2003-08-11  Jakub Jelinek  <jakub@redhat.com>
368
369         * elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
370         fatal if -pie.
371         * elf32-s390.c (elf_s390_relocate_section): Likewise.
372         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
373         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
374         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
375         * elf64-s390.c (elf_s390_relocate_section): Likewise.
376         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
377         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
378         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
379         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
380         (ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
381         on undefined symbols if -pie.
382         * elf32-sh.c (sh_elf_relocate_section): Likewise.
383
384 2003-08-11  Alan Modra  <amodra@bigpond.net.au>
385
386         * elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
387         branch to __libc_start_main.
388
389 2003-08-08 Dmitry Diky <diwil@mail.ru>
390
391         * archures.c: Add xW42 and xE42 parts. Sort MPU list according to
392         gcc order.
393         * cpu-msp430.c: Likewise.
394         * elf32-msp430.c: Likewise.
395         * bfd-in2.h: Regenerate.
396
397 2003-08-07  Alan Modra  <amodra@bigpond.net.au>
398
399         * elfxx-target.h: Remove PTR cast.
400         * targets.c (bfd_target): Make backend_data const void *.
401         * elf-bfd.h: Constify all occurrences of struct elf_backend_data.
402         * elf-m10300.c: Likewise.
403         * elf.c: Likewise.
404         * elf32-hppa.c: Likewise.
405         * elf32-i386.c: Likewise.
406         * elf32-m68hc1x.c: Likewise.
407         * elf32-ppc.c: Likewise.
408         * elf32-s390.c: Likewise.
409         * elf32-sh.c: Likewise.
410         * elf32-sh64.c: Likewise.
411         * elf32-sparc.c: Likewise.
412         * elf32-xtensa.c: Likewise.
413         * elf64-mips.c: Likewise.
414         * elf64-ppc.c: Likewise.
415         * elf64-s390.c: Likewise.
416         * elf64-sh64.c: Likewise.
417         * elf64-sparc.c: Likewise.
418         * elf64-x86-64.c: Likewise.
419         * elfcode.h: Likewise.
420         * elfcore.h: Likewise.
421         * elflink.c: Likewise.
422         * elflink.h: Likewise.
423         * elfxx-ia64.c: Likewise.
424         * elfxx-mips.c: Likewise.
425         * elfxx-mips.h: Likewise.
426         * elf.c (prep_headers): Remove useless check for null backend_data.
427         * bfd-in2.h: Regenerate.
428
429         * elf-bfd.h: Remove PARAMS macro.  Replace PTR with void *.
430         (NAME): Use ## rather than CONCAT4 macro.
431         * elfcode.h: Remove one remaining PARAMS macro.
432         * elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
433         * elf-strtab.c: Likewise.
434         * elf-hppa.h: Likewise.
435         * elf32-hppa.h: Likewise.
436         * elf32-hppa.c: Likewise.
437         (elf32_hppa_add_symbol_hook): Delete.
438         (elf_backend_add_symbol_hook): Don't define.
439         * libhppa.h: Convert to C90.  Replace INLINE with inline.
440
441 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
442
443         * elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
444         (ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
445         function descriptors, but warn.
446         (ppc_build_one_stub): Remove a couple of vars.  Move code creating
447         stub syms so that we can avoid a stub sym if we already have a
448         plt sym.  Do not redefine an existing symbol.
449         (ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
450         glink.
451
452 2003-08-06  Nick Clifton  <nickc@redhat.com>
453
454         * po/fr.po: Updated French translation.
455
456 2003-08-06  Alan Modra  <amodra@bigpond.net.au>
457
458         * elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
459         SEC_LINKER_CREATED.
460
461 2003-08-05  Daniel Jacobowitz  <drow@mvista.com>
462
463         * elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
464         (elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
465
466 2003-08-03  Jeff Muizelaar  <muizelaar@rogers.com>
467
468         * coffcode.h (coff_slurp_line_table): Return with a warning
469         message if the line number table could not be read.
470
471 2003-08-04  Nick Clifton  <nickc@redhat.com>
472
473         * elflink.h (elf_link_add_object_symbols): Prepend "warning: "
474         to messages produced for .gnu.warning.SYMBOL sections.
475
476 2003-08-04  Alan Modra  <amodra@bigpond.net.au>
477
478         * elfcode.h: Convert to C90, remove unneeded casts and prototypes.
479         * elfcore.h: Likewise.
480         * elflink.c: Likewise.
481         * elflink.h: Likewise.
482         * elf.c (sym_is_global): Remove INLINE.
483         (align_file_position): Replace INLINE with inline.
484         * elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
485         (elf_file_p): Replace INLINE with inline.
486
487 2003-08-02  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
488
489         * elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
490
491 2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
492
493         * elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
494
495 2003-08-01  H.J. Lu  <hongjiu.lu@intel.com>
496
497         * elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
498         ElfNN_External_Rela instead of Elf64_External_Rela.
499
500 2003-08-01  Nick Clifton  <nickc@redhat.com>
501
502         * config.bfd: Add code to catch obsolete configurations and warn
503         about them unless --enable-obsolete is used.  Use this to mark
504         vax-vms port as obsolete.
505
506 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
507
508         * elf32-ppc.c (ppc_elf_install_value): Tidy.
509         (ppc_elf_relax_section): Remove dead code.  Remove unnecessary casts.
510         Formatting.
511         * elfxx-target.h: Remove PARAMS macro.  Formatting.
512
513 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
514
515         * elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
516         * elf64-ppc.c (get_fdh): New function, split out from
517         ppc64_elf_edit_opd.
518         (ppc64_elf_check_relocs): Use get_fdh.
519         (func_desc_adjust): Likewise.  Tidy.
520         (ppc64_elf_edit_opd): Tighten reloc checks.  Free local_syms on error
521         exit.  Use get_fdh.  Account for superfluous dynamic relocs.
522         (ppc64_elf_relocate_section): Warning fix.
523
524 2003-07-30  Jason Eckhardt  <jle@rice.edu>
525
526         * coff-i860.c: Convert to ISO C90.  Remove superflous prototypes.
527
528 2003-07-30  Jason Eckhardt  <jle@rice.edu>
529
530         * elf32-i860.c: Convert to ISO C90.  Remove superflous prototypes.
531
532 2003-07-30  Randolph Chung  <tausq@debian.org>
533
534         * elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
535         * elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
536
537 2003-07-30  Alan Modra  <amodra@bigpond.net.au>
538
539         * elf.c: Convert to C90, remove unnecessary prototypes and casts.
540         Replace PTR with void *.  Formatting.
541         (_bfd_elf_assign_file_position_for_section): Remove INLINE.
542         (make_mapping): Likewise.
543
544 2003-07-29  Alan Modra  <amodra@bigpond.net.au>
545
546         * elf64-ppc.c (func_desc_adjust): Give linker created function
547         descriptor symbols a size and type.
548         (ppc64_elf_relocate_section): Correct lq insn test.
549
550 2003-07-28  Eric Christopher  <echristo@redhat.com>
551
552         * elf32-ppc.c (R_PPC_RELAX32): New relocation.
553         (ppc_elf_install_value): New function.
554         (ppc_elf_sort_rela): Remove.
555         (ppc_elf_relax_section): Rewrite. Remove old relaxation
556         and replace with out of range branch stubs.
557         (ppc_elf_relocate_section): Handle R_PPC_RELAX32.
558
559 2003-07-29  Alexandre Oliva  <aoliva@redhat.com>
560
561         * elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
562         from input_bfd.
563
564 2003-07-28  Alan Modra  <amodra@bigpond.net.au>
565
566         * elf.c (special_sections): Set attributes for .got and .plt.
567
568 2003-07-27  Alan Modra  <amodra@bigpond.net.au>
569
570         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
571         on function descriptors.
572         (ELIMINATE_COPY_RELOCS): Expand comment.
573         (ppc64_elf_special_sections): Move.  Don't include non-ppc64 sections.
574         Do include ".toc1".
575
576 2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
577
578         * elf.c (_bfd_elf_new_section_hook): Set the default section
579         type to SHT_NULL.
580         (elf_fake_sections): Set the section type based on asect->flags
581         if it is SHT_NULL. Don't abort on processor specific section
582         types.
583
584 2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
585
586         * bfd-in2.h: Regenerated.
587
588 2003-07-25  H.J. Lu  <hongjiu.lu@intel.com>
589
590         * elf-bfd.h (bfd_elf_special_section): New.
591         (elf_backend_data): Add special_sections, a pointer to
592         bfd_elf_special_section.
593         (elf_section_type). New.
594         (elf_section_flags): New.
595         (_bfd_elf_get_sec_type_attr): New.
596
597         * elf.c (_bfd_elf_make_section_from_shdr): Always use the
598         real section type/flags.
599         (special_sections): New.
600         (get_special_section): New.
601         (_bfd_elf_get_sec_type_attr): New.
602         (_bfd_elf_new_section_hook): Check special_section to set
603         elf_section_type and elf_section_flags.
604         (elf_fake_sections): Don't use section name to set ELF section
605         data.
606
607         * elf32-m32r.c (m32r_elf_special_sections): New.
608         (elf_backend_special_sections): Defined.
609
610         * elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
611         (elf_backend_special_sections): Defined.
612
613         * elf32-mcore.c (mcore_elf_special_sections): New.
614         (elf_backend_special_sections): Defined.
615
616         * elf32-ppc.c (ppc_elf_special_sections): New.
617         (elf_backend_special_sections): Defined.
618
619         * elf32-sh64.c (sh64_elf_special_sections): New.
620         (elf_backend_special_sections): Defined.
621
622         * elf32-v850.c (v850_elf_special_sections): New.
623         (elf_backend_special_sections): Defined.
624
625         * elf32-xtensa.c (elf_xtensa_special_sections): New.
626         (elf_backend_special_sections): Defined.
627
628         * elf64-alpha.c (elf64_alpha_special_sections): New.
629         (elf_backend_special_sections): Defined.
630
631         * elf64-hppa.c (elf64_hppa_special_sections): New.
632         (elf_backend_special_sections): Defined.
633
634         * elf64-ppc.c (ppc64_elf_special_sections): New.
635         (elf_backend_special_sections): Defined.
636
637         * elf64-sh64.c (sh64_elf64_special_sections): New.
638         (elf_backend_special_sections): Defined.
639
640         * elfxx-ia64.c (elfNN_ia64_special_sections): New.
641         (elf_backend_special_sections): Defined.
642
643         * elfxx-mips.c (_bfd_mips_elf_special_sections): New.
644
645         * elfxx-mips.h (_bfd_mips_elf_special_sections): New.
646         (elf_backend_special_sections): Defined.
647
648         * elfxx-target.h (elf_backend_special_sections): New. Default
649         to NULL.
650         (elfNN_bed): Initialize special_sections.
651
652         * section.c (bfd_abs_section): Remove const.
653         (bfd_und_section): Likewise.
654         (bfd_com_section): Likewise.
655         (bfd_ind_section): Likewise.
656
657 2003-07-24  Nick Clifton  <nickc@redhat.com>
658
659         * coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
660         sections are assigned the LOAD attribute.
661
662 2003-07-25  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
663
664         * elf32-sh.c: Convert to C90.  Replace PTR with void *.
665         * elf32-sh64-com.c: Likewise.
666         * elf32-sh64.c: Likewise.
667         * elf32-sh64.h: Likewise.
668         * elf64-sh64.c: Likewise.
669
670 2003-07-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
671
672         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
673         (allocate_dynrelocs): Likewise.
674         (sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
675         (sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
676
677 2003-07-24  Nick Clifton  <nickc@redhat.com>
678
679         * po/fr.po: Updated French translation.
680
681 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
682
683         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
684         near the beginning of the file.  Swap order of arguments.  Call
685         _bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
686         (elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
687         (elf_xtensa_relocate_section): Likewise.
688         (shrink_dynamic_reloc_sections): Likewise.
689
690 2003-07-23  Bob Wilson  <bob.wilson@acm.org>
691
692         * elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
693         (elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
694         (elf_xtensa_combine_prop_entries): Avoid returning non-zero without
695         first printing an error message.
696         (elf_xtensa_finish_dynamic_sections): Likewise.
697         (elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
698         discarding literal table entries.
699         (elf_xtensa_merge_private_bfd_data): Remove newline from error message.
700         (elf_xtensa_do_asm_simplify): Likewise.
701
702 2003-07-23  Stephane Carrez  <stcarrez@nerim.fr>
703
704         * elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
705         we have a local symbol in common section.
706
707 2003-07-22  H.J. Lu <hongjiu.lu@intel.com>
708
709         * elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
710         weak symbols.
711
712 2003-07-22  Nick Clifton  <nickc@redhat.com>
713
714         * coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
715         expected RS6000 storage classes.
716
717 2003-07-21  H.J. Lu <hongjiu.lu@intel.com>
718
719         * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
720         output_bfd unused to silence gcc.
721
722 2003-07-21  Nick Clifton  <nickc@redhat.com>
723
724         * po/sv.po: Updated Swedish translation.
725
726 2003-07-21  Alan Modra  <amodra@bigpond.net.au>
727
728         * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
729         (_bfd_elf_symbol_refs_local_p): ..this.  Declare.
730         * elflink.c (_bfd_elf_symbol_refs_local_p): New function.
731         * elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
732         now done in _bfd_elf_symbol_refs_local_p.
733         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
734         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
735         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
736
737 2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
738
739         * elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
740
741 2003-07-18  H.J. Lu <hongjiu.lu@intel.com>
742
743         * elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
744         (SYMBOL_CALLS_LOCAL): Likewise.
745
746         * elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
747         immediately if symbol isn't defined locally.
748
749 2003-07-18  Richard Henderson  <rth@redhat.com>
750
751         * elflink.c (_bfd_elf_dynamic_symbol_p): New.
752         * elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
753         (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
754         * elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
755         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
756         * elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
757         * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
758         Update all callers to provide the relocation being resolved.
759
760 2003-07-17  Shaun Jackman <sjackman@pathwayconnect.com>
761
762         * config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
763         targ_cflags.
764
765 2003-07-17  Nick Clifton  <nickc@redhat.com>
766
767         * po/es.po: New Spanish translation.
768         * po/sv.po: New Swedish translation.
769         * po/opcodes.pot: Regenerate.
770
771 2003-07-16  Richard Henderson  <rth@redhat.com>
772
773         * config.bfd, configure.host, configure.in: Remove ia64-aix support.
774         * elfxx-ia64.c, targets.c: Likewise.
775
776 2003-07-16  Richard Henderson  <rth@redhat.com>
777
778         * elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
779         for symbols defined locally plus -Bsymbolic.  Tidy logic.
780
781 2003-07-15  Richard Sandiford  <rsandifo@redhat.com>
782
783         * archures.c (bfd_mach_mips7000): New.
784         * bfd-in2.h: Regenerated.
785         * cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
786         * elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
787         (mips_mach_extensions): Add an entry for it.
788
789 2003-07-14  Nick Clifton  <nickc@redhat.com>
790
791         * po/tr.po: Update with latest version.
792         * po/SRC-POTFILES.in: Regenerate.
793         * po/bfd.pot: Regenerate.
794         * Makfile.in: Regenerate.
795         * configure: Regenerate.
796
797 2003-07-12  Jeff Baker  <jbaker@qnx.com>
798
799         * bfd/config.bfd (__QNXTARGET__): Define for Neutrino architectures.
800         * bfd/elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
801         * bfd/elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
802         * bfd/elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
803
804 2003-07-12  Jeff Muizelaar  <muizelaar@rogers.com>
805
806         * coffcode.h (coff_set_section_contents): Set the
807         IMAGE_FILE_32BIT_MACHINE flag for PE targets.
808
809 2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
810
811         * bfd-in.h (bfd_h8300_pad_address): Declare.
812         * bfd-in2.h: Regenerate.
813         * cpu-h8300.c (bfd_h8300_pad_address): New function.
814         * coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
815         addresses before checking whether they can be relaxed.
816         (h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
817         Don't complain about overflows in general 8-bit relocations.
818         * elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
819         Fix handling of R_H8_DIR24A8.
820
821 2003-07-11  Richard Sandiford  <rsandifo@redhat.com>
822
823         * elf32-h8300.c: Convert function prototypes and definitions
824         to C90 syntax.
825         * coff-h8300.c: Likewise.
826         * cpu-h8300.c: Likewise.
827
828 2003-07-11  Alan Modra  <amodra@bigpond.net.au>
829
830         * po/SRC-POTFILES.in: Regenerate.
831         * po/bfd.pot: Likewise.
832
833 2003-07-10  Bob Wilson  <bob.wilson@acm.org>
834
835         * elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
836         .got.loc section.  Do not set SEC_ALLOC or SEC_LOAD flags for the
837         .xt.lit.plt section.
838         (elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
839         and allocate memory for it.
840         (elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
841         section to the .got.loc section.
842         (elf_xtensa_finish_dynamic_sections): Fix up call to
843         elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
844         the address of .got.loc.
845         (relax_property_section): Shrink .got.loc to match changes in any
846         literal table section.
847         (xtensa_is_property_section): Change to match
848         xtensa_get_property_section_name.
849         (xtensa_is_littable_section): New.
850
851 2003-07-10  H.J. Lu <hongjiu.lu@intel.com>
852
853         * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
854         -1LL.
855
856 2003-07-10  Alan Modra  <amodra@bigpond.net.au>
857
858         * Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
859         (BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
860         Run "make dep-am".
861         * Makefile.in: Regenerate.
862
863 2003-07-10  Alexandre Oliva  <aoliva@redhat.com>
864
865         2001-09-12  Alexandre Oliva  <aoliva@redhat.com>
866         * elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
867         (ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
868         2001-06-02  Nick Clifton  <nickc@cambridge.redhat.com>
869         * elf32-am33lin.c: Rename global functions.
870         2001-05-09  Alexandre Oliva  <aoliva@redhat.com>
871         * config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
872         * configure.in (bfd_elf32_am33lin_vec): Added.
873         * Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
874         (elf32-am33lin.lo): List dependencies.
875         * aclocal.m4, configure, Makefile.in: Rebuilt.
876         * elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
877         ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
878         ELF_ARCH was not defined before.
879         (elf_symbol_leading_char): Define if not defined.
880         * elf32-am33lin.c: Override the definitions above.
881         * targets.c (bfd_elf32_am33lin_vec): New.
882
883 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
884
885         2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
886         * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
887         pcrel_relocs_copied.
888         2001-12-13  Alexandre Oliva  <aoliva@redhat.com>
889         * elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
890         ld-linux.so.2 to ld.so.1.
891         2001-10-10  Alexandre Oliva  <aoliva@redhat.com>
892         * elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
893         (_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
894         (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
895         * elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
896         .rela.* section contents with bfd_zalloc.
897         2001-09-25  Alexandre Oliva  <aoliva@redhat.com>
898         * elf-m10300.c: Added declarations for functions missing them.
899         Merge some shared-library changes from the i386 back-end.  Use
900         R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
901         R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
902         (struct elf32_mn10300_link_hash_entry): Remove duplicates of
903         members of elf_link_hash_entry.  Adjusted references.
904         (mn10300_elf_final_link_relocate): dynobj was already loaded
905         into a local variable, use it.
906         2001-09-21  Nick Clifton  <nickc@cambridge.redhat.com>
907         * elf-m10300.c: Add missing function prototypes.
908         2001-08-24  Alexandre Oliva  <aoliva@redhat.com>
909         * elf-m10300.c (mn10300_elf_relocate_section): Don't compute
910         relocation for dynamic relocations.
911         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
912         * reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
913         * elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
914         PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
915         (_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
916         (_bfd_mn10300_elf_create_got_section): ... here, so that its
917         adress is already known at the time we compute relaxations.
918         (mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
919         and PLT32 to narrower relocations.
920         * libbfd.h, bfd-in2.h: Rebuilt.
921         2001-04-12  Alexandre Oliva  <aoliva@redhat.com>
922         * reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
923         BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
924         BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
925         BFD_RELOC_MN10300_RELATIVE): New relocs.
926         * libbfd.h, bfd-in2.h: Rebuilt.
927         * elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
928         (struct elf32_mn10300_link_hash_entry): Added DSO-related
929         fields.
930         (elf_mn10300_howto): Defined new relocation types.
931         (mn10300_reloc_map): Map them.
932         (_bfd_mn10300_elf_create_got_section): New fn.
933         (mn10300_elf_check_relocs): Handle PIC relocs.
934         (mn10300_elf_final_link_relocate): Likewise.
935         (mn10300_elf_relocate_section): Handle DSOs.
936         (PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
937         (elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
938         elf_mn10300_pic_plt_entry): New.
939         (elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
940         elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
941         elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
942         elf_mn10300_plt_reloc_offset: New macros.
943         (ELF_DYNAMIC_INTERPRETER): Likewise.
944         (_bfd_mn10300_elf_create_dynamic_sections): New function.
945         (_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
946         (_bfd_mn10300_elf_discard_copies): Likewise.
947         (_bfd_mn10300_elf_size_dynamic_sections): Likewise.
948         (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
949         (_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
950         (elf_backend_can_gc_sections,
951         elf_backend_create_dynamic_sections,
952         elf_backend_adjust_dynamic_sections,
953         elf_backend_size_dynamic_sections,
954         elf_backend_finish_dynamic_symbol,
955         elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
956         elf_backend_plt_readonly, elf_backend_want_plt_sym,
957         elf_backend_got_header_size, elf_backend_plt_header_size): New
958         macros.
959
960 2003-07-09  Alexandre Oliva  <aoliva@redhat.com>
961
962         2001-05-06  Alexandre Oliva  <aoliva@redhat.com>
963         * elf-m10300.c (compute_function_info): Account for AM33
964         registers in `movm' when computing stack space for `call' when
965         linking for AM33/2.0 link.
966         2000-04-01  Alexandre Oliva  <aoliva@cygnus.com>
967         * archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
968         * bfd-in2.h: Rebuilt.
969         * cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
970         * elf-m10300.c: Updated.
971         2000-03-31  Alexandre Oliva  <aoliva@cygnus.com>
972         * archures.c (bfd_mach_am332): Defined.
973         * bfd-in2.h: Rebuilt.
974         * cpu-m10300.c (bfd_am332_arch): Defined.
975         (bfd_am33_arch): Chained with am33-2.
976         * elf-m10300.c (elf_mn10300_mach): Handle am332.
977         (_bfd_mn10300_elf_final_write_processing): Likewise.
978
979 2003-07-09  H.J. Lu <hongjiu.lu@intel.com>
980
981         * elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
982
983 2003-07-10  Alan Modra  <amodra@bigpond.net.au>
984
985         * elf64-ppc.c (bfd_elf64_mkobject): Define.
986         (struct ppc64_elf_obj_tdata): New.
987         (ppc64_elf_tdata, ppc64_tlsld_got): Define.
988         (ppc64_elf_mkobject): New function.
989         (struct got_entry): Add "owner".  Move "tls_type".
990         (struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
991         (ppc64_elf_init_stub_bfd): New function.
992         (create_got_section): Create header .got in dynobj.  Create .got
993         and .rela.got in each bfd.  Stash pointers in ppc64_elf_obj_tdata.
994         (ppc64_elf_create_dynamic_sections): Don't call create_got_section.
995         Look for dynobj .got, and test it.
996         (ppc64_elf_copy_indirect_symbol): Adjust for changed got.
997         (update_local_sym_info): Likewise.
998         (ppc64_elf_check_relocs): Likewise.
999         (ppc64_elf_gc_sweep_hook): Likewise.
1000         (ppc64_elf_tls_optimize): Likewise.
1001         (allocate_dynrelocs): Likewise.
1002         (ppc64_elf_size_dynamic_sections): Likewise.
1003         (ppc64_elf_relocate_section): Likewise.
1004         (ppc64_elf_next_toc_section): Update comment.
1005         (toc_adjusting_stub_needed): Remove unneeded cast.
1006         (ppc64_elf_build_stubs): Check for stub sections in stub bfd by
1007         testing section flags.
1008         (ppc64_elf_build_stubs): Likewise.
1009         (ppc64_elf_size_stubs): Likewise.  Remove stub_bfd param.
1010         (ppc64_elf_finish_dynamic_sections): Write out got sections.
1011         (func_desc_adjust): Copy over dynamic info for undef weaks.
1012         * elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
1013         (ppc64_elf_size_stubs): Update prototype.
1014         * elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
1015         input sections rather than scanning dynobj.
1016
1017 2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
1018
1019         * elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
1020         (bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
1021         (mips_elf_create_msym_section): Delete.
1022         (mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
1023         (_bfd_mips_elf_copy_indirect_symbol): Likewise.
1024         (_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
1025         (_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
1026         (_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
1027         (_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
1028         (_bfd_mips_elf_finish_dynamic_sections): Likewise.
1029
1030 2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
1031
1032         * elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
1033         symbols protected.
1034
1035 2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
1036
1037         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
1038         of relocations whose offset is -2.
1039
1040 2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
1041
1042         * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
1043         forced-local symbols like other locals.  Don't create relocations
1044         against STN_UNDEF in irix objects.
1045
1046 2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
1047
1048         * bfd/elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
1049         compatible objects, add the values of defined external symbols
1050         to the addend.
1051
1052 2003-07-09  Richard Sandiford  <rsandifo@redhat.com>
1053
1054         * elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
1055         initialize a GOT entry to the symbol's st_value.
1056
1057 2003-07-08  Alan Modra  <amodra@bigpond.net.au>
1058
1059         * elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
1060         * elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here.  New.
1061         (ppc_elf_tdata): Define.
1062         (elf_local_ptr_offsets): Adjust.
1063         (ppc_elf_mkobject): New function.
1064         (bfd_elf32_mkobject): Define.
1065
1066         * elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
1067         * elfcore.h (elf_core_file_p): Likewise.
1068         * section.c (bfd_section_init): Remove prototype.
1069
1070 2003-07-08  Alan Modra  <amodra@bigpond.net.au>
1071
1072         * elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
1073         field.
1074         (enum elf_linker_section_enum): Delete.
1075         (struct elf_linker_section): Delete.
1076         (struct elf_linker_section_pointers): Delete.
1077         (struct elf_obj_tdata): Remove #if 0 chunk.  Remove linker_section.
1078         Make linker_section_pointers a void**.
1079         (elf_local_ptr_offsets, elf_linker_section): Don't define.
1080         * elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
1081         of old item in elf-bfd.h.
1082         (struct elf_linker_section): Likewise.
1083         (struct elf_linker_section_pointers): Likewise.
1084         (elf_local_ptr_offsets): Define.
1085         (struct ppc_elf_link_hash_entry): Add linker_section_pointer.
1086         (ppc_elf_link_hash_newfunc): Init it.
1087         (struct ppc_elf_link_hash_table): Add sbss.
1088         (ppc_elf_link_hash_table_create): zmalloc rather than clearing
1089         individual fields.
1090         (elf_create_linker_section): Fold into..
1091         (ppc_elf_create_linker_section): ..here.  Remove hole_size code.
1092         Make rela section here if shared.
1093         (elf_find_pointer_linker_section): Pass lsect rather than enum.
1094         (elf_create_pointer_linker_section): Adjust.  zalloc rather than
1095         clearing in a loop.
1096         (elf_finish_pointer_linker_section): Adjust.  Don't make rela
1097         section here.
1098         (ppc_elf_check_relocs): Adjust.
1099         (ppc_elf_add_symbol_hook): Tighten hash creator test.  Remove code
1100         creating .sbss by hand.
1101         * elf.c (_bfd_elf_link_hash_newfunc): Adjust.
1102
1103 2003-07-04  Jakub Jelinek  <jakub@redhat.com>
1104
1105         * elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
1106         complain_overflow_bitfield.
1107         * elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
1108         complain_overflow_bitfield.
1109
1110 2003-07-04  Jakub Jelinek  <jakub@redhat.com>
1111
1112         * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
1113         true even if -pie.
1114
1115 2003-07-04  Jakub Jelinek  <jakub@redhat.com>
1116
1117         * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
1118         (elfNN_ia64_dynamic_symbol_p): Change info->shared into
1119         !info->executable.
1120         (get_fptr): For -pie create .opd as writable section and create
1121         .rela.opd as well.
1122         (elfNN_ia64_check_relocs): Change info->shared into
1123         !info->executable.
1124         (allocate_fptr): Likewise.
1125         (allocate_dynrel_entries): Account for a relative reloc for -pie
1126         @fptr().  Don't account for a relative reloc if -pie want_ltoff_fptr
1127         for undefweak symbol.  Account for an IPLT reloc in .rela.opd
1128         section if -pie.
1129         (set_got_entry): Don't create a relative reloc if -pie
1130         want_ltoff_fptr for undefweak symbol.
1131         (set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
1132         (elfNN_ia64_relocate_section): Emit a relative reloc for -pie
1133         @fptr().
1134
1135         * elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
1136         even if -pie.
1137         * elf32-i386.c (elf_i386_relocate_section): Likewise.
1138         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
1139         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
1140         * elf64-s390.c (elf_s390_relocate_section): Likewise.
1141         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
1142         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
1143         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
1144         * elf32-s390.c (elf_s390_relocate_section): Likewise.
1145         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
1146
1147 2003-07-04  Paul Clarke <paulc@senet.com.au>
1148
1149         * elf32-h8300.c (R_H8_DIR32A16): Fix name field.
1150         (elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
1151         <R_H8_DIR32A16>: Fix type of relocation.
1152
1153 2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1154
1155         * elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
1156         sections were created already.  Remove unnecessary tests of
1157         the previous change.
1158
1159 2003-07-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1160
1161         * elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
1162         bfd_make_section for existing sections.
1163
1164 2003-07-04  Alan Modra  <amodra@bigpond.net.au>
1165
1166         * elf32-sparc.c (elf32_sparc_check_relocs): Don't call
1167         create_got_section if we already have done so.
1168         * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
1169         (sh_elf_check_relocs): Likewise.
1170         (sh_elf_adjust_dynamic_symbol): Delete "dynobj" var.  Use
1171         htab->root.dynobj instead.
1172         (sh_elf_check_relocs): Likewise.
1173         (sh_elf_finish_dynamic_sections): Likewise.
1174
1175         * section.c (bfd_make_section): Return NULL for existing section.
1176
1177 2003-07-04  Alan Modra  <amodra@bigpond.net.au>
1178
1179         * elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
1180         ppc_elf_create_got if we've already done so.
1181
1182         * elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
1183         (_bfd_elf_find_pointer_linker_section): Likewise.
1184         (bfd_elf32_create_pointer_linker_section): Likewise.
1185         (bfd_elf32_finish_pointer_linker_section): Likewise.
1186         (bfd_elf64_create_pointer_linker_section): Likewise.
1187         (bfd_elf64_finish_pointer_linker_section): Likewise.
1188         (_bfd_elf_make_linker_section_rela): Likewise.
1189         * elfcode.h (elf_create_pointer_linker_section): Don't define.
1190         (elf_finish_pointer_linker_section): Likewise.
1191         * elflink.c (_bfd_elf_make_linker_section_rela): Delete.
1192         (_bfd_elf_create_linker_section): Move this function..
1193         (_bfd_elf_find_pointer_linker_section): ..and this..
1194         * elflink.h (elf_create_pointer_linker_section): ..and this..
1195         (elf_finish_pointer_linker_section): ..and this..
1196         * elf32-ppc.c: ..to here, renaming to the following, and adjusting
1197         calls.
1198         (elf_create_linker_section): Convert to C90, tidy.
1199         (elf_find_pointer_linker_section): Likewise.
1200         (elf_create_pointer_linker_section): Likewise.
1201         (elf_finish_pointer_linker_section): Likewise.
1202         * elf32-i370.c: Delete #if 0 code.
1203
1204 2003-07-02  Alan Modra  <amodra@bigpond.net.au>
1205
1206         * elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
1207         _restf* to be satisfied by shared libs, and always force them local.
1208         (toc_adjusting_stub_needed): Avoid scanning linker created sections.
1209         Correct test for "bl".
1210         (ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
1211         primary opcode 31.
1212
1213 2003-07-01  Martin Schwidefsky  <schwidefsky@de.ibm.com>
1214
1215         * elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
1216         (s390_tls_reloc): New function.
1217         (elf_howto_table): Add long displacement relocations R_390_20,
1218         R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
1219         (elf_s390_reloc_type_lookup): Likewise.
1220         (elf_s390_check_relocs): Likewise.
1221         (elf_s390_gc_sweep_hook): Likewise.
1222         (elf_s390_relocate_section): Likewise.
1223         * elf64-s390.c: Same changes as for elf32-s390.c.
1224         * reloc.c: Add long displacement relocations BFD_RELOC_390_20,
1225         BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
1226         BFD_RELOC_390_TLS_GOTIE20.
1227         * bfd-in2.h: Regenerate.
1228         * libbfd.h: Likewise.
1229
1230 2003-06-30  Alan Modra  <amodra@bigpond.net.au>
1231
1232         * cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
1233         (ins_imms, ins_immsm1u4): Likewise.  Warning fix.
1234
1235 2003-06-29  Alan Modra  <amodra@bigpond.net.au>
1236
1237         * archive.c: Convert to C90, remove unnecessary prototypes and casts.
1238         Replace PTR with void *.  Formatting.
1239         * archive64.c: Likewise.
1240         * archures.c: Likewise.
1241         * bfd-in.h: Likewise.
1242         * bfd.c: Likewise.
1243         * bfdio.c: Likewise.
1244         * bfdwin.c: Likewise.
1245         * cache.c: Likewise.
1246         * corefile.c: Likewise.
1247         * format.c: Likewise.
1248         * init.c: Likewise.
1249         * libbfd-in.h: Likewise.
1250         * libbfd.c: Likewise.
1251         * linker.c: Likewise.
1252         * opncls.c: Likewise.
1253         * reloc.c: Likewise.
1254         * section.c: Likewise.
1255         * simple.c: Likewise.
1256         * syms.c: Likewise.
1257         * targets.c: Likewise.
1258         * bfd-in2.h: Regenerate.
1259         * libbfd.h: Regenerate.
1260
1261         * ecoff.c (bfd_debug_section): Add missing kept_section initialization.
1262         * libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
1263         * libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
1264         (bfd_getb64): Rewrite without parens.
1265         (bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
1266         * cache.c (insert, snip): Remove INLINE.
1267         * linker.c (bfd_link_add_undef): Likewise.
1268
1269 2003-06-29  Andreas Jaeger  <aj@suse.de>
1270
1271         * elf64-x86-64.c: Convert to ISO C90 prototypes, remove
1272         unnecessary prototypes.  Replace PTR with void *.
1273         (elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
1274         trim plt entries.  Move undefweak non-default visibility test ...
1275         (allocate_dynrelocs): ... from here.
1276         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
1277         Change all callers.
1278         (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.  Use
1279         SYMBOL_REFERENCES_LOCAL for dynreloc check.
1280         (elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
1281         dynreloc and .got relocs.
1282         (elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
1283         for .got relocs.
1284
1285 2003-06-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1286
1287         * elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
1288
1289 2003-06-27  Nick Clifton  <nickc@redhat.com>
1290
1291         * opncls.c (bfd_add_gnu_debuglink_section): Rename to
1292         bfd_add_gnu_debuglink_section and only create the section, do not
1293         fill in its contents.
1294         (bfd_fill_in_gnu_debuglink_section): New function.  Fill in the
1295         contents of a .gnu-debuglink section.
1296         * bfd-in2.h: Regenerate.
1297
1298 2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1299
1300         * elfxx-mips.c: Revert .got alignment to 2**4.
1301
1302 2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1303
1304         * elf32-mips.c: Fix addend for _gp_disp special symbol.
1305
1306 2003-06-27  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1307
1308         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
1309         relocation header setup.
1310
1311 2003-06-25  Alan Modra  <amodra@bigpond.net.au>
1312
1313         * elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
1314         (ppc_elf_reloc_type_lookup): Modify comment.
1315         (ppc_elf_info_to_howto): Ditto.
1316         (ppc_elf_relocate_section): Ditto.
1317         (ppc_elf_check_relocs): Call ppc_elf_howto_init.
1318
1319 2003-06-25  Alan Modra  <amodra@bigpond.net.au>
1320
1321         * aout-ns32k.c: Correct spelling of "relocatable".
1322         * aoutx.h: Likewise.
1323         * bfd-in.h: Likewise.
1324         * bfd.c: Likewise.
1325         * bout.c: Likewise.
1326         * coff-a29k.c: Likewise.
1327         * coff-alpha.c: Likewise.
1328         * coff-arm.c: Likewise.
1329         * coff-i386.c: Likewise.
1330         * coff-i860.c: Likewise.
1331         * coff-i960.c: Likewise.
1332         * coff-m68k.c: Likewise.
1333         * coff-m88k.c: Likewise.
1334         * coff-mcore.c: Likewise.
1335         * coff-mips.c: Likewise.
1336         * coff-or32.c: Likewise.
1337         * coff-ppc.c: Likewise.
1338         * coff-rs6000.c: Likewise.
1339         * coff-sh.c: Likewise.
1340         * coff-tic80.c: Likewise.
1341         * coff64-rs6000.c: Likewise.
1342         * cofflink.c: Likewise.
1343         * cpu-ns32k.c: Likewise.
1344         * ecoff.c: Likewise.
1345         * ecofflink.c: Likewise.
1346         * elf-bfd.h: Likewise.
1347         * elf-eh-frame.c: Likewise.
1348         * elf-hppa.h: Likewise.
1349         * elf-m10200.c: Likewise.
1350         * elf-m10300.c: Likewise.
1351         * elf.c: Likewise.
1352         * elf32-arm.h: Likewise.
1353         * elf32-avr.c: Likewise.
1354         * elf32-cris.c: Likewise.
1355         * elf32-d10v.c: Likewise.
1356         * elf32-dlx.c: Likewise.
1357         * elf32-fr30.c: Likewise.
1358         * elf32-frv.c: Likewise.
1359         * elf32-h8300.c: Likewise.
1360         * elf32-hppa.c: Likewise.
1361         * elf32-i370.c: Likewise.
1362         * elf32-i386.c: Likewise.
1363         * elf32-i860.c: Likewise.
1364         * elf32-i960.c: Likewise.
1365         * elf32-ip2k.c: Likewise.
1366         * elf32-iq2000.c: Likewise.
1367         * elf32-m32r.c: Likewise.
1368         * elf32-m68hc11.c: Likewise.
1369         * elf32-m68hc1x.c: Likewise.
1370         * elf32-m68k.c: Likewise.
1371         * elf32-mcore.c: Likewise.
1372         * elf32-mips.c: Likewise.
1373         * elf32-msp430.c: Likewise.
1374         * elf32-openrisc.c: Likewise.
1375         * elf32-ppc.c: Likewise.
1376         * elf32-s390.c: Likewise.
1377         * elf32-sh.c: Likewise.
1378         * elf32-sh64.c: Likewise.
1379         * elf32-sparc.c: Likewise.
1380         * elf32-v850.c: Likewise.
1381         * elf32-vax.c: Likewise.
1382         * elf32-xstormy16.c: Likewise.
1383         * elf32-xtensa.c: Likewise.
1384         * elf64-alpha.c: Likewise.
1385         * elf64-hppa.c: Likewise.
1386         * elf64-mips.c: Likewise.
1387         * elf64-mmix.c: Likewise.
1388         * elf64-ppc.c: Likewise.
1389         * elf64-s390.c: Likewise.
1390         * elf64-sh64.c: Likewise.
1391         * elf64-sparc.c: Likewise.
1392         * elf64-x86-64.c: Likewise.
1393         * elfcode.h: Likewise.
1394         * elflink.h: Likewise.
1395         * elfn32-mips.c: Likewise.
1396         * elfxx-ia64.c: Likewise.
1397         * elfxx-mips.c: Likewise.
1398         * i386linux.c: Likewise.
1399         * ieee.c: Likewise.
1400         * libcoff-in.h: Likewise.
1401         * linker.c: Likewise.
1402         * m68klinux.c: Likewise.
1403         * pdp11.c: Likewise.
1404         * pe-mips.c: Likewise.
1405         * peXXigen.c: Likewise.
1406         * reloc.c: Likewise.
1407         * reloc16.c: Likewise.
1408         * sparclinux.c: Likewise.
1409         * sunos.c: Likewise.
1410         * syms.c: Likewise.
1411         * versados.c: Likewise.
1412         * vms.c: Likewise.
1413         * xcofflink.c: Likewise.
1414         * bfd-in2.h: Regenerate.
1415         * libcoff.h: Regenerate.
1416         * libbfd.h: Regenerate.
1417
1418 2003-06-24  Alan Modra  <amodra@bigpond.net.au>
1419
1420         * elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
1421         local sym errors.
1422
1423         * elf32-i386.c: Convert to C90 function definitions, remove unnecessary
1424         prototypes and casts.  Replace PTR with void *.  Formatting.
1425         * elf32-ppc.c: Likewise.  Break long strings too.
1426         (ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
1427         (ppc_elf_unhandled_reloc): Internationalize error message.
1428         * elf32-ppc.h: Remove PARAMS.
1429
1430 2003-06-23  Mark Mitchell  <mark@codesourcery.com>
1431
1432         * elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
1433         APUinfo slots.
1434         (ppc_elf_final_write_processing): Likewise.
1435
1436 2003-06-23  H.J. Lu <hongjiu.lu@intel.com>
1437
1438         * elflink.h (elf_link_input_bfd): Check raw size when using
1439         kept_section to preserve debug information discarded by
1440         linkonce.
1441
1442 2003-06-20  Alan Modra  <amodra@bigpond.net.au>
1443
1444         * elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
1445         (ppc64_elf_setup_section_lists): Set it.
1446         (ppc64_elf_relocate_section): Check sym section id against top_id.
1447         (ppc_build_one_stub): Comment on top_id.
1448
1449 2003-06-20  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
1450
1451         * config.bfd: Add tic4x-*-rtems*.
1452
1453 2003-06-20  Alan Modra  <amodra@bigpond.net.au>
1454
1455         * elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
1456         prototypes and casts.  Replace PTR with void *.  Format copyright.
1457         Mention ABI links.
1458         (struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
1459         sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
1460         (ppc_type_of_stub): Make r_type an enum.
1461         (ppc64_elf_size_stubs): Likewise.
1462         * elf64-ppc.h: Remove PARAMS macro.
1463
1464 2003-06-19  Alan Modra  <amodra@bigpond.net.au>
1465
1466         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
1467         elf hash tab fields.
1468
1469         * elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
1470         (ppc64_elf_info_to_howto): Likewise.
1471         (ppc64_elf_build_stubs): Add "stats" param, and print statistics.
1472         * elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
1473
1474 2003-06-19  Alan Modra  <amodra@bigpond.net.au>
1475
1476         * elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
1477         reloc overflow on discarded eh_frame entries.
1478
1479 2003-06-19  Alan Modra  <amodra@bigpond.net.au>
1480
1481         * elf64-ppc.c (toc_adjusting_stub_needed): New function.
1482         (ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
1483         Return error condition.
1484         (ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
1485         that have has_gp_reloc set.
1486         (struct ppc_link_hash_table): Add stub_count.
1487         (ppc_build_one_stub): Increment it.
1488         (ppc64_elf_link_hash_table_create): zmalloc rather than clearing
1489         individual fields.
1490         * elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
1491
1492 2003-06-18  Alan Modra  <amodra@bigpond.net.au>
1493
1494         * elflink.h (elf_gc_record_vtentry): Revert last change.  Correct
1495         size calculation from addend.  Round size up.
1496
1497 2003-06-18  Hans-Peter Nilsson  <hp@axis.com>
1498
1499         * elf32-cris.c (cris_elf_relocate_section) <case
1500         R_CRIS_32_GOTREL>: When linking a program, don't complain about a
1501         symbol from a normal object or an undefined weak symbol.
1502
1503 2003-06-18  Alan Modra  <amodra@bigpond.net.au>
1504
1505         * elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
1506         R_PPC64_TOC relocs.
1507
1508 2003-06-17  H.J. Lu <hongjiu.lu@intel.com>
1509
1510         * section.c (struct sec): Put back kept_section.
1511         (STD_SECTION): Put back kept_section initialization.
1512         * bfd-in2.h: Regenerate.
1513
1514         * elflink.h (elf_link_input_bfd): Also check discarded linkonce
1515         sections for relocateable output. Use kept_section to preserve
1516         debug information discarded by linkonce.
1517
1518 2003-06-17  Roland McGrath  <roland@redhat.com>
1519
1520         * elfxx-ia64.c (elfNN_ia64_relocate_section): Support
1521         segment-relative relocation between different segments.
1522
1523 2003-06-17  Alan Modra  <amodra@bigpond.net.au>
1524
1525         * elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
1526         optimizations earlier.
1527
1528         * elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
1529         Restore previous input_list type.
1530         (ppc64_elf_link_hash_table_create): Undo last change.
1531         (ppc64_elf_setup_section_lists): Reinstate code setting up input lists
1532         per output section, but don't bother with bfd_abs_section marker.
1533         (ppc64_elf_next_input_section): Adjust for multiple input section
1534         lists.
1535         (group_sections): Likewise.
1536
1537 2003-06-17  Jakub Jelinek  <jakub@redhat.com>
1538
1539         * elf64-ppc.c (ppc64_elf_relocation_section): Ensure
1540         *r_offset == r_addend for RELATIVE relocs against .got.
1541
1542 2003-06-17  Alan Modra  <amodra@bigpond.net.au>
1543
1544         * elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
1545
1546 2003-06-17  Nick Clifton  <nickc@redhat.com>
1547
1548         * elflink.h (elf_gc_record_vtentry): Allocate an extra element
1549         in the vtable_entries_used array to allow for the accessing
1550         the largest element.
1551
1552 2003-06-17  Alan Modra  <amodra@bigpond.net.au>
1553
1554         * elf64-ppc.c (struct ppc_link_hash_table): Remove top_index.  Modify
1555         input_list.
1556         (ppc64_elf_link_hash_table_create): Init input_list here.
1557         (ppc64_elf_setup_section_lists): Remove code setting up input lists
1558         per output section.  Set toc_off for abs and other standard sections.
1559         (ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
1560         (ppc64_elf_next_input_section): Adjust for single input section list.
1561         Don't set toc_curr from input bfds that haven't set elf_gp.
1562         (group_sections): Adjust for single input section list.
1563
1564         * elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
1565
1566 2003-06-16  Alan Modra  <amodra@bigpond.net.au>
1567
1568         * elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
1569         tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
1570         dtprel entry.  Ensure TLS_LD DTPMOD reloc has a zero addend.  Write
1571         got section for RELATIVE relocs.  Fix wrong comment.  Change condition
1572         under which dynamic relocs update the section contents.
1573
1574 2003-06-13  Robert Millan  <zeratul2@wanadoo.es>
1575
1576         * config.bfd: Add i386-netbsd-gnu target.
1577
1578 2003-06-12  Nick Clifton  <nickc@redhat.com>
1579
1580         * opncls.c (calc_crc32): Rename to
1581         bfd_calc_gnu_debuglink_crc32 and export.
1582         (GNU_DEBUGLINK): Define and use to replace occurrences of
1583         hard-coded ".gnu_debuglink" in the code.
1584         (get_debug_link_info): Prevent aborts by replacing call to
1585         xmalloc with a call to malloc.
1586         (find_separate_debug_file): Prevent aborts by replacing calls
1587         to xmalloc and xstrdup with calls to malloc and strdup.
1588         (bfd_add_gnu_debuglink): New function.  Add a .gnu_debuglink
1589         section to a bfd.
1590         * bfd-in2.h: Regenerate.
1591
1592 2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
1593
1594         * config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
1595         New target (was i[3-7]86-*-openbsd* before).
1596         (i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
1597         (vax-*-openbsd*): New target.
1598
1599 2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1600
1601         * elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
1602         for n32, too.
1603         (MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
1604         (mips_elf_rel_dyn_section): Use appropriate section alignment.
1605         (mips_elf_create_got_section): Likewise.
1606         (_bfd_mips_elf_create_dynamic_sections): Likewise.
1607
1608 2003-06-11  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1609
1610         * elf32-mips.c (mips_elf_generic_reloc): New Function.
1611         (elf_mips_howto_table_rel): Use it.
1612         (gprel32_with_gp): Move prototype.
1613         (mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
1614         Use mips_elf_generic_reloc.
1615         (mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
1616         Code cleanup.
1617         (_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
1618         zero addend.
1619         (mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
1620         as in the other *_gprel*_reloc functions.
1621         (gprel32_with_gp): Handle partial_inplace properly.
1622         (mips32_64bit_reloc): Use mips_elf_generic_reloc.
1623         (mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
1624         Do addend handling directly instead of calling
1625         _bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
1626         * elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
1627         of zero addend. Handle partial_inplace properly.
1628         (mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
1629         addend.
1630         (mips_elf64_gprel16_reloc): Likewise.
1631         (mips_elf64_literal_reloc): Likewise.
1632         (mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
1633         logic as in the other *_gprel*_reloc functions. Handle
1634         partial_inplace properly.
1635         (mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
1636         addend. Handle partial_inplace properly.
1637         (mips16_gprel_reloc): Likewise. Do addend handling directly instead
1638         of calling _bfd_mips_elf_gprel16_with_gp.
1639         * elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
1640         (mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
1641         of zero addend.
1642         (mips_elf_shift6_reloc): Handle partial_inplace properly.
1643         (mips16_gprel_reloc): Likewise. Do addend handling directly instead
1644         of calling _bfd_mips_elf_gprel16_with_gp.
1645         * elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
1646         partial_inplace properly. Fix wrong addend handling. Fix overflow
1647         check.
1648         (_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
1649         exported.
1650         (mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
1651         (_bfd_mips_elf_relocate_section): Likewise.
1652         (mips_elf_create_dynamic_relocation): Update sec_info_type access.
1653         * elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
1654         (_bfd_mips_elf_sign_extend): New prototype.
1655
1656 2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
1657
1658         * config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
1659         New target (was sparc-*-openbsd* before).
1660         (sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
1661
1662         * configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
1663         * configure: Regenerate.
1664
1665 2003-06-11  H.J. Lu <hongjiu.lu@intel.com>
1666
1667         * po/Make-in (DESTDIR): New.
1668         (install-data-yes): Support $(DESTDIR).
1669         (uninstall): Likewise.
1670
1671 2003-06-11  Alan Modra  <amodra@bigpond.net.au>
1672
1673         * Makefile.am (config.status): Depend on version.h.
1674         Run "make dep-am".
1675         * Makefile.in: Regenerate.
1676         * po/SRC-POTFILES.in: Regenerate.
1677
1678 2003-06-10  Alan Modra  <amodra@bigpond.net.au>
1679             Gary Hade <garyhade@us.ibm.com>
1680
1681         * elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
1682
1683 2003-06-10  Richard Sandiford  <rsandifo@redhat.com>
1684
1685         * archures.c (bfd_mach_h8300sxn): New architecture.
1686         * bfd-in2.h: Regenerate.
1687         * cpu-h8300.c (h8300_scan): Check for 'sxn'.
1688         (h8300sxn_info_struct): New.
1689         (h8300sx_info_struct): Link to it.
1690         * elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
1691         (elf32_h8_final_write_processing): Likewise.
1692
1693 2003-06-08  Alan Modra  <amodra@bigpond.net.au>
1694
1695         * elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
1696         elfxx-target.h so that we can use elf_backend_got_header_size.
1697         (ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
1698         (GLINK_CALL_STUB_SIZE): Modify.  Define new glink call stub and
1699         associated macros.
1700         (ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
1701         dst_mask.
1702         (enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
1703         ppc_stub_plt_branch_r2off.
1704         (struct ppc_stub_hash_entry): Reorganize.
1705         (struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
1706         toc_curr, toc_off and emit_stub_syms.
1707         (ppc64_elf_link_hash_table_create): Init them.
1708         (ppc_stub_name): Correct string size.
1709         (ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
1710         (ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
1711         used.
1712         (ppc_type_of_stub): Tweak root.type test.
1713         (build_plt_stub): Remove glink code.  Adjust for insn macro changes.
1714         (ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
1715         ppc_stub_plt_branch_r2off.
1716         (ppc_build_one_stub): Likewise.  Fix var shadowing.  Correct addis,addi
1717         range test.  Use toc_off to calculte r2 values.  Handle emit_stub_syms.
1718         (ppc64_elf_setup_section_lists): Remove htab creator flavour test.
1719         Initialize elf_gp and toc_curr.
1720         (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
1721         (ppc64_elf_next_input_section): Set toc_off.
1722         (group_sections): Ensure groups have the same TOC.
1723         (ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
1724         (ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
1725         Build new glink stub.
1726         (ppc64_elf_relocate_section): Handle multiple TOCs.  Fix comments.
1727         (ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
1728         * elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
1729         (ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
1730         * section.c (struct sec): Rename flag12 to has_gp_reloc.
1731         (STD_SECTION): Update.
1732         * ecoff.c (bfd_debug_section): Update comment.
1733         * bfd-in2.h: Regenerate.
1734
1735 2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
1736
1737         * elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
1738         NULL function pointers.
1739
1740 2003-06-05  Daniel Jacobowitz  <drow@mvista.com>
1741
1742         * simple.c (bfd_simple_get_relocated_section_contents): Call
1743         _bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
1744
1745 2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
1746
1747         * coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
1748         ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
1749         swaptables.
1750         * coff-tic4x.c: Ditto
1751         * coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
1752         and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
1753         CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
1754         ticoff1_bad_format_hook() functions. Created the coff0 and coff1
1755         swap tables.
1756         * coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
1757         * coff-a29k.c: Append COFF_SWAP_TABLE argument
1758         * coff-apollo.c: Ditto
1759         * coff-arm.c: Ditto
1760         * coff-h8300.c: Ditto
1761         * coff-h8500.c: Ditto
1762         * coff-i960.c: Ditto
1763         * coff-m68k.c: Ditto
1764         * coff-m88k.c: Ditto
1765         * coff-mcore.c: Ditto
1766         * coff-sh.c: Ditto
1767         * coff-sparc.c: Ditto
1768         * coff-tic80.c: Ditto
1769         * coff-we32k.c: Ditto
1770         * coff-z8k.c: Ditto
1771         * coff-w65.c: Ditto
1772
1773 2003-06-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
1774
1775         * coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
1776         initialization bug
1777
1778 2003-06-03  Jakub Jelinek  <jakub@redhat.com>
1779
1780         * elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
1781         (bfd_section_from_phdr): Likewise.
1782         (map_sections_to_segments): Create PT_GNU_STACK segment header.
1783         (get_program_header_size): Count with PT_GNU_STACK.
1784         * elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
1785         * elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
1786
1787 2003-06-03  H.J. Lu <hongjiu.lu@intel.com>
1788
1789         * elflink.h (elf_link_input_bfd): Call linker error_handler
1790         for discarded definitions.
1791
1792 2003-06-03  Elias Athanasopoulos  <elathan@phys.uoa.gr>
1793
1794         * syms.c (decode_section_type): Return 'n' if section flags are
1795         SEC_HAS_CONTENTS && SEC_READONLY.
1796
1797 2003-06-03  Nick Clifton  <nickc@redhat.com>
1798
1799         * elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
1800         R_V850_ABS32.  Add entry for R_V850_REL32.
1801         (v850_elf_reloc_map): Likewise.
1802         (v850_elf_check_relocs): Likewise.
1803         (v850_elf_perform_relocation): Likewise.
1804         (v850_elf_final_link_relocate): Likewise.  Include computation
1805         to make R_V850_REl32 pc-relative.
1806
1807 2003-06-03  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1808
1809         * elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
1810         and DT_DEBUG dynamic tag even for position independent executables.
1811         * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
1812
1813 2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
1814
1815         * config.bfd: Move obsolete entries out of the range of the
1816         targmatch sed script.
1817
1818 2003-06-02  Daniel Jacobowitz  <drow@mvista.com>
1819
1820         * config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
1821
1822 2003-05-31  Jakub Jelinek  <jakub@redhat.com>
1823
1824         * elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
1825         plt entries, not just 8191.
1826
1827 2003-05-30  Daniel Jacobowitz  <drow@mvista.com>
1828
1829         * elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
1830         Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
1831
1832 2003-05-30  Ulrich Drepper  <drepper@redhat.com>
1833             Jakub Jelinek  <jakub@redhat.com>
1834
1835         * elflink.h (elf_link_add_object_symbols): Use !info->executable
1836         instead of info->shared where appropriate.
1837         (bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
1838         * elflink.c (_bfd_elf_create_got_section): Likewise.
1839         (_bfd_elf_link_create_dynamic_sections): Likewise.
1840         (_bfd_elf_link_assign_sym_version): Likewise.
1841         * elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
1842         and DT_DEBUG dynamic tag even for position independent executables.
1843         * elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
1844         * elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
1845         * elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
1846         * elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
1847         * elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
1848         * elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
1849         * elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
1850         * elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
1851         * elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
1852
1853 2003-05-30  Kris Warkentin <kewarken@qnx.com>
1854
1855         * elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
1856         signalled thread.
1857         (elfcore_grok_nto_gregs): Only make .reg section for the active thread.
1858
1859 2003-05-29  Nick Clifton  <nickc@redhat.com>
1860
1861         * pef.c: Include "safe-ctype.h" instead of <ctype.h>.
1862         Tidy up formatting.
1863         * Makefile.am: Add dependency on safe-ctype.h.
1864         * Makefile.in: Regenerate.
1865
1866 2003-05-29  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1867
1868         * elfxx-mips.c: Don't force symbols local unconditionally.
1869
1870 2003-05-28  Alan Modra  <amodra@bigpond.net.au>
1871
1872         * elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
1873         undefined_symbol call.
1874
1875 2003-05-27  Richard Sandiford  <rsandifo@redhat.com>
1876
1877         * elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
1878         (mips_elf_link_hash_table): Likewise.
1879
1880 2003-05-22  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1881
1882         * elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
1883         R_MIPS_GNU_REL16_S2 support.
1884         (bfd_elf64_bfd_reloc_type_lookup): Use it.
1885         (mips_elf64_rtype_to_howto): Use it.
1886         * elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
1887         R_MIPS_GNU_REL16_S2 support.
1888         (bfd_elf32_bfd_reloc_type_lookup): Use it.
1889         (mips_elf_n32_rtype_to_howto): Use it.
1890
1891 2003-05-21  Stuart F. Downing  <sdowning@fame.com>
1892
1893         * som.h: Define PA_2_0 before including a.out.h
1894
1895 2003-05-07  Eric Christopher  <echristo@redhat.com>
1896             Alexandre Oliva   <aoliva@redhat.com>
1897
1898         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
1899         pic tests, change to warning.
1900         (_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
1901
1902 2003-05-21  Marcus Comstedt  <marcus@mc.pp.se>
1903
1904         * config.bfd: Check for a target triplet of shl-...-netbsdelf as
1905         well as shle-...-netbsdelf.  Remove duplicate entry.
1906
1907 2003-05-21  Nick Clifton  <nickc@redhat.com>
1908
1909         * elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
1910         for X_STORMY16_REL_12 reloc.
1911
1912         * elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
1913         the type of the hash table in the bfd_link_info structure.
1914         (bfd_elf_get_runpath_list): Likewise.
1915
1916 2003-05-19  Roland McGrath  <roland@redhat.com>
1917
1918         * elf.c (bfd_elf_bfd_from_remote_memory): New function.
1919         * bfd-in.h: Declare it.
1920         * bfd-in2.h: Regenerated.
1921         * elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
1922         * elf-bfd.h (struct elf_backend_data): New function pointer member
1923         elf_backend_bfd_from_remote_memory.
1924         (_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
1925         Declare them.
1926         * elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
1927         (elfNN_bed): Add that to the initializer.
1928
1929 2003-05-15  Roland McGrath  <roland@redhat.com>
1930
1931         * elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
1932
1933 2003-05-20  Jakub Jelinek  <jakub@redhat.com>
1934
1935         * elflink.h (elf_link_output_extsym): Only issue error about !=
1936         STV_DEFAULT symbols if they are bfd_link_hash_undefined.
1937
1938 2003-05-20  H.J. Lu <hongjiu.lu@intel.com>
1939
1940         * elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
1941         when removing the old definition for symbols with non-default
1942         visibility.
1943
1944 2003-05-18  Jason Eckhardt  <jle@rice.edu>
1945
1946         * elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
1947
1948 2003-05-17  Andreas Schwab  <schwab@suse.de>
1949
1950         * elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
1951         elf_section_data during processing of pc-relative and absolute
1952         relocations.
1953         (elf_m68k_relocate_section): Use the cached reloc section instead
1954         of computing it again.  Fix handling of visibility.  Don't modify
1955         addend when copying over a relocation into the output.
1956
1957 2003-05-17  Alan Modra  <amodra@bigpond.net.au>
1958
1959         * elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
1960         to trim plt entries.  Move undefweak non-default visibility test..
1961         (allocate_dynrelocs): ..from here.
1962         * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
1963         dynamic_sections_created here.  Update comment.  Move undefweak
1964         non-default visibility test..
1965         (allocate_dynrelocs): ..from here.  Fix comment.
1966         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
1967         to trim plt entries.  Move undefweak non-default visibility test..
1968         (allocate_dynrelocs): ..from here.  Fix comment.
1969         * elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
1970         STV_DEFAULT rather than comparing with zero.
1971         * elflink.c (_bfd_elf_merge_symbol): Likewise.
1972         (_bfd_elf_fix_symbol_flags): Likewise.  Format comment.
1973
1974 2003-05-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1975
1976         * bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
1977         pointers.
1978         (_bfd_set_gp_value): Likewise.
1979
1980 2003-05-16  Michael Snyder  <msnyder@redhat.com>
1981         From Bernd Schmidt  <bernds@redhat.com>
1982         * archures.c (bfd_mach_h8300sx): New.
1983         * bfd-in2.h: Regenerate.
1984         * cpu-h8300.c (h8300_scan)): Add support for h8300sx.
1985         (h8300sx_info_struct): New.
1986         (h8300s_info_struct): Link to it.
1987         * elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
1988         (elf32_h8_final_write_processing): Likewise.
1989         (elf32_h8_relax_section): Likewise.
1990
1991 2003-05-16  Kelley Cook  <kelleycook@wideopenwest.com>
1992
1993         * config.bfd: Accept i[3-7]86 variants.
1994         * configure.host: Likewise.
1995         * configure.in: Likewise.
1996         * configure: Regenerate.
1997
1998 2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
1999
2000         * elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
2001         symbol.
2002
2003 2003-05-15  H.J. Lu <hongjiu.lu@intel.com>
2004
2005         * elflink.h (elf_link_check_versioned_symbol): Also allow
2006         the base version.
2007
2008 2003-05-15  Alan Modra  <amodra@bigpond.net.au>
2009             H.J. Lu <hongjiu.lu@intel.com>
2010
2011         * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
2012         (elf_i386_relocate_section): Likewise.
2013         * elf32-ppc.c (allocate_dynrelocs): Likewise.
2014         (ppc_elf_relocate_section): Likewise.
2015         * elf64-ppc.c (allocate_dynrelocs): Likewise.
2016         (ppc64_elf_relocate_section): Likewise.
2017
2018 2003-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2019
2020         * elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
2021
2022 2003-05-13  Stephane Carrez  <stcarrez@nerim.fr>
2023
2024         * elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
2025         processor capability, allow merge of HC12 and HCS12 in some cases.
2026         (m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
2027         * cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
2028         (bfd_m68hc12_arch): Link it.
2029         (scan_mach): New function.
2030
2031 2003-05-13  Andrew Haley  <aph@redhat.com>
2032
2033         * elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
2034
2035 2003-05-13  Alan Modra  <amodra@bigpond.net.au>
2036             H.J. Lu  <hongjiu.lu@intel.com>
2037
2038         * elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
2039         elf32-ppc.c.  Add ELF_LINK_FORCED_LOCAL check.
2040         * elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
2041         (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
2042         (ppc_elf_relocate_section): Likewise.
2043         * elf64-ppc.c (allocate_dynrelocs): Likewise.
2044         (ppc64_elf_relocate_section): Likewise.  Use for .got relocs too.
2045         (ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
2046         relocs need no other types.
2047         * elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
2048         dynreloc check.
2049         (elf_i386_relocate_section): Likewise.  Use for .got relocs too.
2050         (elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
2051         .got relocs.
2052
2053 2003-05-13  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2054
2055         * elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
2056         copy ELF_LINK_NON_GOT_REF from weakdef.
2057         (allocate_dynrelocs): For undef weak syms with non-default
2058         visibility, a) don't allocate plt entries, b) don't allocate
2059         .got relocs, c) discard dyn rel space
2060         (sh_elf_relocate_section): d) don't generate .got relocs, e)
2061         don't generate dynamic relocs.
2062         (sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
2063         for weakdefs when symbol already adjusted.
2064
2065 2003-05-12  Nick Clifton  <nickc@redhat.com>
2066
2067         * elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
2068         overflow detection for R_XSTORMY16_16 reloc.
2069
2070 2003-05-12  Paul Clarke  <paulc@senet.com.au>
2071
2072         * elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
2073
2074 2003-05-11  Jason Eckhardt  <jle@rice.edu>
2075
2076         * elf32-i860.c (elf32_i860_relocate_highadj): Properly
2077         adjust upper bits.
2078         (elf32_i860_relocate_splitn): Obtain upper 5 bits from the
2079         proper place.
2080         (elf32_i860_relocate_pc16): Obtain upper 5 bits from the
2081         proper place.
2082
2083 2003-05-11  Andreas Schwab  <schwab@suse.de>
2084
2085         * elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
2086         complicated tests for unresolvable relocs with a simple direct
2087         scheme using "unresolved_reloc" var.  Report some detail on
2088         bfd_reloc_outofrange and similar errors.
2089
2090 2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2091
2092         * elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
2093         Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
2094         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2095         * elf64-s390.c: Likewise.
2096
2097 2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2098
2099         * elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
2100         (elf_s390_adjust_dynamic_symbol): For weak symbols, copy
2101         ELF_LINK_NON_GOT_REF from weakdef.
2102         (elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
2103         already been adjusted before treating it specially.
2104         * el64-s390.c: Likwise.
2105
2106 2003-05-09  Martin Schwidefsky  <schwidefsky@de.ibm.com>
2107
2108         * elf32-s390.c (allocate_dynrelocs): For undef weak syms with
2109         non-default visibility, a) don't make them dynamic, b) discard
2110         space for dynamic relocs.
2111         (elf_s390_relocate_section): Initialize the GOT entries and skip
2112         R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
2113         symbols with non-default visibility.
2114         * elf64-s390.c: Likewise.
2115
2116 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
2117
2118         * cpu-arm.c (arm_check_note): Warning fix.
2119         * elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes.  Arrange
2120         to keep relocs if edited.
2121         (iq2000_elf_print_private_bfd_data): Return TRUE.
2122         * elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
2123         ELF64_R_SYM.
2124         (elfNN_ia64_relax_ldxmov): Warning fix.
2125         * xtensa-isa.c (xtensa_add_isa): Warning fix.
2126         * xtensa-modules.c (get_num_opcodes): Warning fix.
2127
2128 2003-05-09  Andrey Petrov <petrov@netbsd.org>
2129
2130         * elf.c (elf_fake_sections): Use correct cast for sh_name.
2131
2132 2003-05-09  Alan Modra  <amodra@bigpond.net.au>
2133
2134         * elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
2135         elflink.h.  Replace LOG_FILE_ALIGN with bed->s->log_file_align.
2136         (_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
2137         (bfd_elf_record_link_assignment): Move from elflink.h.
2138         (_bfd_elf_merge_symbol): Likewise.
2139         (_bfd_elf_add_default_symbol): Likewise.
2140         (_bfd_elf_export_symbol): Likewise.
2141         (_bfd_elf_link_find_version_dependencies): Likewise.
2142         (_bfd_elf_link_assign_sym_version): Likewise.
2143         (_bfd_elf_link_read_relocs): Likewise.
2144         (_bfd_elf_link_size_reloc_section): Likewise.
2145         (_bfd_elf_fix_symbol_flags): Likewise.
2146         (_bfd_elf_adjust_dynamic_symbol): Likewise.
2147         (_bfd_elf_link_sec_merge_syms): Likewise.
2148         (elf_link_read_relocs_from_section): Likewise.  Use bed->s->sizeof_rel
2149         and bed->s->sizeof_rela.
2150         (_bfd_elf_link_output_relocs): Likewise.
2151         * elf-bfd.h (struct elf_size_info): Rename file_align to
2152         log_file_align.
2153         (struct elf_info_failed): Move from elflink.h.
2154         (struct elf_assign_sym_version_info): Likewise.
2155         (struct elf_find_verdep_info): Likewise.
2156         (_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
2157         (_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
2158         _bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
2159         _bfd_elf_link_assign_sym_version,
2160         _bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
2161         _bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
2162         _bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
2163         _bfd_elf_link_sec_merge_syms): Declare.
2164         (bfd_elf32_link_create_dynamic_sections): Don't declare.
2165         (_bfd_elf32_link_read_relocs): Likewise.
2166         (bfd_elf64_link_create_dynamic_sections): Likewise.
2167         (_bfd_elf64_link_read_relocs): Likewise.
2168         * elflink.h: Move lots o' stuff elsewhere.
2169         * bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
2170         (bfd_elf64_record_link_assignment): Likewise.
2171         (bfd_elf_record_link_assignment): Declare.
2172         * bfd-in2.h: Regenerate.
2173         * elfcode.h (elf_link_create_dynamic_sections): Don't declare.
2174         (NAME(_bfd_elf,size_info)): Adjust for log_file_align.
2175         * elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
2176         (assign_file_positions_for_segments): Likewise.
2177         (assign_file_positions_except_relocs): Likewise.
2178         (swap_out_syms, elfcore_write_note): Likewise.
2179         * elf-m10200.c: Adjust for changed function names.
2180         * elf-m10300.c: Likewise.
2181         * elf32-arm.h: Likewise.
2182         * elf32-h8300.c: Likewise.
2183         * elf32-hppa.c: Likewise.
2184         * elf32-ip2k.c: Likewise.
2185         * elf32-m32r.c: Likewise.
2186         * elf32-m68hc11.c: Likewise.
2187         * elf32-m68hc1x.c: Likewise.
2188         * elf32-m68k.c: Likewise.
2189         * elf32-mips.c: Likewise.
2190         * elf32-ppc.c: Likewise.
2191         * elf32-sh.c: Likewise.
2192         * elf32-v850.c: Likewise.
2193         * elf32-xtensa.c: Likewise.
2194         * elf64-alpha.c: Likewise.
2195         * elf64-hppa.c: Likewise.
2196         * elf64-mmix.c: Likewise.
2197         * elf64-ppc.c: Likewise.
2198         * elf64-sh64.c: Likewise.
2199         * elfxx-ia64.c: Likewise.
2200         * elfxx-mips.c: Likewise.
2201         (MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
2202         * elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
2203         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
2204         * elf64-mips.c (mips_elf64_size_info): Likewise.
2205         * elf64-s390.c (s390_elf64_size_info): Likewise.
2206         * elf64-sparc.c (sparc64_elf_size_info): Likewise.
2207
2208 2003-05-08  H.J. Lu <hongjiu.lu@intel.com>
2209
2210         * elflink.h (elf_add_default_symbol): After skipping the
2211         unversioned symbol, go to non-default one.
2212
2213 2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
2214
2215         * elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
2216         want_plt field.
2217         (elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
2218         for symbols with non-default visibility.
2219
2220 2003-05-07  H.J. Lu <hongjiu.lu@intel.com>
2221
2222         * elflink.h (elf_link_check_versioned_symbol): Also handle the
2223         case that a DSO references a hidden symbol which may be
2224         satisfied by a versioned symbol in another DSO.
2225         (elf_link_output_extsym): Check versioned definition for hidden
2226         symbol referenced by a DSO.
2227
2228 2003-05-07  Nick Clifton  <nickc@redhat.com>
2229
2230         * elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
2231         R_XSTORMY16_16 reloc to ignore overflows.
2232
2233 2003-05-06  Alexandre Oliva  <aoliva@redhat.com>
2234
2235         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
2236         error message for mixing different-endian files.  Check for ABI
2237         compatibility of input files with the selected emulation.
2238
2239 2003-05-05  Alan Modra  <amodra@bigpond.net.au>
2240
2241         * elf32-i386.c (allocate_dynrelocs): For undef weak syms with
2242         non-default visibility, a) don't make them dynamic, b) discard
2243         space for dynamic relocs.
2244         * elf64-x86-64.c (allocate_dynrelocs): Likewise.
2245
2246         * elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
2247         non-default visibility, a) don't allocate plt entries, b) don't
2248         allocate .got relocs, c) discard dyn rel space,
2249         (ppc_elf_relocate_section): d) don't generate .got relocs, e)
2250         don't generate dynamic relocs.
2251         * elf64-ppc.c (allocate_dynrelocs): As above.
2252         (ppc64_elf_relocate_section): As above.
2253
2254 2003-05-05  Andreas Jaeger  <aj@suse.de>
2255
2256         * elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
2257         relocation entries for weak undefined symbols with non-default
2258         visibility.
2259         (elf64_x86_64_relocate_section): Initialize the GOT entries and
2260         skip R_386_32/R_386_PC32 for weak undefined symbols with
2261         non-default visibility.
2262
2263 2003-05-04  H.J. Lu <hjl@gnu.org>
2264
2265         * elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
2266         relocation entries for weak undefined symbols with non-default
2267         visibility.
2268         (elf_i386_relocate_section): Initialize the GOT entries and
2269         skip R_386_32/R_386_PC32 for weak undefined symbols with
2270         non-default visibility.
2271
2272         * elfxx-ia64.c (allocate_fptr): Don't allocate function
2273         descriptors for weak undefined symbols with non-default
2274         visibility.
2275         (allocate_dynrel_entries): Don't allocate relocation entries
2276         for symbols resolved to 0.
2277         (set_got_entry): Don't install dynamic relocation for weak
2278         undefined symbols with non-default visibility.
2279         (set_pltoff_entry): Likewise.
2280
2281         * elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
2282         with non-default visibility.
2283         (elf_link_output_extsym): Don't make weak undefined symbols
2284         with non-default visibility dynamic.
2285
2286 2003-05-04  H.J. Lu <hjl@gnu.org>
2287
2288         * elflink.h (elf_merge_symbol): Correctly handle weak definiton.
2289
2290 2003-05-04  H.J. Lu <hjl@gnu.org>
2291
2292         * elflink.h (elf_merge_symbol): Don't record a hidden/internal
2293         symbol dynamic. Check indirection when removing the old
2294         definition for symbols with non-default visibility.
2295         (elf_add_default_symbol): Skip when told by elf_merge_symbol.
2296
2297 2003-05-02  Nick Clifton  <nickc@redhat.com>
2298
2299         * elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
2300         R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
2301         unsigned overflow.
2302
2303 2003-05-02  Andreas Jaeger  <aj@suse.de>
2304
2305         * elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
2306         ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
2307         (ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
2308         (elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
2309         ELF_LINK_NON_GOT_REF from weakdef.
2310
2311 2003-05-02  Charles Lepple <clepple@ghz.cc>
2312             Nick Clifton <nickc@redhat.com>
2313
2314         * acinclude.m4: Fix name of --enable-install-libbfd switch.
2315         * aclocal.m4: Regenerate.
2316         * configure: Regenerate.
2317         * Makefile.in: Regenerate.
2318
2319 2003-05-01  Alan Modra  <amodra@bigpond.net.au>
2320
2321         * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
2322         weakdef sym has already been adjusted before treating it specially.
2323         * elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
2324         ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
2325         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
2326         (ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
2327
2328 2003-04-28  H.J. Lu <hjl@gnu.org>
2329
2330         * elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
2331         the relax finalize pass.
2332
2333         * section.c (struct sec): Add need_finalize_relax and remove
2334         flag11.
2335         (STD_SECTION): Update struct sec initializer.
2336         * bfd-in2.h: Regenerated.
2337
2338 2003-04-28  H.J. Lu <hjl@gnu.org>
2339
2340         * elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
2341         to copy any information related to dynamic linking when we flip
2342         the indirection.
2343
2344 2003-04-27  H.J. Lu <hjl@gnu.org>
2345
2346         * elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
2347         (ELF_LINK_DYNAMIC_WEAK): New.
2348
2349         * elflink.h (elf_merge_symbol): Add one argument to indicate if
2350         a symbol should be skipped. Ignore definitions in dynamic
2351         objects for symbols with non-default visibility.
2352         (elf_add_default_symbol): Adjusted.
2353         (elf_link_add_object_symbols): Check if a symbol should be
2354         skipped. Don't merge the visibility field with the one from
2355         a dynamic object.
2356         (elf_link_check_versioned_symbol): Use undef_bfd.
2357         (elf_link_output_extsym): Warn if a forced local symbol is
2358         referenced from dynamic objects. Make non-weak undefined symbol
2359         with non-default visibility a fatal error.
2360
2361 2003-04-27  Daniel Jacobowitz  <drow@mvista.com>
2362
2363         * configure.in: Bump version on HEAD to 2.14.90.
2364         * configure: Regenerated.
2365
2366 2003-04-26  Stephane Carrez  <stcarrez@nerim.fr>
2367
2368         PR savannah/3331:
2369         * elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
2370         when we couldn't relax something.
2371
2372 2003-04-25  Alan Modra  <amodra@bigpond.net.au>
2373
2374         * elflink.h (elf_merge_symbol): When we find a regular definition
2375         for an indirect symbol, flip the indirection so that the old
2376         direct symbol now points to the new definition.
2377
2378 2003-04-24  Roland McGrath  <roland@redhat.com>
2379
2380         * elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
2381
2382 2003-04-24  Alan Modra  <amodra@bigpond.net.au>
2383
2384         * elf32-ppc.c: Formatting and comment fixes.
2385         (ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
2386         (ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
2387
2388 2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
2389
2390         * archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
2391         * bfd-in2.h: Rebuilt.
2392         * coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
2393         * coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
2394         & H8300SNMAGIC.
2395         (coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
2396         * cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
2397         (h8300sn_info_struct, h8300hn_info_struct): New.
2398         * elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
2399         (elf32_h8_final_write_processing): Likewise.
2400
2401 2003-04-23  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2402
2403         * elf32-sh.c (tpoff): New.
2404         (struct elf_sh_dyn_relocs): Remove tls_tpoff32.
2405         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
2406         (allocate_dynrelocs): Don't make unnecessary dynamic TLS
2407         relocations.  Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
2408         (sh_elf_relocate_section): Likewise. Remove unnecessary tests.
2409         (dtpoff_base): Fix wrong indentation.
2410         (sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
2411         relocations.  Don't set tls_tpoff32 flag.  Don't make unnecessary
2412         R_SH_TLS_TPOFF32 relocations.
2413
2414 2003-04-23  J"orn Rennecke <joern.rennecke@superh.com>
2415
2416         * archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
2417         * cpu-sh.c: Likewise.
2418         * elf32-sh.c: Likewise.
2419         * reloc.c (bfd_reloc_code_real): Likewise.
2420         * elf32-sh64-com.c: Change comment to refer to SuperH.
2421         * elf32-sh64.c: Likewise.
2422         * elf64-sh64.c: Likewise.
2423         * bfd-in2.h (enum bfd_architecture): Regenerate.
2424
2425 2003-04-23  Alan Modra  <amodra@bigpond.net.au>
2426
2427         From Julien LEMOINE <speedblue@debian.org>
2428         * elf32-i386.c (elf_i386_info_to_howto): Delete.
2429         (elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
2430
2431 2003-04-22  Kazuhiro Inaoka  <inaoka.kazuhiro@renesas.com>
2432
2433         * archures.c: Replace references to Mitsubishi M32R with references
2434         to Renesas M32R.
2435         * relocs.c: Likewise.
2436         * bfd-in2.h: Regenerate.
2437
2438 2003-04-21  Richard Henderson  <rth@redhat.com>
2439
2440         * elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
2441         executable when a symbol is defined both regular and dynamic.
2442
2443 2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
2444
2445         * Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
2446         (elf32-m68hc1x.lo): Update dependencies
2447         * configure.in: Add elf32-m68hc1x.lo.
2448         * configure: Rebuild.
2449         * Makefile.in: Rebuild.
2450
2451 2003-04-21  Stephane Carrez  <stcarrez@nerim.fr>
2452
2453         * elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
2454         (m68hc11_elf_hash_table_create): New function.
2455         (elf32_m68hc11_link_hash_table_free): New function.
2456         (stub_hash_newfunc): New function.
2457         (m68hc11_add_stub): New function.
2458         (elf32_m68hc11_add_symbol_hook): New function.
2459         (elf32_m68hc11_setup_section_lists): New function.
2460         (elf32_m68hc11_next_input_section): New function.
2461         (elf32_m68hc11_size_stubs): New function.
2462         (elf32_m68hc11_build_stubs): New function.
2463         (m68hc11_get_relocation_value): New function.
2464         (elf32_m68hc11_relocate_section): Call the above to redirect
2465         some relocations to the trampoline code.
2466         (m68hc11_elf_export_one_stub): New function.
2467         (m68hc11_elf_set_symbol): New function.
2468         (elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
2469         (m68hc11_elf_get_bank_parameters): Get parameters only when the info
2470         is not yet initialized.
2471
2472         * elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
2473         (elf32_m68hc11_stub_hash_entry): New struct.
2474         (m68hc11_page_info): Add trampoline handler address.
2475         (m68hc11_elf_link_hash_table): Add stubs generation members.
2476         (elf32_m68hc11_add_symbol_hook): Declare.
2477         (elf32_m68hc11_setup_section_lists): Declare.
2478         (elf32_m68hc11_size_stubs): Declare.
2479         (elf32_m68hc11_build_stubs): Declare.
2480
2481         * elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
2482         (elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
2483         (elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
2484         (_bfd_m68hc11_elf_set_private_flags): Ditto.
2485         (_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
2486         (_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
2487         (bfd_elf32_bfd_link_hash_table_create): Define.
2488         (elf_backend_add_symbol_hook): Define.
2489         (m68hc11_elf_bfd_link_hash_table_create): New function.
2490         (m68hc11_elf_build_one_stub): New function.
2491         (m68hc11_elf_size_one_stub): New function.
2492         (m68hc11_elf_bfd_link_hash_table_create): Install the above.
2493         (bfd_elf32_bfd_link_hash_table_create): Define.
2494
2495         * elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
2496         (m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
2497         (m68hc12_phys_addr): Ditto.
2498         (m68hc12_phys_page): Ditto.
2499         (m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
2500         (elf32_m68hc11_gc_mark_hook): Likewise.
2501         (elf32_m68hc11_gc_sweep_hook): Likewise.
2502         (elf32_m68hc11_check_relocs): Likewise.
2503         (elf32_m68hc11_relocate_section): Likewise.
2504         (_bfd_m68hc12_elf_set_private_flags): Likewise.
2505         (_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
2506         (_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
2507         (m68hc12_elf_build_one_stub): New function.
2508         (m68hc12_elf_size_one_stub): New function.
2509         (m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
2510         (elf_backend_add_symbol_hook): Define.
2511         (elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
2512
2513 2003-04-18  Nick Clifton  <nickc@redhat.com>
2514
2515         * format.c (bfd_check_format_matches): Only check associated
2516         vector if the matching_vector has been created.
2517
2518 2003-04-15  Alexandre Oliva  <aoliva@redhat.com>
2519
2520         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
2521         2003-04-09's change.
2522
2523 2003-04-15  Brian Ford  <ford@vss.fsi.com>
2524
2525         * peicode.h (coff_swap_scnhdr_in): If a section holds
2526         uninitialized data and is from an object file or from an
2527         executable image that has not initialized the s_size field, or if
2528         the physical size is padded, use the virtual size (stored in
2529         s_paddr) instead.
2530
2531 2003-04-15  H.J. Lu <hjl@gnu.org>
2532
2533         * elflink.h (elf_link_add_object_symbols): Properly report
2534         filename for alignment reduction.
2535
2536 2003-04-15  Rohit Kumar Srivastava <rohits@kpitcummins.com>
2537
2538         * archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
2539         * reloc.c: Likewise.
2540         * coff-h8300.c: Likewise.
2541         * coff-h8500.c: Likewise.
2542         * coff-sh.c: Likewise.
2543         * cpu-h8300.c: Likewise.
2544         * cpu-sh.c: Likewise.
2545         * elf32-h8300.c: Likewise.
2546         * elf32-sh.c: Likewise.
2547         * elf32-sh64-com.c: Likewise.
2548         * elf32-sh64.c: Likewise.
2549         * elf64-sh64.c: Likewise.
2550         * bfd-in2.h: Regenerate.
2551
2552 2003-04-14  H.J. Lu <hjl@gnu.org>
2553
2554         * elflink.h (elf_link_add_object_symbols): Maintain maximum
2555         alignment for common symbols. Warn reducing alignment for
2556         common symbols. Report old filename when symbol size changes.
2557
2558 2003-04-12  Alexandre Oliva  <aoliva@redhat.com>
2559
2560         * elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
2561         occurrences of the same test changed in the previous patch.
2562         Optimize.
2563
2564 2003-04-11  Alexandre Oliva  <aoliva@redhat.com>
2565
2566         * elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
2567         (mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
2568         GOT_DISP/addend only if the symbol got a global GOT entry.
2569
2570 2003-04-10  Alexandre Oliva  <aoliva@redhat.com>
2571
2572         * elfxx-mips.c (mips_elf_calculate_relocation): Decay
2573         GOT_PAGE/GOT_OFST referencing overridable symbol to
2574         GOT_DISP/addend.
2575         (_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
2576         global symbol as GOT_DISP.
2577
2578 2003-04-10  Bob Wilson  <bob.wilson@acm.org>
2579
2580         * elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
2581         next relocation on an undefined symbol.
2582
2583 2003-04-09  Richard Henderson  <rth@redhat.com>
2584
2585         * elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
2586         Ignore relocations against r_symndx == 0.
2587
2588 2003-04-09  H.J. Lu <hjl@gnu.org>
2589
2590         * elf64-alpha.c (elf64_alpha_relocate_section): Don't return
2591         FALSE for undefined symbols.
2592         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2593
2594 2003-04-09  Alexandre Oliva  <aoliva@redhat.com>
2595
2596         * dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
2597         and IRIX-specific shift-to-64-bit 4-byte lengths before following
2598         addr_size.
2599
2600 2003-04-08  Alexandre Oliva  <aoliva@redhat.com>
2601
2602         * elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
2603         pointer size from ABI, not arch_bits_per_address.
2604
2605 2003-04-07  Kevin Buettner  <kevinb@redhat.com>
2606
2607         * elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
2608         constants for n32 ABI.
2609
2610 2003-04-06  Andrew Cagney  <cagney@redhat.com>
2611
2612         * simple.c (bfd_simple_get_relocated_section_contents): Disable
2613         free that leads to GDB vs BFD memory corruption.
2614
2615 2003-04-04  Stephane Carrez  <stcarrez@nerim.fr>
2616
2617         * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
2618         symbols that mark the end of the section.
2619         (m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
2620         converting to a relative branch so that the offset is computed after
2621         the relaxation; also relocate a jsr into a bsr if possible but don't
2622         relax them if they are to a far symbol as we need to call the
2623         trampoline code.
2624         (elf_m68hc11_howto_table): Set pcrel_offset to true.
2625
2626 2003-04-04  Svein E. Seldal  <Svein.Seldal@solidas.com>
2627
2628         * archures.c: Namespace cleanup. Rename bfd_mach_c3x to
2629         bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
2630         * bfd-in2.h: Regenerate
2631         * coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
2632         * cpu-tic4x.c: Ditto
2633
2634 2003-04-03  Nick Clifton  <nickc@redhat.com>
2635
2636         * peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
2637         differently for object files and executables.
2638         * peicode.h (coff_swap_scnhdr_in): Only set the s_size field
2639         for object files or for executables who have not already
2640         initialised the field.
2641         * libpei.h (bfd_pe_executable_p): New macro.  Return true if
2642         the PE format bfd is an executable.
2643
2644 2003-04-03  Alan Modra  <amodra@bigpond.net.au>
2645
2646         * elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
2647         here as it's too early to reliably determine locality.
2648         (ppc_elf_gc_sweep_hook): Likewise.
2649         (SYMBOL_REFERENCES_LOCAL): Expand comment.
2650
2651 2003-04-02  Bob Wilson  <bob.wilson@acm.org>
2652
2653         * xtensa-modules.c: Remove comment indicating that this is a
2654         generated file.
2655
2656 2003-04-02  Alan Modra  <amodra@bigpond.net.au>
2657
2658         * elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
2659
2660 2003-04-01  Bob Wilson  <bob.wilson@acm.org>
2661
2662         * Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
2663         (ALL_MACHINES_CFILES): Add cpu-xtensa.c.
2664         (BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
2665         xtensa-modules.lo.
2666         (BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
2667         xtensa-modules.c.
2668         (cpu-xtensa.lo): New target.
2669         (elf32-xtensa.lo): Likewise.
2670         (xtensa-isa.lo): Likewise.
2671         (xtensa-modules.lo): Likewise.
2672         * Makefile.in: Regenerate.
2673         * archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
2674         (bfd_archures_list): Add bfd_xtensa_arch.
2675         * config.bfd: Handle xtensa-*-*.
2676         * configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
2677         * configure: Regenerate.
2678         * reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
2679         PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
2680         * targets.c (bfd_elf32_xtensa_be_vec): Declare.
2681         (bfd_elf32_xtensa_le_vec): Likewise.
2682         (bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
2683         * cpu-xtensa.c: New file.
2684         * elf32-xtensa.c: Likewise.
2685         * xtensa-isa.c: Likewise.
2686         * xtensa-modules.c: Likewise.
2687         * libbfd.h: Regenerate.
2688         * bfd-in2.h: Likewise.
2689
2690 2003-04-01  Nick Clifton  <nickc@redhat.com>
2691
2692         * archures.c (bfd_mach_arm_unknown): Define.
2693         * bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
2694         bfd_arm_get_mach_from_notes): Prototype.
2695         * bfd-in2.h: Regenerate.
2696         * coff-arm.c (coff_arm_merge_private_bfd_data): Call
2697         bfd_arm_merge_machines.
2698         (coff_arm_final_link_postscript): Call bfd_arm_update_notes.
2699         * coffcode.h (coff_set_arch_mach_hook): Call
2700         bfd_arm_get_mach_from_notes.
2701         * coffgen.c (coff_real_object_p): Revert previous delta.
2702         * cpu_arm.c (arm_check_note): New function.  Examine a note in a
2703         .note section.
2704         (bfd_arm_merge_machines): New function: Handle the merging of ARM
2705         binaries compiled for different architectures..
2706         (bfd_arm_update_notes): New function: Update an ARM note section.
2707         (bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
2708         number from an ARM note section.
2709         * elf32-arm.h (elf32_arm_object_p): Use
2710         bfd_arm_get_mach_from_notes.
2711         (elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
2712         (elf32_arm_final_write_processing): Use bfd_arm_update_notes.
2713
2714 2003-04-01  Ben Elliston  <bje@wasabisystems.com>
2715
2716         * dwarf2.c (read_attribute_value): Correct typo in comment.
2717
2718 2003-04-01  Nick Clifton  <nickc@redhat.com>
2719
2720         * dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
2721         instead of concat().
2722         (decode_line_info): Only free filename if it is not NULL.
2723         (add_line_info): Make a copy of the filename when storing it into
2724         the info structure.
2725
2726 2003-03-31  Andreas Schwab  <schwab@suse.de>
2727             Daniel Jacobowitz  <drow@mvista.com>
2728
2729         * simple.c (bfd_simple_get_relocated_section_contents): Add
2730         parameter symbol_table.  Optionally use it instead of the symbol
2731         table from the bfd.  Save and restore output offsets and output
2732         sections  around bfd_get_relocated_section_contents.  Fix a memory
2733         leak.
2734         (simple_save_output_info, simple_restore_output_info): New
2735         functions.
2736         * bfd-in2.h: Regenerate.
2737         * dwarf2.c (read_abbrevs): Use
2738         bfd_simple_get_relocated_section_contents instead of
2739         bfd_get_section_contents.
2740         (decode_line_info): Likewise.
2741         (_bfd_dwarf2_find_nearest_line): Likewise.  Don't call
2742         find_rela_addend.
2743         (find_rela_addend): Remove.
2744         * elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
2745         debugging sections.
2746         (elfNN_ia64_hash_table_create): Create the hash table with malloc,
2747         not bfd_zalloc.
2748
2749 2003-03-31  David Heine  <dlheine@suif.stanford.edu>
2750
2751         * aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
2752         bfd_alloc.
2753         * dwarf2.c (concat_filename): Always allocate space for the
2754         returned filename.
2755         (decode_line_info): Free the allocated filename returned by
2756         concat_filename.
2757         * elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
2758         * elf.c (copy_private_bfd_data): Likewise.
2759         (_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
2760         * elflink.h (elf_link_sort_relocs): Fix memory leak.
2761         * format.c (bfd_check_format_matches): Likewise.
2762         * linker.c (bfd_generic_final_link): Likewise.
2763         * opncls.c (find_separate_debug_info): Likewise.
2764         * simple.c (bfd_simple_get_relocated_section_contents): Likewise.
2765
2766 2003-03-28  H.J. Lu <hjl@gnu.org>
2767
2768         * elflink.h (elf_link_add_object_symbols): Correctly combine
2769         visibilities.
2770
2771 2003-03-27  Jakub Jelinek  <jakub@redhat.com>
2772
2773         * elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
2774         to -1 before recomputing got offsets.
2775
2776 2003-03-26  Andreas Schwab  <schwab@suse.de>
2777
2778         * elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
2779         (elf_m68k_relocate_section): Use it to correctly handle symbols
2780         forced to be local.
2781         (elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
2782         entries for symbols that are forced to be local.
2783
2784 2003-03-25  Alexandre Oliva  <aoliva@redhat.com>
2785
2786         * elfxx-mips.c (_bfd_mips_relax_section): New function.
2787         * elfxx-mips.h (_bfd_mips_relax_section): Declare.
2788         * elfn32-mips.c, elf64-mips.c: Use it.
2789
2790 2003-03-25  Stan Cox   <scox@redhat.com>
2791             Nick Clifton  <nickc@redhat.com>
2792
2793         Contribute support for Intel's iWMMXt chip - an ARM variant:
2794
2795         * archures.c: Add bfd_mach_arm_iWMMXt.
2796         * reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
2797         * bfd-in2.h: Regenerate.
2798         * libbfd.h: Regenerate.
2799         * coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
2800         object files to be linked with XScale ones.
2801         (coff_arm_final_link_postscript): Update note section.
2802         * coffcode.h (coff_set_arch_mach_hook): Handle note section.
2803         * coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
2804         after identifying a coff binary.
2805         * cpu-arm.c (processors): Add iWMMXt.
2806         (arch_inf): Likewise.
2807         * elf32-arm.h (arm_object_p): Handle note section.
2808         (elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
2809         be linked with XScale ones.
2810         (elf32_arm_section_flags): New function: Set flags on note section.
2811         (elf32_arm_final_write_processing): Handle note section.
2812
2813 2003-03-21  DJ Delorie  <dj@redhat.com>
2814
2815         * elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
2816         _bfd_elf_rela_local_sym.
2817
2818 2003-03-20  H.J. Lu <hjl@gnu.org>
2819
2820         * elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
2821         non-ELF outputs.
2822
2823 2003-03-20  Nick Clifton  <nickc@redhat.com>
2824
2825         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
2826         $idata5 in case bfd_coff_final_link is not called.
2827
2828 2003-03-19  Jakub Jelinek  <jakub@redhat.com>
2829
2830         * elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
2831         field.
2832         (canon_reloc_count): Define.
2833         (sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
2834         sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
2835         reloc_count.
2836         (sparc64_elf_canonicalize_reloc): New routine.
2837         (bfd_elf64_canonicalize_reloc): Define.
2838
2839 2003-03-18  Jakub Jelinek  <jakub@redhat.com>
2840
2841         * elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
2842         againt mergeable sections.  Take r_addend into account when caching
2843         trampolines.
2844
2845 2003-03-18  Richard Henderson  <rth@redhat.com>
2846
2847         * elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
2848         local symbols that have no dyninfo.
2849
2850 2003-03-14  Gene Smith  <gene.smith@siemens.com>
2851
2852         * ieee.c (ieee_write_expression): Handle the case where symbol is
2853         NULL.
2854         General formatting improvements.
2855
2856 2003-03-13  Nick Clifton  <nickc@redhat.com>
2857
2858         * configure.in (LINGUAS): Add zh_CN.
2859         * configure: Regenerate.
2860         * po/zh_CN.po: New file.
2861
2862 2003-03-13  Elias Athanasopoulos  <elathan@phys.uoa.gr>
2863
2864         * aout-cris.c (BYTES_IN_WORD): Don't define.
2865         aout-encap.c: Likewise.
2866         aout-ns32k.c: Likewise.
2867         aout-tic30.c: Likewise.
2868         hp300bsd.c: Likewise.
2869         i386aout.c: Likewise.
2870         i386dynix.c: Likewise.
2871         i386linux.c: Likewise.
2872         i386lynx.c: Likewise.
2873         i386mach3.c: Likewise.
2874         m68k4knetbsd.c: Likewise.
2875         m68klinux.c: Likewise.
2876         m68klynx.c: Likewise.
2877         m68knetbsd.c: Likewise.
2878         m88kmach3.c: Likewise.
2879         mipsbsd.c: Likewise.
2880         newsos3.c: Likewise.
2881         sparclinux.c: Likewise.
2882         sparclynx.c: Likewise.
2883         sparcnetbsd.c: Likewise.
2884         vaxbsd.c: Likewise. Fix comment formatting.
2885
2886 2003-03-12  Alexandre Oliva  <aoliva@redhat.com>
2887
2888         * Reverted 2003-03-02's patch.
2889
2890         * elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
2891         overridable.
2892         * elf64-mips.c (mips_elf64_canonicalize_reloc,
2893         mips_elf64_get_dynamic_reloc_upper_bound,
2894         mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
2895         (bfd_elf64_get_canonicalize_reloc,
2896         bfd_elf64_get_dynamic_reloc_upper_bound,
2897         bfd_elf64_canonicalize_dynamic_reloc): Define.
2898         (mips_elf64_slurp_reloc_table): Support dynamic.
2899         (mips_elf64_slurp_one_reloc_table): Adjust.
2900
2901 2003-03-12  Nick Clifton  <nickc@redhat.com>
2902
2903         * xsym.c (bfd_sym_fetch_type_information_table_entry): Change
2904         'index' to 'offset' in test for zero value.
2905
2906 2003-03-11  Alexandre Oliva  <aoliva@redhat.com>
2907
2908         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
2909         dynamic relocations pointing to local or section symbols, use the
2910         NULL symbol instead.  Document the choice to not emit an
2911         additional R_MIPS_64 relocation.
2912
2913 2003-03-11  Alan Modra  <amodra@bigpond.net.au>
2914
2915         * elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
2916         zero index dynamic tls relocs generated for the GOT.  Tidy code.
2917         Set "relocation" to 1 on DTPMOD32 relocs.  Optimize HA adjustment.
2918         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2919
2920 2003-03-07  Alan Modra  <amodra@bigpond.net.au>
2921
2922         * elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
2923         a tls_get_addr call.
2924
2925         * elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
2926         (ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
2927         ELF_LINK_NON_GOT_REF from weakdef.
2928         * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
2929         (ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
2930         ELF_LINK_NON_GOT_REF from weakdef.
2931         * elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one.  Use throughout.
2932         (elf_i386_adjust_dynamic_symbol): For weak symbols, copy
2933         ELF_LINK_NON_GOT_REF from weakdef.
2934
2935 2003-03-06  Jakub Jelinek <jakub@redhat.com>
2936         Andrew Haley  <aph@redhat.com>
2937
2938         * elflink.h (elf_bfd_discard_info): Don't process eh frames if
2939         output is relocateable.
2940
2941 2003-03-06  Steven Konopa <skonopa@kgo.csc.com>
2942
2943         * som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
2944         R_COMMENT.
2945
2946 2003-03-06  Alan Modra  <amodra@bigpond.net.au>
2947
2948         * elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
2949         error messages.
2950         (ELIMINATE_COPY_RELOCS): Define to zero.
2951         (ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
2952         TLSLD relocs.  Report reloc types on a number of errors.  Optimize
2953         LOCAL24PC check for non-local syms.  Don't capitalize error messages.
2954         * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
2955         (ppc64_elf_relocate_section): Don't deref htab->tls_sec when
2956         calculating TLSLD relocs.  Report reloc types on a number of errors.
2957         Don't capitalize error messages.
2958
2959 2003-03-03  H.J. Lu <hjl@gnu.org>
2960
2961         * elfxx-ia64.c (USE_BRL): Removed.
2962         (oor_ip): Removed.
2963
2964 2003-03-03  J"orn Rennecke <joern.rennecke@superh.com>
2965
2966         * elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
2967         relocation (no special function), and make it non-partial_inplace.
2968         (sh_elf_relax_section): When creating a bsr, use a consistent value
2969         no matter if the symbol is extern or not;  set addend to -4.
2970         Don't swap load / non-load instructions for SH4.
2971         (sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
2972         rather than if the symbol is external to determine if adjusting the
2973         offset makes sense.  Adjust the addend too if appropriate.
2974         (sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
2975         relocation.
2976
2977 2003-03-03  Nick Clifton  <nickc@redhat.com>
2978
2979         * po/da.po: Installed latest translation.
2980
2981 2003-03-02  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2982
2983         * elf32-mips.c (elf_mips_howto_table_rel): Change definition of
2984         R_MIPS_PC16 to rightshift 2.
2985         (elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
2986         (bfd_elf32_bfd_reloc_type_lookup): Support
2987         BFD_RELOC_MIPSEMB_16_PCREL_S2.
2988         * elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
2989         R_MIPS_PC16 to rightshift 2.
2990         (mips_elf64_howto_table_rela): Likewise.
2991         (mips_reloc_map): Map to rightshifted BFD reloc.
2992         * elfn32-mips.c: The same as in elf64-mips.c.
2993         * elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
2994         (mips_elf_calculate_relocation): Handle rightshifted addends for
2995         R_MIPS_PC16.
2996         * reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
2997         MIPS Embedded PIC. Remove superfluous empty COMMENT.
2998         * libbfd.h: Regenerate.
2999         * bfd-in2.h: Regenerate.
3000
3001 2003-02-28  Richard Henderson  <rth@redhat.com>
3002
3003         * elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
3004         for ltoff22x relaxation.
3005
3006 2003-03-01  Alan Modra  <amodra@bigpond.net.au>
3007
3008         * bfd-in.h (_bfd): Don't define.
3009         * bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
3010         * syms.c: Likewise.
3011         * bfd-in2.h: Regenerate.
3012
3013 2003-02-27  Richard Henderson  <rth@redhat.com>
3014
3015         * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
3016         (elfNN_ia64_check_relocs): Set it.
3017         (allocate_global_data_got): Check it.
3018         (allocate_local_got): Likewise.
3019         (allocate_dynrel_entries): Likewise.
3020         (elfNN_ia64_relax_ldxmov): New.
3021         (elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
3022         (elfNN_ia64_choose_gp): Split out from ...
3023         (elfNN_ia64_final_link): ... here.
3024
3025 2003-02-27  Andrew Cagney  <cagney@redhat.com>
3026
3027         * bfd.c (struct bfd): Rename "struct _bfd".
3028         * bfd-in.h: Update copyright.
3029         (struct bfd): Rename "struct _bfd".
3030         (_bfd): Define for backward compatibility.
3031         * bfd-in2.h: Regenerate.
3032
3033 2003-02-25  Alan Modra  <amodra@bigpond.net.au>
3034
3035         * elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
3036         and rel_hdr2 when initially counting input relocs rather than after
3037         creating output reloc sections.
3038         (elf_link_read_relocs_from_section): Don't abort with wrong reloc
3039         sizes.
3040
3041         * Makefile.am: Run "make dep-am".
3042         * Makefile.in: Regenerate.
3043
3044 2003-02-24  Kris Warkentin  <kewarken@qnx.com>
3045
3046         * elf.c (elfcore_read_notes): Add check for QNX style core file.
3047         (elfcore_grog_nto_note): New function.
3048         (elfcore_grog_nto_gregs): New function.
3049         (elfcore_grog_nto_status): New function.
3050
3051 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
3052
3053         * elflink.c (_bfd_elf_create_got_section): Check existing .got
3054         section flags before concluding that we've already been called.
3055         Don't use register keyword.
3056         (_bfd_elf_create_dynamic_sections): Don't use register keyword.
3057         (_bfd_elf_create_linker_section): Formatting.
3058
3059 2003-02-20  jmc  <jmc@prioris.mini.pw.edu.pl>
3060
3061         * coff-h8300.c: Fix typo: intial -> initial.
3062         * coff-ppc.c: Likewise.
3063
3064 2003-02-20  Alan Modra  <amodra@bigpond.net.au>
3065
3066         * elf32-ppc.c: Formatting.
3067         (allocate_dynrelocs): LD and GD relocs against the same sym need
3068         separate GOT entries.
3069         (ppc_elf_relocate_section): Correct GOT handling for multiple GOT
3070         entries per symbol.
3071
3072 2003-02-19  Alan Modra  <amodra@bigpond.net.au>
3073
3074         * elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
3075         removal.  Localize vars.  Remove unnecessary dynobj test.
3076         * elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
3077         of INFO.
3078         (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3079         and optimize.
3080         (elf_i386_relocate_section): Likewise.
3081         (elf_i386_gc_sweep_hook): Simplify dyn reloc removal.  Localize vars.
3082         * elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
3083         * elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
3084         * elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
3085         * elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
3086         * elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise.  Remove
3087         local_dynrel for section too.  Don't touch HIPLT22, LOPLT10, PCPLT32
3088         or PCPLT10 relocs.  Don't subtract twice on PLT32 relocs.
3089         Formatting.
3090
3091         * elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
3092         (ppc64_elf_check_relocs): Use it.  Correct comment.  Move SEC_ALLOC
3093         test.
3094         (ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
3095         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3096         (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3097         and optimize.  Use ELIMINATE_COPY_RELOCS.
3098         (ppc64_elf_relocate_section): Likewise.
3099
3100         * elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
3101         (ppc_elf_copy_indirect_symbol): Copy pc_count field.
3102         (ELIMINATE_COPY_RELOCS): Define.
3103         (ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
3104         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
3105         (MUST_BE_DYN_RELOC): Define.
3106         (allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
3107         and optimize.  Trim dyn_relocs.
3108         (ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
3109         not be used.  Do generate dyn_relocs for copy reloc avoidance.  Keep
3110         track of pc_rel dyn relocs.
3111         (ppc_elf_relocate_section): Remove "will_become_local".  Adjust
3112         WILL_CALL_FINISH_DYNAMIC_SYMBOL use.  Trim dyn relocs as per
3113         allocate_dynrelocs.  Don't recalculate "sec".
3114
3115 2003-02-18  Alan Modra  <amodra@bigpond.net.au>
3116
3117         * elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
3118         * elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
3119         on invalid LD relocs.
3120         (allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
3121         (ppc64_elf_relocate_section): Unify new handling of LD relocs and
3122         tlsld_got entry.  Use IS_PPC64_TLS_RELOC.
3123
3124         * elf32-ppc.h: New file.
3125         * elf32-ppc.c: Include elf32-ppc.h.
3126         (NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
3127         (struct ppc_elf_link_hash_entry): Rename "root" to "elf".  Adjust uses.
3128         Add "tls_mask" field.
3129         (TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
3130         (struct ppc_elf_link_hash_table): Rename "root" to "elf".  Adjust uses.
3131         Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
3132         sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
3133         Make use of htab shortcuts throughout file.
3134         (ppc_elf_link_hash_newfunc): Init tls_mask field.
3135         (ppc_elf_link_hash_table_create): Init new fields.
3136         (ppc_elf_copy_indirect_symbol): Copy tls_mask.
3137         (ppc_elf_howto_raw): Add tls relocs.
3138         (ppc_elf_reloc_type_lookup): Handle them.
3139         (ppc_elf_unhandled_reloc): New function.
3140         (ppc_elf_create_got): Stash got section pointer in hash table,
3141         return status.  Make .rela.got too.
3142         (ppc_elf_create_dynamic_sections): Stash section pointers in htab.
3143         (ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
3144         NON_GOT_REF set.  Don't allocate space in .plt here..
3145         (allocate_dynrelocs): ..do so here instead, properly ref-counting and
3146         not allocating plt entries unnecessarily.  Allocate got entries here.
3147         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
3148         (ppc_elf_size_dynamic_sections): Allocate local got entries.  Pass
3149         "info" during allocate_dynrelocs hash traversal.  Use htab section
3150         shortcuts rather than searching for named sections.  Get rid of
3151         "plt" and "strip" booleans.
3152         (update_local_sym_info, bad_shared_reloc): New functions.
3153         (ppc_elf_check_relocs): Handle TLS relocs.  Move .rela.got creation to
3154         ppc_elf_create_got.  Don't mark got or plt reloc syms dynamic, do so
3155         in allocate_dynreloc.  Use update_local_sym_info and bad_shared_reloc.
3156         Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
3157         R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
3158         in shared libs.  R_PPC_PLTREL32 is a plt reloc too.  Refcount all
3159         relocs that might use a plt entry.  Set NON_GOT_REF too.
3160         Enumerate all do-nothing relocs.
3161         (ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs.  Handle
3162         tls relocs and all plt relocs.
3163         (ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
3164         (ppc_elf_finish_dynamic_symbol): Don't build got entries here.
3165         (ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
3166         shortcuts.
3167         (ppc_elf_relocate_section): Tidy.  Handle TLS relocs.  Use
3168         bfd_elf_local_sym_name.  Simplify unresolved reloc code.  Build got
3169         entries and got relocs here.  Warn on non-zero got reloc addend.
3170         Split out branch taken/not taken reloc code into a separate switch
3171         and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
3172         Split out HA reloc adjustments to separate switch statement.  Don't
3173         warn on reloc overflow if we've already warned about undefined.
3174         Don't rebuild sym name when reporting errors.  Report all possible
3175         errors from _bfd_final_link_relocate.
3176         (bfd_elf32_bfd_final_link): Don't define.
3177
3178 2003-02-18  Alan Modra  <amodra@bigpond.net.au>
3179
3180         * elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r".  Don't
3181         rebuild sym name when reporting errors.
3182
3183 2003-02-17  Nick Clifton  <nickc@redhat.com>
3184
3185         * elflink.h (elf_link_output_extsym): Only check
3186         allow_shlib_undefined for shared libraries.
3187         * elf32-i386.c (elf_i386_relocate_section): Remove bogus check
3188         of allow_shlib_undefined.
3189         * elf32-cris.c (cris_elf_relocate_section): Likewise.
3190         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3191         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3192         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3193         * elf32-s390.c (elf_s390_relocate_section): Likewise.
3194         * elf32-sh.c (sh_elf_relocate_section): Likewise.
3195         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3196         * elf32-vax.c (elf_vax_relocate_section): Likewise.
3197         * elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
3198         * elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
3199         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3200         * elf64-s390.c (elf_s390_relocate_section): Likewise.
3201         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3202         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3203         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
3204         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
3205
3206 2003-02-17  Nick Clifton  <nickc@redhat.com>
3207
3208         * elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
3209         address field to use in the comparison.
3210         (SEGMENT_OVERLAPS): Check that LMAs overlap as well.
3211
3212 2003-02-14  Bob Wilson  <bob.wilson@acm.org>
3213
3214         * elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
3215         backends when checking if the generic ELF target should be used.
3216
3217         * syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
3218         outside of functions, treat values as absolute addresses.
3219
3220         * bfd.c: Change embedded documentation to use consistent indentation
3221         and to split up long lines.  Change informal style of description
3222         for functions lacking real documentation.
3223         * coffcode.h: Break up long lines in embedded documentation.
3224         * format.c: Likewise.
3225         * targets.c: Likewise.
3226         * libcoff.h: Regenerate.
3227         * bfd-in2.h: Regenerate.
3228
3229 2003-02-14  Alan Modra  <amodra@bigpond.net.au>
3230
3231         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
3232         (ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
3233         (ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
3234         (allocate_dynrelocs): Don't treat undefined and undefweak specially.
3235         (ppc_size_one_stub): Fix warning, and tighten plt entry check.
3236         (group_sections): Don't share a stub section if stubs are for a large
3237         section.  Adjust comment.
3238         (ppc64_elf_size_stubs): Roughly double the size left for stubs if
3239         !stubs_always_before_branch.
3240         (ppc64_elf_relocate_section): Initialize tlsld GOT entry once.  Don't
3241         treat undefined and undefweak specially when processing dyn relocs.
3242
3243 2003-02-13  Jakub Jelinek  <jakub@redhat.com>
3244
3245         * elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
3246
3247 2003-02-13  Nick Clifton  <nickc@redhat.com>
3248
3249         * elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
3250         in computation of offset to insert into BL instruction.
3251
3252 2003-02-11  Uwe Stieber  <uwe@wwws.de>
3253
3254         * config.bfd: Add support for kaOS as cross build target system.
3255
3256 2003-02-11  Alan Modra  <amodra@bigpond.net.au>
3257
3258         * elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
3259         .__tls_get_addr too.
3260         (ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
3261
3262 2003-02-10  Kaz kojima  <kkojima@rr.iij4u.or.jp>
3263
3264         * elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
3265         (elf_sh_link_hash_entry): Remove tls_tpoff32 field.
3266         (sh_elf_link_hash_newfunc): Remove the initialization of
3267         tls_tpoff32 field.
3268         (allocate_dynrelocs): Keep dyn_relocs if it includes the entry
3269         for which tls_tpoff32 flag is set.
3270         (sh_elf_relocate_section): Covert to LE only if the dyn_relocs
3271         of the symbol includes the entry matched with the input_section
3272         and having tls_tpoff32 flag on.  When linking statically, set
3273         symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
3274         is defined in this executable.
3275         (sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
3276
3277 2003-02-10  Jakub Jelinek  <jakub@redhat.com>
3278
3279         * elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
3280         even if there is just non-empty .rela.plt.
3281
3282 2003-02-10  Nick Clifton  <nickc@redhat.com>
3283
3284         * archures.c (bfd_mach_arm_ep9312): Define.
3285         * bfd-in2.h: Regenerate.
3286         * cpu-arm.c (processors[]): Add ep9312.
3287         (bfd_arm_arch): Add ep9312.
3288         * elf32-arm.h (elf32_arm_merge_private_data): Update error
3289         messages and add test for Maverick floating point support.
3290         (elf32_arm_print_private_bfd_data): Handle
3291         EF_ARM_MAVERICK_FLOAT flag.
3292         (elf32_arm_object_p): New function.
3293         (elf_backend_object_p): Define.
3294
3295 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
3296
3297         * elf64-ppc.c: Rename assorted occurrences of tls_type and similar
3298         variables, structure fields or function params to tls_mask or
3299         similar to better reflect usage.
3300         (struct got_entry): Comment.
3301         (struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
3302         (get_tls_mask): Rename from get_tls_type.
3303
3304 2003-02-09  Alan Modra  <amodra@bigpond.net.au>
3305
3306         * elf64-ppc.c (TLS_GD_LD): Don't define..
3307         (TLS_GD): ..define this instead and update all uses.
3308         (TLS_TPRELGD): Define.
3309         (ppc64_elf_link_hash_table_create): Tweak initialization of
3310         init_refcount and init_offset.
3311         (ppc64_elf_check_relocs): Add one extra element to t_symndx array.
3312         Mark second slot of GD or LD toc entries.
3313         (get_tls_type): Return an int.  Distinguish toc GD and LD entries
3314         from other tls types.
3315         (ppc64_elf_tls_setup): New function, split out from..
3316         (ppc64_elf_tls_optimize): ..here.  Don't optimize when symbols are
3317         defined in a dynamic object.  Fix LD optimization.  Don't set TLS_TPREL
3318         on GD->IE optimization, use TLS_TPRELGD instead.  Use get_tls_type
3319         return value to properly decide whether toc GD and LD entries can
3320         optimize away __tls_get_addr call.  Check next reloc after DTPMOD64
3321         to determine GD or LD rather than looking at TLS_LD flag.  Don't
3322         attempt to adjust got entry tls_type here..
3323         (allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
3324         look for possible merges.
3325         (ppc64_elf_size_dynamic_sections): Adjust local got entries for
3326         optimization.
3327         (ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
3328         (ppc64_elf_relocate_section): Rename some vars to better reflect usage.
3329         Make use of return value from get_tls_type to properly detect GD and
3330         LD optimizations.  Split tlsld/gd hi/ha from lo/ds case.  Don't
3331         handle tls_get_addr removal when looking at REL24 relocs, do it when
3332         looking at the previous reloc.  Check reloc after DTPMOD64 to determine
3333         GD or LD.
3334         * elf64-ppc.h (ppc64_elf_tls_setup): Declare.
3335
3336 2003-02-08  Alan Modra  <amodra@bigpond.net.au>
3337
3338         * elf32-hppa.c (group_sections): Don't share a stub section if
3339         stubs are for a large section.
3340
3341         * elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
3342         stubs if !stubs_always_before_branch.
3343
3344 2003-02-07  Nick Clifton  <nickc@redhat.com>
3345
3346         * elf.c (swap_out_syms): Generate an error message if an
3347         equivalent output section cannot be found for a symbol.
3348
3349 2003-02-07  Jakub Jelinek  <jakub@redhat.com>
3350
3351         * elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
3352         local_got_entries is NULL.
3353
3354 2003-02-06  Andreas Schwab  <schwab@suse.de>
3355
3356         * elf-eh-frame.c (get_DW_EH_PE_signed): Define.
3357         (read_value): Add parameter is_signed, use signed extraction if
3358         the value is signed.
3359         (_bfd_elf_write_section_eh_frame): Pass signed flag of the
3360         encoding to read_value.
3361
3362 2003-02-06  Alan Modra  <amodra@bigpond.net.au>
3363
3364         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
3365         plt info when called to transfer weak sym info.
3366
3367 2003-02-05  Alan Modra  <amodra@bigpond.net.au>
3368
3369         * reloc.c: Add PPC and PPC64 TLS relocs.
3370         * libbfd.h: Regenerate.
3371         * bfd-in2.h: Regenerate.
3372         * elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
3373         (ppc64_elf_howto_raw): Add TLS howto's.  Adjust R_PPC64_NONE to be
3374         against a 32 bit field.
3375         (ppc64_elf_reloc_type_lookup): Handle TLS relocs.
3376         (_ppc64_elf_section_data): Add t_symndx and comments.
3377         (ppc64_elf_section_data): Use elf_section_data macro.
3378         (ppc64_elf_new_section_hook): American spelling.
3379         (struct got_entry, struct plt_entry): New.
3380         (MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
3381         (struct ppc_stub_hash_entry): Add "addend" field.
3382         (struct ppc_link_hash_entry): Add "tls_type".
3383         (TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
3384         TLS_EXPLICIT): Define.
3385         (struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
3386         (link_hash_newfunc): Init new fields.
3387         (ppc64_elf_link_hash_table_create): Likewise.  Set init_refcount and
3388         init_offset to NULL.
3389         (ppc64_elf_copy_indirect_symbol): Copy got and plt info.  Don't call
3390         _bfd_elf_link_hash_copy_indirect, rather insert relevant code from
3391         there.
3392         (update_local_sym_info, update_plt_info): New functions.
3393         (ppc64_elf_check_relocs): Use them.  Handle TLS relocs.  Adjust GOT
3394         handling to use got.glist rather than got.refcount.  Likewise for PLT.
3395         (ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
3396         (func_desc_adjust): Adjust for new PLT list.
3397         (ppc64_elf_adjust_dynamic_symbol): Likewise.
3398         (get_sym_h, get_tls_type): New functions.
3399         (ppc64_elf_edit_opd): Remove unused variable.  Use get_sym_h.
3400         (ppc64_elf_tls_optimize): New function.
3401         (allocate_dynrelocs): Adjust for new PLT and GOT lists.  Allocate
3402         TLS relocs.
3403         (ppc64_elf_size_dynamic_sections): Likewise.
3404         (ppc_type_of_stub): Adjust for new PLT list.
3405         (ppc_build_one_stub): Likewise.
3406         (ppc64_elf_size_stubs): Likewise.  Use get_sym_h.  Treat __tls_get_addr
3407         calls specially.
3408         (ppc64_elf_relocate_section): Adjust for new GOT and PLT lists.  Handle
3409         TLS relocs.  Report local syms using bfd_elf_local_sym_name.  Don't
3410         init GOT entries that have a reloc.  Generate GOT relocs here..
3411         (ppc64_elf_finish_dynamic_symbol): ..not here.  Adjust for PLT list.
3412         * elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
3413
3414 2003-02-04  Andreas Schwab  <schwab@suse.de>
3415
3416         * elf32-m68k.c (elf_m68k_hash_entry): Define.
3417         (elf_m68k_link_hash_traverse): Remove.
3418         (elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
3419         elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
3420         reduce casting.
3421         (elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
3422         casting.
3423         (elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
3424         instead of elf_m68k_link_hash_traverse.
3425         (elf_m68k_discard_copies): Change first parameter to pointer to
3426         struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
3427         elf_m68k_link_hash_entry is needed.
3428
3429 2003-02-04  Alan Modra  <amodra@bigpond.net.au>
3430
3431         * elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
3432         (struct elf_link_hash_entry): Add "glist" and "plist" fields to
3433         "got" union, and declare as gotplt_union.  Use gotplt_uinion for
3434         "plt" field.
3435         (struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
3436         Add "init_offset" field.
3437         (struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
3438         (elf_local_got_ents): Declare.
3439         * elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
3440         and "plt".
3441         (_bfd_elf_link_hash_hide_symbol): Use "init_offset".
3442         (_bfd_elf_link_hash_table_init): Set "init_offset".
3443         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
3444         from init_offset.
3445         (elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
3446
3447         * elf.c (bfd_elf_local_sym_name): Split out from..
3448         (group_signature): ..here.
3449         * elf-bfd.h (bfd_elf_local_sym_name): Declare.
3450
3451 2003-02-04  Alan Modra  <amodra@bigpond.net.au>
3452
3453         * elf-bfd.h (enum elf_link_info_type): Remove.
3454         (struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
3455         to struct sec.  Remove linkonce_p field.
3456         (elf_linkonce_p): Delete.
3457         (elf_discarded_section): Update for sec_info_type change.
3458         * section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
3459         flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
3460         (ELF_INFO_TYPE_NONE): Define.
3461         (ELF_INFO_TYPE_STABS): Define.
3462         (ELF_INFO_TYPE_MERGE): Define.
3463         (ELF_INFO_TYPE_EH_FRAME): Define.
3464         (ELF_INFO_TYPE_JUST_SYMS): Define.
3465         (STD_SECTION): Update struct sec initializer.
3466         * ecoff.c (bfd_debug_section): Likewise.
3467         * elf.c: Likewise.  Update occurrences of sec_info_type and use_rela_p.
3468         * elflink.h: Likewise.
3469         * elf-eh-frame.c: Likewise.
3470         * elf64-alpha.c: Likewise.
3471         * elfxx-ia64.c: Likewise.
3472         * elfxx-mips.c: Likewise.
3473         * bfd-in2.h: Regenerate.
3474
3475         * elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
3476         referring to used_by_bfd.
3477         * elf64-sparc.c (sec_do_relax): Likewise.
3478         * elf64-mmix.c (mmix_elf_section_data): Likewise.
3479         * elfxx-mips.c (mips_elf_section_data): Likewise.
3480         * ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
3481         (ieee_get_section_contents): Likewise.
3482         (ieee_new_section_hook): Formatting.
3483         (ieee_canonicalize_reloc): Remove commented out code.
3484         * mmo.c (mmo_section_data): Define.  Use throughout file.
3485         * oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
3486
3487 2003-01-31  Graydon Hoare <graydon@redhat.com>
3488
3489         * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
3490         * Makefile.in: Regenerate.
3491         * opncls.c (calc_crc32, get_debug_link_info,
3492         seperate_debug_file_exists, find_seperate_debug_file): New
3493         internal functions.
3494         (bfd_follow_gnu_debuglink): New function.  Follow the pointer
3495         contained inside a .gnu_debuglink section.
3496         * bfd-in2.h: Regenerate.
3497
3498 2003-01-29  Alexandre Oliva  <aoliva@redhat.com>
3499
3500         * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
3501         entry->abfd when it's NULL.
3502
3503 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3504
3505         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
3506         _bfd_elf_section_offset returning -2 the same way as -1.
3507
3508         * elfxx-mips.c (mips_elf_multi_got): New function.
3509         (struct mips_got_entry): Make symndx and gotidx signed.  Moved
3510         addend into union along with address and link hash entry.
3511         (struct mips_got_info): Added bfd2got and next.
3512         (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
3513         (mips_elf_got_section, mips_elf_create_got_section): Use
3514         SEC_EXCLUDE bit to tell whether we really need the got
3515         section.  Take boolean arguments to disregard an excluded
3516         section, or to create it as excluded.  Adjust all callers.
3517         Use mips_elf_got_section all over.
3518         (mips_elf_local_got_index, mips_elf_got_page,
3519         mips_elf_got16_entry): Take input bfd as argument, and pass it
3520         on to mips_elf_create_local_got_entry.
3521         (mips_elf_global_got_index, mips_elf_create_local_got_entry):
3522         Take input bfd as argument, and manage entries in the
3523         appropriate GOT.
3524         (mips_elf_got_offset_from_index): Take input bfd as argument,
3525         and use it to adjust the GP offset of the bfd.
3526         (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
3527         unreferenced GOT entries of global symbols to the end.
3528         (mips_elf_record_global_got_symbol): Take input bfd as
3529         argument.  Add entries to the master GOT hash table.
3530         (struct mips_elf_bfd2got_hash): New.
3531         (struct mips_elf_got_per_bfd_arg): New.
3532         (struct mips_elf_set_global_got_offset_arg): New.
3533         (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
3534         mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
3535         mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
3536         mips_elf_merge_gots, mips_elf_set_global_got_offset,
3537         mips_elf_resolve_final_got_entry,
3538         mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
3539         mips_elf_got_for_ibfd): New functions.
3540         (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
3541         (MIPS_ELF_GOT_MAX_SIZE): New macro.
3542         (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
3543         (mips_elf_got_entry_hash): Take new fields into account.  Use
3544         mips_elf_hash_bfd_vma.
3545         (mips_elf_got_entry_eq): Take new fields into account.
3546         (mips_elf_create_got_section): Initialize new fields.
3547         (mips_elf_calculate_relocation): Pass input_bfd to functions
3548         that now take it.  Adjust gp for the input_bfd.
3549         (mips_elf_allocate_dynamic_relocation,
3550         mips_elf_create_dynamic_relocation,
3551         _bfd_mips_elf_create_dynamic_sections): Use...
3552         (mips_elf_rel_dyn_section): New function.  Borrow code from...
3553         (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
3554         now take it.  Create the got section if needed, even if
3555         excluded, before recording a global got symbol.  Move some
3556         code to...
3557         (mips_elf_record_local_got_symbol): New fn.
3558         (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
3559         Compute multi-got global entries offsets.  Move GOT code to...
3560         (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
3561         if the GOT is too big.
3562         (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
3563         undefweak symbol to zero.  Generate dynamic relocations for
3564         non-primary GOT entries for global symbols.
3565         (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
3566         case.  Generate dynamic relocations for local got entries.
3567         Sort dynamic relocations on N64 too, using...
3568         (sort_dynamic_relocs_64): New fns.
3569         (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
3570         (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
3571
3572 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3573
3574         * bfd.c (struct _bfd): Added id field.
3575         * opncls.c (_bfd_id_counter): New static variable.
3576         (_bfd_new_bfd): Use it.
3577         * bfd-in2.h: Rebuilt.
3578
3579 2003-01-25  Alan Modra  <amodra@bigpond.net.au>
3580
3581         * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
3582
3583 2003-01-25  Jakub Jelinek  <jakub@redhat.com>
3584
3585         * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
3586         (elf32_sparc_rev32_howto): New variable.
3587         (sparc_reloc_map): Add TLS relocs.
3588         (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
3589         Handle REV32.
3590         (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
3591         New functions.
3592         (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
3593         struct elf32_sparc_link_hash_table):
3594         New structures.
3595         (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
3596         elf32_sparc_hash_table): Define.
3597         (link_hash_newfunc, elf32_sparc_link_hash_table_create,
3598         create_got_section, elf32_sparc_create_dynamic_sections,
3599         elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
3600         functions.
3601         (elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
3602         reference counting.
3603         (elf32_sparc_gc_sweep_hook): Likewise.
3604         (elf32_sparc_adjust_dynamic_symbol): Likewise.
3605         (elf32_sparc_size_dynamic_sections): Likewise.
3606         (elf32_sparc_relocate_section): Likewise.
3607         (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
3608         New functions.
3609         (elf32_sparc_object_p): Allocate backend private object data.
3610         (bfd_elf32_bfd_link_hash_table_create,
3611         elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
3612         elf_backend_can_refcount): Define.
3613         (elf_backend_create_dynamic_sections): Define to
3614         elf32_sparc_create_dynamic_sections.
3615         * reloc.c: Add SPARC TLS relocs.
3616         * bfd-in2.h, libbfd.h: Rebuilt.
3617         * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
3618         (sparc_reloc_map): Likewise.
3619
3620 2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3621
3622         * bfd-in2.h: Regenerate.
3623         * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
3624         s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
3625         (elf_howto_table): Add TLS relocs.
3626         (elf_s390_reloc_type_lookup): Likewise.
3627         (elf_s390_link_hash_entry): Add tls_type.
3628         (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
3629         New macros.
3630         (elf_s390_link_hash_table): Add tls_ldm_got.
3631         (link_hash_newfunc): Initialize tls_type.
3632         (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
3633         (elf_s390_copy_indirect_symbol): Copy tls_type information.
3634         (elf_s390_check_relocs): Support TLS relocs.
3635         (elf_s390_gc_sweep_hook): Likewise.
3636         (allocate_dynrelocs): Likewise.
3637         (elf_s390_size_dynamic_sections): Likewise.
3638         (elf_s390_relocate_section): Likewise.
3639         (elf_s390_finish_dynamic_symbol): Likewise.
3640         (bfd_elf32_mkobject): Define for TLS.
3641         * elf64-s390.c: Same changes as for elf32-s390.c.
3642         * libbfd.h: Regenerate.
3643         * reloc.c: Add s390 TLS relocations.
3644
3645 2003-01-24  Charles Lepple  <clepple@ghz.cc>
3646
3647         * aclocal.m4: Fix name of --enable-install-libbfd switch.
3648
3649 2003-01-23  Nick Clifton  <nickc@redhat.com>
3650
3651         * Add sh2e support:
3652         2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
3653         * archures.c (bfd_mach_sh2e): Added.
3654         * bfd-in2.h: Rebuilt.
3655         * cpu-sh.c (arch_info_struct): Added SH2e.
3656         * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
3657
3658 2003-01-23  Alan Modra  <amodra@bigpond.net.au>
3659
3660         * elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
3661         dynindx to an int.  Rearrange for better packing.
3662         * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
3663         * elf32-mips.c (bfd_elf32_new_section_hook): Define.
3664         * elf32-sh64.h: New.  Split out from include/elf/sh.h.
3665         (struct _sh64_elf_section_data): New struct.
3666         (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
3667         * elf32-sh64-com.c: Include elf32-sh64.h.
3668         * elf32-sh64.c: Likewise.
3669         (sh64_elf_new_section_hook): New function.
3670         (bfd_elf32_new_section_hook): Define.
3671         (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
3672         (sh64_bfd_elf_copy_private_section_data): Likewise.
3673         (sh64_elf_final_write_processing): Likewise.
3674         * elf32-sparc.c (struct elf32_sparc_section_data): New.
3675         (elf32_sparc_new_section_hook): New function.
3676         (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
3677         (sec_do_relax): Define.
3678         (elf32_sparc_relax_section): Adjust to use sec_do_relax.
3679         (elf32_sparc_relocate_section): Likewise.
3680         * elf64-mips.c (bfd_elf64_new_section_hook): Define.
3681         * elf64-mmix.c (struct _mmix_elf_section_data): New.
3682         (mmix_elf_section_data): Define.  Use throughout file.
3683         (mmix_elf_new_section_hook): New function.
3684         (bfd_elf64_new_section_hook): Define.
3685         * elf64-ppc.c (struct _ppc64_elf_section_data): New.
3686         (ppc64_elf_section_data): Define.  Use throughout.
3687         (ppc64_elf_new_section_hook): New function.
3688         (bfd_elf64_new_section_hook): Define.
3689         * elf64-sparc.c (struct sparc64_elf_section_data): New.
3690         (sparc64_elf_new_section_hook): New function.
3691         (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
3692         (sec_do_relax): Define.
3693         (sparc64_elf_relax_section): Adjust to use sec_do_relax.
3694         (sparc64_elf_relocate_section): Likewise.
3695         (bfd_elf64_new_section_hook): Define.
3696         * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
3697         * elfxx-mips.c (struct _mips_elf_section_data): New.
3698         (mips_elf_section_data): Define.  Use throughout.
3699         (_bfd_mips_elf_new_section_hook): New function.
3700         (mips_elf_create_got_section): Don't alloc used_by_bfd.
3701         * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
3702         * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
3703         * Makefile.am: Run "make dep-am".
3704         * Makefile.in: Regenerate.
3705
3706 2003-01-21  Richard Henderson  <rth@redhat.com>
3707
3708         * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
3709         (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
3710         (elf64_alpha_adjust_dynamic_symbol): Set them.
3711         (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
3712         (elf64_alpha_relax_tls_get_addr): Handle LDM relocs.  Frob the
3713         symbol index when relaxing LDM to TPREL.
3714         (elf64_alpha_relax_section): Likewise.  Allow relaxation of GD
3715         relocs, even if the target isn't locally defined.
3716         (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
3717         (elf64_alpha_relocate_section): Likewise.  Force TP-relative
3718         relocs vs symndx 0 to the tp base.
3719
3720 2003-01-21  Fabio Alemagna  <falemagn@aros.org>
3721
3722         * config.bfd: Handle i[3456]86-*-aros*.
3723
3724 2003-01-21  Andreas Schwab  <schwab@suse.de>
3725
3726         * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
3727         (struct ppc_elf_link_hash_entry): Define.
3728         (ppc_elf_hash_entry): New function.
3729         (struct ppc_elf_link_hash_table): Define.
3730         (ppc_elf_hash_table): New function.
3731         (ppc_elf_link_hash_newfunc): New function.
3732         (ppc_elf_link_hash_table_create): New function.
3733         (ppc_elf_copy_indirect_symbol): New function.
3734         (allocate_dynrelocs): New function.
3735         (readonly_dynrelocs): New function.
3736         (ppc_elf_size_dynamic_sections): Allocate space for dynamic
3737         relocs and determine DT_TEXTREL.
3738         (ppc_elf_check_relocs): Don't do that here, just count the
3739         dynamic relocs.
3740         (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
3741         removed section.
3742         (bfd_elf32_bfd_link_hash_table_create): Define.
3743         (elf_backend_copy_indirect_symbol): Define.
3744
3745 2003-01-21  Richard Henderson  <rth@redhat.com>
3746
3747         * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
3748         TPREL also get a reloc if shared.  Remove SREL support.
3749         (elf64_alpha_emit_dynrel): New.
3750         (elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL
3751         and GOTTPREL relocs to local symbols against the tp base.
3752         (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
3753
3754         * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
3755         use count before clobbering r_type.
3756         (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
3757         ordering would mean dataflow inspection is necessary.
3758
3759 2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
3760
3761         * coffcode.h (coff_set_flags): Added get/set arch hooks.
3762
3763 2003-01-20  Fabio Alemagna  <falemagn@aros.org>
3764
3765         * elf32-sh.c: Treat elfNN_bed like other macros defined in
3766           elfxx-target.h and #undef it before #define'ing it.
3767         * elf32-i386.c: Likewise.
3768         * elf32-sh64.c: Likewise.
3769         * elf64-alpha.c: Likewise.
3770         * elf64-sh64.c: Likewise.
3771
3772 2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3773
3774         * bfd-in2.h: Regenerate.
3775         * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
3776         (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
3777         R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
3778         R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
3779         R_390_PLTOFF32 and R_390_PLTOFF64.
3780         (elf_s390_reloc_type_lookup): Likewise.
3781         (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
3782         of GOTPLT references to a function.
3783         (link_hash_newfunc): Initialize gotplt_refcount.
3784         (elf_s390_check_relocs): Move allocation of local_got_refcounts array
3785         and creation of the got section out of the main switch. Add support
3786         for the gotoff, gotplt and pltoff relocations.
3787         (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
3788         and pltoff.
3789         (elf_s390_adjust_gotplt): New function.
3790         (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
3791         plt entries.
3792         (allocate_dynrelocs): Add comment.
3793         (elf_s390_relocate_section): Change r_type to unsigned. Add support
3794         for gotoff, gotplt and pltoff relocations.
3795         * elf64-s390.c: Same changes as for elf32-s390.c.
3796         * libbfd.h: Regenerate.
3797         * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
3798         BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
3799         BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
3800         and BFD_RELOC_390_PLTOFF64.
3801
3802 2003-01-18  Jakub Jelinek  <jakub@redhat.com>
3803
3804         * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
3805         R_IA64_TPREL64[LM]SB against non-global symbol properly.
3806
3807 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
3808
3809         * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
3810         self_dtpmod_done and self_dtpmod_offset.
3811         (allocate_global_data_got): Only use one got entry for all
3812         dtpmod relocs against local symbols.
3813         (allocate_dynrel_entries): Only need .rela.got entry for
3814         dtpmod against global symbol.
3815         (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
3816         Reserve space in .rela.got for the local dtpmod entry.
3817         (set_got_entry): Initialize the common local dtpmod .got entry.
3818         (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
3819         and R_IA_64_DTPREL64MSB.
3820
3821 2003-01-16  Alan Modra  <amodra@bigpond.net.au>
3822
3823         * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
3824         (R_PPC_*): Rename all occurrences to R_PPC64_*.
3825         (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
3826         (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
3827         (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
3828         relative relocs, not with absolute ones.
3829         * Makefile.am: Run "make dep-am".
3830         * Makefile.in: Regenerate.
3831         * po/SRC-POTFILES.in: Regenerate.
3832
3833 2003-01-15  Andreas Schwab  <schwab@suse.de>
3834
3835         * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
3836         relocation against a non-allocated readonly section.
3837
3838 2003-01-10  Alan Modra  <amodra@bigpond.net.au>
3839
3840         * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
3841         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.  PLTGOT16_HA too.
3842
3843 2002-01-08  Klee Dienes  <kdienes@apple.com>
3844
3845         * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
3846         (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
3847         * Makefile.in: Regenerate.
3848
3849 2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
3850
3851         * elfn32-mips.c (prev_reloc_section): New.
3852         (GET_RELOC_ADDEND): Use it.  Parenthesize macro arguments.
3853         (SET_RELOC_ADDEND): Parenthesize macro argument.
3854
3855 2003-01-07  John David Anglin  <dave.anglin@nrc.gc.ca>
3856
3857         * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
3858         adjust addil instructions if the symbol has no section.
3859
3860 2003-01-07  DJ Delorie  <dj@redhat.com>
3861
3862         * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
3863         partial_inplace.
3864
3865 2003-01-07  Andreas Schwab  <schwab@suse.de>
3866
3867         * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
3868         PC relative relocations.
3869         (elf_m68k_discard_copies): Set it here instead.
3870
3871 2002-01-02  Ben Elliston  <bje@redhat.com>
3872             Jeff Johnston  <jjohnstn@redhat.com>
3873
3874         * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
3875         (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
3876         (BFD32_BACKENDS): Add elf32-iq2000.lo.
3877         (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
3878         (cpu-iq2000.lo): New target.
3879         * Makefile.in: Regenerate.
3880         * config.bfd: Handle iq2000-*-elf.
3881         * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
3882         (bfd_archures_list): Add bfd_iq2000_arch.
3883         * configure.in: Handle bfd_elf32_iq2000_vec.
3884         * configure: Regenerate.
3885         * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
3886         and BFD_RELOC_IQ2000_UHI16.
3887         * targets.c (bfd_elf32_iq2000_vec): Declare.
3888         (bfd_target_vector): Add bfd_elf32_iq2000_vec.
3889         * elf.c (prep_headers): Set e_machine to EM_IQ2000.
3890         * cpu-iq2000.c: New file.
3891         * elf32-iq2000.c: Likewise.
3892         * libbfd.h: Regenerate.
3893         * bfd-in2.h: Likewise.
3894
3895 2003-01-02  Richard Sandiford  <rsandifo@redhat.com>
3896
3897         * elfxx-mips.c: Include libiberty.h.
3898         (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
3899         (mips_set_isa_flags): New function, split out from...
3900         (_bfd_mips_elf_final_write_processing): ...here.  Only call
3901         mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
3902         (mips_mach_extensions): New array.
3903         (mips_32bit_flags_p): New function.
3904         (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
3905         Use mips_32bit_flags_p to check if one binary is 32-bit and the
3906         other is 64-bit.  When adopting IBFD's architecture, adopt the
3907         bfd_mach as well as the flags.
3908
3909 2003-01-02  Nick Kelsey  <nickk@ubicom.com>
3910
3911         * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
3912         fix internal errors, fix bad code generation, fix incorrect stabs
3913         information, and improve ability to eliminate redundant page
3914         instructions. Added code to ip2k_final_link_relocate to self-verify
3915         the linker relaxation.  Fix formatting problems.
3916
3917 2002-12-30  Chris Demetriou  <cgd@broadcom.com>
3918
3919         * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
3920         * archures.c (bfd_mach_mipsisa32r2): New define.
3921         * bfd-in2.h: Regenerate.
3922         * cpu-mips.c (I_mipsisa32r2): New enum value.
3923         (arch_info_struct): Add entry for I_mipsisa32r2.
3924         * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
3925         (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
3926         (_bfd_mips_elf_final_write_processing): Add
3927         bfd_mach_mipsisa32r2 case.
3928         (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
3929         binaries marked as using MIPS32 Release 2.
3930
3931 2002-12-30    Dmitry Diky <diwil@mail.ru>
3932
3933         * Makefile.am: Add msp430 target.
3934         * configure.in: Likewise.
3935         * Makefile.in: Regenerate.
3936         * configure: Regenerate.
3937         * archures.c: Add msp430 architecture vector.
3938         * config.bfd: Likewise.
3939         * reloc.c: Add msp430 relocs.
3940         * targets.c: Add msp320 target.
3941         * cpu-msp430.c: New file: msp430 cpu detection.
3942         * elf32-msp430.c: New file: msp430 reloc processing.
3943         * bfd-in2.h: Regenerate.
3944         * libbfd.h: Regenerate.
3945
3946 2002-12-28  Jakub Jelinek  <jakub@redhat.com>
3947
3948         * elf.c (elf_sort_sections): Don't reorder .tbss.
3949         (assign_file_positions_for_segments): Only adjust off/voff
3950         for increased alignment in PT_LOAD or PT_NOTE segment,
3951         but adjust p_filesz for .tbss too.  in PT_LOAD consider
3952         .tbss to have zero memory size.
3953         (copy_private_bfd_data) [SECTION_SIZE]: Define.
3954         [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
3955         [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
3956         into PT_TLS segment.  Never put SHF_TLS sections in
3957         segments other than PT_TLS or PT_LOAD.
3958
3959         * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
3960         sh_entsize.
3961
3962 2002-12-23  DJ Delorie  <dj@redhat.com>
3963
3964         * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
3965
3966 2002-12-23  Alan Modra  <amodra@bigpond.net.au>
3967
3968         * elflink.h (elf_link_output_extsym): Heed strip_discarded.
3969
3970 2002-12-23  Nick Clifton  <nickc@redhat.com>
3971
3972         * archures.c (bfd_arch_get_compatible): Add third parameter
3973         'accept_unknowns'.  Only accept unknown format BFDs if
3974         accept_unknowns is true, or if the format is "binary".
3975         * bfd-in2.h: Regenerate.
3976
3977 2002-12-21  Nick Clifton  <nickc@redhat.com>
3978
3979         * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
3980         that subtracted 8 from pc relative relocations.
3981
3982 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
3983
3984         * coff-h8300.c: Fix comment typos.
3985         * coffcode.h: Likewise.
3986         * cpu-cris.c: Likewise.
3987         * elf32-vax.c: Likewise.
3988         * genlink.h: Likewise.
3989         * linker.c: Likewise.
3990         * som.c: Likewise.
3991         * tekhex.c: Likewise.
3992         * vms-misc.c: Likewise.
3993
3994 2002-12-20  DJ Delorie  <dj@redhat.com>
3995
3996         * reloc.c: Add BFD_RELOC_XSTORMY16_12.
3997         * libbfd.h: Regenerate.
3998         * bfd-in2.h: Regenerate.
3999         * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
4000         (xstormy16_reloc_map): Add R_XSTORMY16_12.
4001
4002 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
4003
4004         * doc/bfdint.texi: Fix typos.
4005
4006 2002-12-20  Paul Eggert  <eggert@twinsun.com>
4007
4008         Port to POSIX 1003.1-2001.
4009         * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
4010         * configure.in (build-warnings): Likewise.
4011         (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
4012         * aclocal.m4: Regenerate.
4013         * config.in: Regenerate.
4014         * configure: Regenerate.
4015
4016 2002-12-19  Alan Modra  <amodra@bigpond.net.au>
4017
4018         * coff-h8300.c: Include libiberty.h.
4019         (h8300_reloc16_extra_cases): Check the hash table creator before
4020         referencing h8300 specific fields.  Stash the hash table pointer
4021         in a local var.  Comment typo fixes.
4022         (h8300_bfd_link_add_symbols): Likewise.
4023
4024         * reloc.c (struct reloc_howto_struct): Revise src_mask and
4025         dst_mask comments.
4026         * bfd-in2.h: Regenerate.
4027
4028 2002-12-18  Alan Modra  <amodra@bigpond.net.au>
4029
4030         * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
4031         code a little.  Comment on dynamic relocs against section symbols.
4032
4033 2002-12-17  Roger Sayle  <roger@eyesopen.com>
4034
4035         * configure.host (ia64-*-hpux*): Support 64 bit targets using
4036         the HP compiler's "long long".
4037
4038 2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
4039
4040         * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
4041         and R_XSTORMY16_HI16) howto entries.
4042         (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
4043         (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
4044         determine the start of the second reloc table.
4045
4046 2002-12-16  Nathan Tallent  <eraxxon@alumni.rice.edu>
4047
4048         * ecofflink.c: Fix the reading of the debugging information
4049         of Tru64/Alpha binaries that are produced by recent Compaq
4050         compilers.
4051         (mk_fdrtab): Fix error in creating the FDR (file descriptor)
4052         table.
4053         (lookup_line): Because of the strange information sometimes
4054         generated by Compaq's recent compilers, change how the FDR
4055         table is searched so that PDRs (procedure descriptors) are
4056         correctly found.  Note that this change is really more of a hack;
4057         however, I have included extensive documentation as to why
4058         this is the best solution short of an extensive rewrite or
4059         another hack.
4060         (fdrtab_lookup): Add comments to explain the algorithm.
4061
4062 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4063
4064         * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
4065         initializers to match struct declaration.
4066
4067 2002-12-12  Alan Modra  <amodra@bigpond.net.au>
4068
4069         * dwarf2.c (comp_unit_contains_address): Comment typo fix.
4070         * elf.c (get_program_header_size): Likewise.
4071         * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
4072         (m32r_elf_generic_reloc): Likewise.
4073         * elf32-ppc.c (ppc_elf_howto_init): Likewise.
4074         * elflink.h (elf_bfd_discard_info): Likewise.
4075
4076 2002-12-12  Alan Modra  <amodra@bigpond.net.au>
4077
4078         * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
4079         to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
4080         DT_RELSZ adjustment, not output section.  Avoid writing tags when
4081         unchanged.  Don't assume linker script is sane, adjust DT_REL too.
4082         * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
4083         size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
4084         DT_RELASZ adjustment, not output section.  Avoid writing tags when
4085         unchanged.  Adjust DT_RELA.
4086         * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
4087         formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
4088
4089 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4090
4091         * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
4092         addend by 4.
4093
4094 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
4095
4096         * elfxx-mips.c (struct mips_got_entry): New.
4097         (struct mips_got_info): Added got_entries field.
4098         (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
4099         (mips_elf_local_got_index, mips_elf_got_page,
4100         mips_elf_got16_entry): Re-implement in terms of new...
4101         (mips_elf_create_local_got_entry): Rewrite to use got_entries.
4102         Change return type.
4103         (mips_elf_highest): Warning clean-up.
4104         (mips_elf_create_got_section): Initialize got_entries.
4105         (_bfd_mips_elf_check_relocs): Use got_entries to estimate
4106         local got size.
4107         (_bfd_mips_elf_size_dynamic_sections): Do not account for
4108         GOT_PAGE entries, since we now reuse GOT16 entries.
4109
4110 2002-12-10  Jason Thorpe  <thorpej@wasabisystems.com>
4111
4112         * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
4113         read-only section that lies after .text and before .data to be
4114         written into the output file and included in a_text.
4115         (translate_to_native_sym_flags): If an otherwise unrepresentable
4116         section was merged with .text, convert its symbols to N_TEXT
4117         symbols.
4118         * libaout.h (aout_section_merge_with_text_p): New macro.
4119
4120 2002-12-08  Alan Modra  <amodra@bigpond.net.au>
4121
4122         * bfd-in.h: Comment typo fix.  Formatting.
4123         * bfd-in2.h: Regenerate.
4124         * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
4125         * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
4126         * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
4127
4128 2002-12-05  Richard Henderson  <rth@redhat.com>
4129
4130         * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
4131         Only send PCREL21B though the plt.  Fix installed reloc type.
4132         (elfNN_ia64_relocate_section): Give error for dynamic reloc
4133         against PCREL22 or PCREL64I; clean up error messages for
4134         branch relocs.
4135
4136 2002-12-04  Kevin Buettner  <kevinb@redhat.com>
4137
4138         * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
4139         New functions.
4140         (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
4141
4142 2002-12-04  David Mosberger  <davidm@hpl.hp.com>
4143
4144         * cpu-ia64-opc.c: Add operand constant "ar.csd".
4145
4146 2002-12-04  H.J. Lu <hjl@gnu.org>
4147
4148         * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
4149         BFD address when constructing local name.
4150
4151 2002-12-04  Andreas Schwab  <schwab@suse.de>
4152
4153         * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
4154         member.
4155         (elf_m68k_link_hash_table_create): Initialize it.
4156         (elf_m68k_check_relocs): Handle symbols that are forced to be
4157         local due to visibility changes.
4158         (elf_m68k_adjust_dynamic_symbol): Likewise.
4159         (elf_m68k_size_dynamic_sections): Likewise.
4160         (elf_m68k_discard_copies): Likewise.
4161         (elf_m68k_relocate_section): Likewise.
4162
4163 2002-12-04  Alan Modra  <amodra@bigpond.net.au>
4164
4165         * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
4166
4167 2002-12-04  Alan Modra  <amodra@bigpond.net.au>
4168
4169         * srec.c (srec_write_symbols): Restore '$' prefix to address
4170         accidentally removed in 2002-04-04 change.
4171         (srec_get_symtab): Use 0 instead of `(long) FALSE'.
4172
4173 2002-12-03  Nick Clifton  <nickc@redhat.com>
4174
4175         * elf32-ppc.c (apuinfo_list_init): New function.
4176         (apuinfo_list_add): New function: Add a value to the list.
4177         (apuinfo_list_length): New function: Return the number of
4178         values on the list.
4179         (apuinfo_list_element): New function: Return a value on the
4180         list.
4181         (apuinfo_list_finish): New function: Free the resources used
4182         by the list.
4183         (ppc_elf_begin_write_processing): New function.  Scan the
4184         input bfds for apuinfo sections.
4185         (ppc_elf_write_section): New function: Delay the creation of
4186         the contents of an apuinfo section in an output bfd.
4187         (ppc_elf_final_write_processing): New function.  Create the
4188         contents of an apuinfo section in an output bfd.
4189         (elf_backend_begin_write_processing): Define.
4190         (elf_backend_final_write_processing): Define.
4191         (elf_backend_write_section): Define.
4192
4193 2002-12-03  Richard Henderson  <rth@redhat.com>
4194
4195         * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
4196
4197 2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
4198
4199         Fix PR savannah/1417:
4200         * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
4201         branch if it goes to the start of the deleted region.
4202
4203 2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
4204
4205         * bfd-in2.h (bfd_mach_m6812): Rebuild.
4206         * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
4207         bfd_mach_m6812s): Declare.
4208
4209         * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
4210         (_bfd_m68hc12_elf_set_private_flags): Call it.
4211         (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
4212         (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
4213         report microcontroller incompatibilities (HC12 vs HCS12).
4214         (elf_backend_object_p): Update.
4215
4216 2002-11-30  Alan Modra  <amodra@bigpond.net.au>
4217
4218         * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
4219         (enum bfd_boolean, boolean): Delete.
4220         (bfd_boolean): Typedef to an int.
4221         (FALSE, TRUE): Define.
4222         * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
4223         aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
4224         aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
4225         binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
4226         coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
4227         coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
4228         coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
4229         coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
4230         coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
4231         coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
4232         corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
4233         cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
4234         cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
4235         cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
4236         cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
4237         cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
4238         cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
4239         cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
4240         cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
4241         cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
4242         dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
4243         elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
4244         elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
4245         elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
4246         elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
4247         elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
4248         elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
4249         elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
4250         elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
4251         elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
4252         elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
4253         elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
4254         elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
4255         elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
4256         elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
4257         elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
4258         hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
4259         i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
4260         libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
4261         libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
4262         m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
4263         mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
4264         nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
4265         pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
4266         pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
4267         pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
4268         reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
4269         som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
4270         syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
4271         vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
4272         xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
4273         bfd_boolean, true with TRUE, false with FALSE.  Simplify comparisons
4274         of bfd_boolean vars with TRUE/FALSE.  Formatting.
4275         * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
4276
4277 2002-11-28  Alan Modra  <amodra@bigpond.net.au>
4278
4279         * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
4280         Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
4281         with Elf_Internal_Rela.
4282         * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
4283         elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
4284         elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
4285         elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
4286         elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
4287         elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
4288         elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
4289         elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
4290         elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
4291         elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
4292         elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
4293         * elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
4294         throughout instead.
4295         * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
4296         * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
4297         Remove INLINE keyword.
4298         (elf_swap_reloc_in): Likewise.  Also clear r_addend.
4299         (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
4300         as a bfd_byte *.
4301         (elf_write_relocs): Consolidate REL and RELA code.
4302         (elf_slurp_reloc_table_from_section): Simplify REL code.
4303         (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
4304         * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
4305         * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
4306         RELA code.
4307         (elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
4308         reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
4309         (elf_link_output_relocs): Likewise.
4310         (elf_reloc_link_order): Likewise.
4311         (elf_finish_pointer_linker_section): Likewise.
4312         (struct elf_link_sort_rela): Remove union.
4313         (elf_link_sort_cmp1): Update to suit.
4314         (elf_link_sort_cmp2): Here too.
4315         (elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
4316         over-allocation for int_rels_per_ext_rel != 1 case.
4317         * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
4318         * elf32-i386.c: Likewise.
4319         * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
4320         * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
4321         elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
4322         * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
4323         * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
4324         elf64-sparc.c, elf64-x86-64.c: Likewise.
4325         * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
4326         * elfxx-mips.c (sort_dynamic_relocs): Likewise for
4327         bfd_elf32_swap_reloc_in.
4328
4329         * elf32-arm.h: Update elf32_arm_info_to_howto calls.
4330         * elf32-mips.c: Likewise for mips_info_to_howto_rel.
4331         (mips_elf64_swap_reloc_in): Zero r_addend.
4332         (mips_elf64_be_swap_reloc_in): Likewise.
4333         (mips_elf64_slurp_one_reloc_table): Simplify.
4334
4335         * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
4336         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
4337         * elf64-sparc.c (sparc64_elf_size_info): Likewise.
4338
4339 2002-11-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
4340
4341         * elf32-sh.c (sh_elf_relocate_section): Don't complain about
4342         unresolved debugging relocs in dynamic applications.
4343         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
4344
4345 2002-11-26  Alan Modra  <amodra@bigpond.net.au>
4346
4347         * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
4348         (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
4349         on a relocatable link.  Comment typos.
4350         * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
4351         in the order they are declared.  Clear elf_hash_value too.
4352         (_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
4353         eh_info and tls_segment.
4354         * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
4355         sorted when discarding relocs by turning them into R_*_NONE.
4356
4357         * libbfd.c (warn_deprecated): Comment spelling.
4358         * po/SRC-POTFILES.in: Regenerate.
4359
4360 2002-11-21  Richard Henderson  <rth@redhat.com>
4361
4362         * elflink.h (elf_link_add_object_symbols): Don't overwrite the
4363         arch's st_other bits when merging visibilities.
4364         (elf_link_output_extsym): Tidy clearing of visibility field.
4365
4366 2002-11-21  Alan Modra  <amodra@bigpond.net.au>
4367
4368         * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
4369         (SWAP_OUT_RELOC_OFFSET): Define.
4370
4371 2002-11-20  Alexandre Oliva  <aoliva@redhat.com>
4372
4373         * elf.c (_bfd_elf_link_hash_table_init): Make sure
4374         can_refcount is properly extended to the type of
4375         init_refcount.
4376
4377 2002-11-19  Alexandre Oliva  <aoliva@redhat.com>
4378
4379         * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
4380         (_bfd_mips_elf_relocate_section): Use it.
4381
4382         * elfxx-mips.c (MNAME): New macro.
4383         (_bfd_mips_elf_check_relocs): Use it.
4384         (_bfd_mips_elf_discard_info): Likewise.
4385         (_bfd_mips_elf_final_link): Likewise.
4386
4387 2002-11-19  Alan Modra  <amodra@bigpond.net.au>
4388
4389         * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
4390         rel_hdr.sh_size too.
4391
4392 2002-11-18  Klee Dienes  <kdienes@apple.com>
4393
4394         * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
4395         (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
4396         (BFD_H_FILES): Add bfdwin.c, bfdio.c.
4397         (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
4398         Add dependencies for bfdwin.c, bfdio.c.
4399         * bfd.c: Remove bfd_get_mtime, bfd_get_size.
4400         * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
4401         bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
4402         bfd_tell, bfd_flush, bfd_stat, bfd_seek.
4403         * bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
4404         bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
4405         bfd_get_size (moved from libbfd.c and bfd.c).
4406         * bfdwin.c New file.  Contains _bfd_window_internal,
4407         bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
4408         libbfd.c and bfd.c).
4409         * po/SRC-POTFILES.in: Regenerate.
4410         * po/bfd.pot: Regenerate.
4411         * libbfd.h: Regenerate.
4412         * bfd-in2.h: Regenerate.
4413         * aclocal.m4: Regenerate.
4414         * Makefile.in: Regenerate.
4415         * configure: Regenerate.
4416
4417 2002-11-18  Klee Dienes  <kdienes@apple.com>
4418
4419         * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
4420
4421 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
4422
4423         * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
4424         jsr after a short jump.
4425         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
4426
4427 2002-11-15  Klee Dienes  <kdienes@apple.com>
4428
4429         * pef.c (bfd_pef_convert_architecture): Move declaration of
4430         ARCH_POWERPC and ARCH_M68K to the start of the function.
4431
4432 2002-11-14  Svein E. Seldal  <Svein.Seldal@solidas.com>
4433
4434         * coff-tic4x.c (tic4x_howto_table): Formatting fixup
4435
4436 2002-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
4437
4438         * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
4439         For bpo_gregs_section->contents, allocate _raw_size, not
4440         _cooked_size.
4441
4442 2002-11-13  Klee Dienes  <kdienes@apple.com>
4443
4444         * config.bfd: Add entries for powerpc-*-darwin and cousins.
4445
4446 2002-11-13  H.J. Lu <hjl@gnu.org>
4447
4448         * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
4449
4450 2002-11-13  Klee Dienes  <kdienes@apple.com>
4451             Alan Modra  <amodra@bigpond.net.au>
4452
4453         * bfd.c (struct bfd_preserve): New.
4454         (bfd_preserve_save): New function.
4455         (bfd_preserve_restore): Ditto.
4456         (bfd_preserve_finish): Ditto.
4457         * bfd-in2.h: Regenerate.
4458         * mach-o.c: Formatting.
4459         (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
4460         (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
4461         (bfd_mach_o_core_p): Ditto.
4462         (bfd_mach_o_scan): Pass in mdata.
4463         * mach-o.h (bfd_mach_o_scan): Update prototype.
4464         * pef.c: Formatting.
4465         (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
4466         (bfd_pef_xlib_object_p): Ditto.
4467         (bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
4468         * pef.h (bfd_pef_scan): Update prototype.
4469         * xsym.c: Formatting, K&R fixes.
4470         (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
4471         (bfd_sym_scan): New function split out from bfd_sym_object_p.
4472         * xsym.h (bfd_sym_scan): Declare.
4473         * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
4474         * elfcore.h (elf_core_file_p): Likewise.
4475         * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
4476
4477 2002-11-12  Nick Clifton  <nickc@redhat.com>
4478
4479         * po/da.po: Updated Danish translation.
4480
4481 2002-11-12  Alan Modra  <amodra@bigpond.net.au>
4482
4483         * elflink.h (elf_link_add_object_symbols): Optimize stabs for
4484         relocatable link too.
4485         (elf_link_input_bfd): When emitting relocs, adjust offsets for
4486         eh_frame and stab sections.  Zap deleted relocs.
4487         (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
4488         (elf_bfd_discard_info): Run for relocatable link too.
4489         * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
4490         Handle ld -r case.
4491         (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
4492         * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
4493
4494         * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
4495         (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
4496         (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
4497         (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
4498         (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
4499         (struct elf_link_hash_table): Add eh_info.
4500         (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
4501         (_bfd_elf_discard_section_eh_frame): Update prototype.
4502         (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
4503         (_bfd_elf_write_section_eh_frame): Likewise.
4504         (_bfd_elf_write_section_eh_frame_hdr): Likewise.
4505         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
4506         param.  Get "hdr_info" from link hash table.
4507         (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
4508         header section from link hash table.  Save header section to elf_tdata.
4509         (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
4510         header section from link hash table.  Don't alloc hdr_info.  Clear
4511         hdr_sec instead of setting "strip".
4512         (_bfd_elf_eh_frame_section_offset): Formatting.
4513         (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
4514         Get header section from link hash table.
4515         (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
4516         Get header section from link hash table.
4517         * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
4518         (get_program_header_size): Likewise.
4519         (_bfd_elf_section_offset): Formatting.
4520         * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
4521         section pointer in link hash table.
4522         (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
4523         and _bfd_elf_write_section_eh_frame calls.  Update comment about
4524         eh_frame entries.
4525         (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
4526         _bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".
4527
4528         * po/SRC-POTFILES.in: Regenerate.
4529
4530         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
4531         relocs for discarded FDEs.  Remove dead code.
4532         (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
4533         * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
4534         Tidy conditions under which stabs are edited.  Formatting.
4535         * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
4536         from discarded relocs.
4537         * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
4538         section adjustments after testing magic values.
4539
4540 2002-11-12  Thomas Moestl <tmm@FreeBSD.org>
4541
4542         * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
4543         references to large plt symbols.
4544
4545 2002-11-12  Klee Dienes  <kdienes@apple.com>
4546
4547         * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
4548         looking for an unused section name.
4549
4550 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
4551
4552         * coff-h8300.c: Fix formatting.
4553         * elf32-h8300.c: Likewise.
4554         * reloc16.c: Likewise.
4555
4556 2002-11-09  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
4557
4558         * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
4559         section when dynamic section unused;  _bfd_strip_section_from_output
4560         instead.
4561
4562 2002-11-08  Alan Modra  <amodra@bigpond.net.au>
4563
4564         * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
4565         and sym_vec.
4566
4567         * dwarf2.c: Revert last change.
4568
4569 2002-11-07  Michal Ludvig  <mludvig@suse.cz>
4570
4571         * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
4572         _bfd_dwarf2_find_nearest_line): Use
4573         bfd_simple_get_relocated_section_contents() instead of
4574         bfd_get_section_contents().
4575         * reloc.c (bfd_perform_relocation): Add sanity check.
4576         * simple.c (simple_get_relocated_section_contents): If the section
4577         does not have any relocs associated with it, just return the
4578         unadjusted contents.
4579
4580 2002-11-07  Hans-Peter Nilsson  <hp@axis.com>
4581
4582         * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
4583         case R_CRIS_32_GOT>: Correct test for filling in constant .got
4584         contents, enabling for a non-DSO, for symbols defined in the
4585         program with --export-dynamic.
4586
4587 2002-11-07  Alan Modra  <amodra@bigpond.net.au>
4588
4589         * elf64-ppc.c: Comment typo fixes.
4590         (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
4591
4592 2002-11-07  Nick Clifton  <nickc@redhat.com>
4593
4594         * po/da.po: Updated Danish translation.
4595
4596 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
4597
4598         * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
4599         exactly three internal relocs per external reloc.  Set reloc_count
4600         to the external reloc count.
4601
4602 2002-11-06  Klee Dienes  <kdienes@apple.com>
4603
4604          * coff-stgo32.c (stub_bytes): Mark as const.
4605          Fix comment formatting.
4606
4607 2002-11-06  Klee Dienes  <kdienes@apple.com>
4608
4609         * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
4610         xsym.lo.
4611         (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
4612         (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
4613         * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
4614         * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
4615         * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
4616         sym.
4617         (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
4618         * Makefile.in: Regenerate.
4619         * doc/Makefile.in: Regenerate.
4620         * bfd-in2.h: Regenerate.
4621         * xsym.c: New file.  Contains support for the Apple/Metrowerks
4622         xSYM debugging format.
4623         * xsym.h: New file.
4624         * pef.c: New file.  Contains support for the Apple Code Fragment
4625         Manager Preferred Executable Format
4626         * pef.h: New file.
4627         * pef-traceback.h: New file.  Contains support for parsing PowerPC
4628         traceback tables as used by PEF executables (and perhaps other
4629         systems as well).
4630         * mach-o.c: New file.  Contains support for the Mach-O object file
4631         format.
4632         * mach-o.h: New file.
4633         * mach-o-target.c: New file.  Declares the mach-o targets
4634         themselves.  Included three times by mach-o.c; each time with a
4635         different set of macros set.
4636
4637 2002-11-06  Graeme Peterson  <gp@qnx.com>
4638
4639         * Makefile.am: Remove entries for elf32-qnx.[ch].
4640         * Makefile.in: Regenerate.
4641         * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
4642         ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
4643         bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
4644         * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
4645         bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
4646         and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
4647         bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
4648         * configure: Regenerate.
4649         * elf32-qnx.c: Remove.
4650         * elf32-qnx.h: Remove.
4651         * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
4652         is_contained_by_filepos, and copy_private_bfd_data_p.
4653         * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
4654         is_contained_by_filepos, and copy_private_bfd_data_p.
4655         * elf32-i386.c: Remove QNX extended bfd support.
4656         * elf32-ppc.c: Remove QNX extended bfd support.
4657         * elf32-sh.c: Remove QNX extended bfd support.
4658         * elfarm-nabi.c: Remove QNX extended bfd support.
4659         * targets.c: Remove qnx vectors.
4660         * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
4661         (elf_backend_is_contained_by_filepos): Remove.
4662         (elf_backend_copy_private_bfd_data_p): Remove.
4663         * po/SRC-POTFILES.in: Regenerate.
4664
4665 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
4666             Alan Modra  <amodra@bigpond.net.au>
4667
4668         * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
4669         dynamic relocs against section symbols for the output section vma.
4670
4671 2002-11-05  Alan Modra  <amodra@bigpond.net.au>
4672
4673         * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
4674         t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
4675
4676 2002-11-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
4677             Alan Modra  <amodra@bigpond.net.au>
4678
4679         * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
4680         vectors in target_selvecs.
4681         (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
4682         in target_selvecs.
4683         (sh-*-netbsdelf*): Likewise.
4684         * configure.in (assocvecs): New variable.  Handle assocvecs like
4685         selvecs.
4686         * configure: Regenerate.
4687         * format.c (bfd_check_format_matches): Store bfd_target pointers
4688         in matching_vector instead of target names.  Select first target
4689         from bfd_associated_vector that matches a list of ambiguous targets.
4690         * targets.c (_bfd_associated_vector): New array.
4691         (bfd_associated_vector): New variable.
4692         (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
4693         * libbfd-in.h (bfd_associated_vector): Declare.
4694         * libbfd.h: Regenerate.
4695
4696 2002-11-05  Elias Athanasopoulos  <eathan@otenet.gr>
4697
4698         * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
4699         non-NULL before dereferencing.
4700
4701 2002-11-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
4702
4703         * vms.c (vms_object_p): Restore the start address when returning
4704         NULL.
4705
4706 2002-11-04  Alan Modra  <amodra@bigpond.net.au>
4707             Hans-Peter Nilsson  <hp@axis.com>
4708
4709         * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
4710         (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
4711         Set up a larger symshndxbuf, and write it out.  Free it on
4712         exit rather than freeing symbuf twice.  Correct section index
4713         on output section symbol loop.
4714         (elf_link_output_sym): Accumulate symbol extension section
4715         indices, reallocating symshndxbuf rather than writing it out.
4716         (elf_link_flush_output_syms): Don't flush symshndxbuf.
4717         * elf.c (assign_section_numbers): Init i_shdrp to all zero.
4718         Use bfd_zalloc to clear i_shdrp[0] too.
4719
4720 2002-11-03  Stephen Clarke <stephen.clarke@earthling.net>
4721
4722          * elf32-sh64-com.c (sh64_address_in_cranges): Use
4723         _raw_size of cranges section if _cooked_size not yet set.
4724
4725 2002-11-03  Hans-Peter Nilsson  <hp@axis.com>
4726
4727         * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
4728         for bfd_elf32_swap_symbol_out.
4729
4730 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
4731
4732         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
4733         signed and unsigned in comparison.
4734
4735 2002-10-30  Daniel Jacobowitz  <drow@mvista.com>
4736
4737         * coffcode.h: Remove extraneous '\'.
4738
4739 2002-10-28  H.J. Lu <hjl@gnu.org>
4740
4741         * Makefile.am (targets.lo): Depend on Makefile instead of
4742         config.status.
4743         (archures.lo): Likewise.
4744         * Makefile.in: Regenerated.
4745
4746 2002-10-25  Jason Thorpe  <thorpej@wasabisystems.com>
4747
4748         * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
4749         bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
4750         targ_selvecs.
4751
4752 2002-10-25  Jim Wilson  <wilson@redhat.com>
4753
4754         * elf64-sh64.c (sh_elf64_relocate_section): Call
4755         _bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
4756         of SHF_MERGE section.
4757
4758 2002-10-25  Hans-Peter Nilsson  <hp@axis.com>
4759
4760         * simple.c: Correct placement of ATTRIBUTE_UNUSED.
4761
4762 2002-10-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4763
4764         * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
4765         unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
4766         unsigned int.
4767         (NAME(aout,final_link)): Cast enum used in assignment.
4768         (aout_link_write_symbols): Cast enums in comparisons, int values to
4769         boolean, enums in assignments to int.
4770         (aout_link_input_section_std): Cast rel->r_index to unsigned int.
4771         (aout_link_input_section_ext): Likewise.  Cast enums used in
4772         comparisons with unsigned ints.
4773         (aout_link_reloc_link_order): Cast enum to int in assignment.
4774         * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
4775         calls to char *.
4776         * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
4777         assignment.
4778         * bfd-in2.h (bfd_set_section_vma): Likewise.
4779         * bfd.c (bfd_record_phdr): Cast enums in assignments.
4780         * binary.c (bfd_alloc): Cast enum to long.
4781         * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
4782         * dwarf2.c (read_abbrevs): Add casts to enum types.
4783         (read_attribute_value): Likewise.
4784         (arange_add): Cast result of bfd_zalloc call.
4785         (comp_unit_contains_address): Return true and false.
4786         (comp_unit_find_nearest_line): Cast return to boolean.
4787         * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
4788         * gen-aout.c: define macro '_' if not defined.
4789         * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
4790         (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
4791         (bfd_write_bigendian_4byte_int): Cast return to boolean.
4792         (bfd_seek): Cast bfd_realloc to bfd_byte *.
4793         (bfd_generic_is_local_label_name): Cast return to boolean.
4794         * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
4795         * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
4796         struct bfd_hash_entry *.
4797         (_bfd_generic_link_hash_newfunc): likewise.
4798         (_bfd_generic_final_link): Cast enum to unsigned int.
4799         * merge.c (sec_merge_emit): Cast return to boolean.
4800         (merge_strings): Add casts to const unsigned char *.
4801         * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
4802         (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
4803         * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
4804         to struct bfd_hash_entry *.
4805         (bfd_set_section_content): Add cast to PTR in comparison.
4806         * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
4807         simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
4808         simple_dummy_unattached_reloc,
4809         bfd_simple_get_relocated_section_contents): Add K&R declarations and
4810         function definitions.
4811         * srec.c (S3Forced): Initialize to false.
4812         (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
4813         * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
4814         (_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
4815         * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
4816         (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
4817         comparisons.
4818
4819 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
4820
4821         * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
4822         relocs into shared lib non-allocated reloc sections.
4823
4824 2002-10-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
4825
4826         * dwarf2.c (add_line_info): Ensure that the line_info_table is
4827         sorted even when given an out-of-order line sequence.
4828         (lookup_address_in_line_info_table): When an exact VMA match is
4829         not found, return line information with the closest VMA.
4830
4831 2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
4832
4833         * elf64-hppa.c: Force DT_FLAGS to always be set.  Required by
4834         HPUX 11.00 patch PHSS_26559.
4835
4836 2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
4837
4838         * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
4839         the options section into a separate section unless IRIX 6
4840         compatibility is enabled.
4841
4842 2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
4843
4844         * elflink.h (struct elf_link_sort_rela): Turn rel and rela
4845         into arrays.
4846         (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
4847         (elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
4848         into account.
4849         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
4850         R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
4851
4852 2002-10-21  Graeme Peterson  <gp@qnx.com>
4853
4854         * targets.c (_bfd_target_vector): Add missing qnx vectors.
4855
4856 2002-10-21  Alan Modra  <amodra@bigpond.net.au>
4857
4858         * targets.c (bfd_target_list): Don't return the default target twice.
4859
4860 2002-10-21  Elias Athanasopoulos  <eathan@otenet.gr>
4861
4862         * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
4863         perror with bfd_perror.
4864
4865 2002-10-19  H.J. Lu <hjl@gnu.org>
4866
4867         * elflink.h (elf_link_add_object_symbols): Correctly handle
4868         DT_RPATH and DT_RUNPATH.
4869
4870 2002-10-19  Mark Kettenis  <kettenis@gnu.org>
4871
4872         * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
4873
4874 2002-10-17  Denis Chertykov  <denisc@overta.ru>
4875
4876         * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
4877         for ip2k port.
4878
4879 2002-10-17  Alan Modra  <amodra@bigpond.net.au>
4880
4881         * elfxx-target.h (USE_REL): Don't define as 1.
4882         * elf32-arm.h (USE_REL): Provide a default define of 0.
4883         Use #if rather than #ifdef when testing USE_REL.
4884         * elf32-m32r.c: Likewise.
4885
4886         * elf32-arc.c (USE_REL): Define as 1.
4887         * elf32-d10v.c (USE_REL): Likewise.
4888         * elf32-m32r.c (USE_REL): Likewise.
4889         * elf32-m68hc11.c (USE_REL): Likewise.
4890         * elf32-m68hc12.c (USE_REL): Likewise.
4891         * elf32-or32.c (USE_REL): Likewise.
4892         * elfarm-nabi.c (USE_REL): Likewise.
4893
4894 2002-10-16  Jakub Jelinek  <jakub@redhat.com>
4895
4896         * config.bfd (s390-*-linux*): Add targ64_selvecs.
4897         (s390x-*-linux*): Add targ_selvecs.
4898
4899 2002-10-16  Alan Modra  <amodra@bigpond.net.au>
4900
4901         * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
4902         elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
4903         elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
4904         elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
4905         (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
4906         (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
4907         (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
4908         (SOURCE_HFILES): Add elf32-qnx.h.
4909         (BUILD_HFILES): Add bfdver.h.
4910         Run "make dep-am".
4911         * Makefile.in: Regenerate.
4912         * configure.in Update bfd vector dependencies.
4913         * configure: Regenerate.
4914         * elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
4915         * elf32-i386qnx.c: Likewise.
4916         * elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
4917         * elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
4918         * elf32-sh-lin.c: Likewise.
4919         * elf32-shqnx.c: Likewise.
4920         * elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
4921         * elf32-sh64-nbsd.c: Likewise.
4922         * elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
4923         * elf64-sh64-nbsd.c: Likewise.
4924         * elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
4925         * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
4926         * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
4927         * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
4928         * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
4929         (elf_backend_is_contained_by_filepos): Likewise.
4930         (elf_backend_copy_private_bfd_data_p): Likewise.
4931         Globalize and move functions to..
4932         * elf32-qnx.c: ..here.  New file.
4933         * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
4934         emit target vectors when INCLUDE_SHMEDIA.
4935         * elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
4936         end of file.
4937         * elf64-sh64.c: Remove ELF_ARCH test.
4938         * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
4939         * po/BLD-POTFILES.in: Regenerate.
4940         * po/SRC-POTFILES.in: Regenerate.
4941
4942 2002-10-16  Alan Modra  <amodra@bigpond.net.au>
4943
4944         * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
4945         loaded with --just-symbols.
4946
4947         * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
4948         * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
4949         * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
4950         * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
4951
4952 2002-10-15  Richard Henderson  <rth@redhat.com>
4953
4954         * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
4955         (BFD64_BACKENDS_CFILES): Likewise.
4956         * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
4957         * elf64-alpha-fbsd.c: Remove file, move code ...
4958         * elf64-alpha.c: ... here.
4959         * Makefile.in, configure: Rebuild.
4960
4961 2002-10-14  Richard Henderson  <rth@redhat.com>
4962
4963         * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
4964         VALUE, not ADDEND.
4965
4966 2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
4967
4968         * elf32-sh.c (elf_sh_link_hash_entry): Replace
4969         datalabel_got_offset with union of datalabel_got
4970         offset and refcount.
4971         (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
4972         (allocate_dynrelocs): Delete unnecessary code for
4973         STT_DATALABEL type.  Create entry in got for
4974         datalabel version of symbol if datalabel_got.refcount > 0.
4975         (sh_elf_relocate_section): Use datalabel_got union.
4976         (sh_elf_gc_sweep_hook): Pull common code to initialize
4977         h and eh out of switch statement.  Declare seen_stt_datalabel.
4978         Initialize it.  Decrement datalabel_got.refcount for
4979         got relocs when seen_stt_datalabel is true.
4980         Decrement local_got_refcounts entry for datalabel got relocs
4981         of local symbols.
4982         (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
4983         (sh_elf_check_relocs): Declare seen_stt_datalabel.
4984         Initialize it.  When seen_stt_datalabel is true, increment
4985         datalabel_got refcount rather than got.refcount.
4986         (sh_elf_finish_dynamic_symbol): Create relocs to
4987         initialize got entry for datalabel version of symbol.
4988
4989 2002-10-14  Alan Modra  <amodra@bigpond.net.au>
4990
4991         * Makefile.am: Run "make dep-am".
4992         (BFD_H_FILES): Remove version.h.
4993         * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
4994         * version.h: ..to here.
4995         * configure.in (bfd_version_date): Remove.
4996         (AC_OUTPUT): Make bfdver.h from version.h.
4997         * bfd.c: #include "bfdver.h".
4998         * vms-hdr.c: Likewise.
4999         * Makefile.in: Regenerate.
5000         * bfd-in2.h: Regenerate.
5001         * configure: Regenerate.
5002         * po/SRC-POTFILES.in: Regenerate.
5003
5004 2002-10-14  Alan Modra  <amodra@bigpond.net.au>
5005
5006         * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
5007         bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
5008         bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
5009         bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
5010         bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
5011         bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
5012         bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
5013         bfd_mach_ip2022, bfd_mach_ip2022ext,
5014         bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
5015         * bfd-in2.h: Regenerate.
5016
5017 2002-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5018
5019         * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
5020         endian vector to targ_selvecs.
5021
5022 2002-10-13  Alexandre Oliva  <aoliva@redhat.com>
5023
5024         * elfxx-mips.c (mips_elf_calculate_relocation): Take
5025         save_addend argument.  Don't apply the 32-bit mask to a
5026         GPREL32 value if it's to be used in another relocation.  Don't
5027         use forced-check computation of local_p to decide whether to
5028         add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
5029         of the addend of a non-in-place GPREL16 relocation.
5030         (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
5031         mips_elf_calculate_relocation().
5032
5033 2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
5034
5035         * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
5036         with symbols in other sections if we relaxed something;  the sections
5037         output offsets must be re-computed before.
5038
5039 2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
5040
5041         * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
5042         handling to use Elf_Internal_Sym.
5043         (m68hc11_elf_relax_delete_bytes): Likewise.
5044
5045 2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5046
5047         * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
5048         sh_elf_object_p, dtpoff_base): New functions.
5049         (sh_elf_howto_table): Add TLS relocs.
5050         (sh_reloc_map): Likewise.
5051         (sh_elf_info_to_howto): Support TLS relocs.
5052         (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
5053         (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
5054         New macros.
5055         (sh_elf_obj_tdata): New.
5056         (elf_sh_link_hash_table): Add tls_ldm_got.
5057         (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
5058         (allocate_dynrelocs): Support TLS relocs.
5059         (sh_elf_size_dynamic_sections): Likewise.
5060         (sh_elf_relocate_section): Support TLS relocs.  Don't try to find
5061         .rela.got section when found already.  Return false after printing
5062         error about unresolvable relocation.
5063         (sh_elf_gc_sweep_hook): Support TLS relocs.
5064         (sh_elf_check_relocs): Likewise.
5065         (sh_elf_finish_dynamic_symbol): Likewise.
5066         (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
5067         * reloc.c: Add SH TLS relocs.
5068         * bfd-in2.h, libbfd.h: Regenerate.
5069
5070 2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
5071
5072         * Makefile.in: Regenerated.
5073
5074 2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
5075
5076         * Makefile.am: Run dep-am.
5077         (BFD_H_DEP): Add simple.c and linker.c.
5078         (BFD32_LIBS): Add simple.lo.
5079         (BFD32_LIBS_CFILES): Add simple.c.
5080         * Makefile.in: Regenerated.
5081         * bfd-in2.h: Regenerated.
5082         * simple.c: New file.
5083
5084 2002-10-11  Alan Modra  <amodra@bigpond.net.au>
5085
5086         * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
5087         (record_thumb_to_arm_glue): Likewise.
5088         * ecoff.c (ecoff_link_add_externals): Likewise.
5089         * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
5090         (record_thumb_to_arm_glue): Likewise.
5091         * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
5092         * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
5093         * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
5094         * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
5095         * elf64-ppc.c (func_desc_adjust): Likewise.
5096         * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
5097         (sh64_elf64_create_dynamic_sections): Likewise.
5098         * elflink.c (_bfd_elf_create_got_section): Likewise.
5099         (_bfd_elf_create_dynamic_sections): Likewise.
5100         (_bfd_elf_create_linker_section): Likewise.
5101         * elflink.h (elf_add_default_symbol): Likewise.
5102         (elf_link_create_dynamic_sections): Likewise.
5103         (NAME(bfd_elf,size_dynamic_sections)): Likewise.
5104         * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
5105         * elfxx-mips.c (mips_elf_create_got_section): Likewise.
5106         (_bfd_mips_elf_add_symbol_hook): Likewise.
5107         (_bfd_mips_elf_create_dynamic_sections): Likewise.
5108         * linker.c (generic_link_add_symbol_list): Likewise.
5109         * xcofflink.c (xcoff_link_add_symbols): Likewise.
5110
5111         * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
5112
5113         * elf64-ppc.c (edit_opd): Only zero opd syms when function is
5114         completely removed.  Correct local sym adjustment.
5115
5116 2002-10-10  Stephen Clarke <stephen.clarke@superh.com>
5117
5118         * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
5119         Correct mistake in calculation of address of .got.
5120         * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
5121         elf_sh64_pic_plt_entry_le): Likewise.
5122
5123 2002-10-09  Richard Shann <richard.shann@superh.com>
5124             Stephen Clarke <stephen.clarke@superh.com>
5125
5126         * Makefile.am: Add entries for elf32-sh64-lin.c and
5127         elf64-sh64-lin.c. Regenerate.
5128         * Makefile.in: Regenerate.
5129         * config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
5130         to use sh64 vectors rather than sh vectors.
5131         * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5132         bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
5133         * configure: Regenerate.
5134         * elf32-sh64-lin.c: New file.
5135         * elf64-sh64-lin.c: New file.
5136         * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
5137         bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
5138
5139 2002-10-08  H.J. Lu <hjl@gnu.org>
5140
5141         * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
5142         IE->LE transition for R_386_TLS_IE.
5143
5144 2002-10-08  Alan Modra  <amodra@bigpond.net.au>
5145
5146         * elf64-ppc.c (edit_opd): Correct test for discarded sections.
5147
5148 2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
5149
5150         * cofflink.c (mark_relocs): Don't mark relocations in excluded
5151         sections.
5152
5153 2002-10-07  Alan Modra  <amodra@bigpond.net.au>
5154
5155         * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
5156         code.
5157
5158         * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
5159
5160 2002-10-06  Alan Modra  <amodra@bigpond.net.au>
5161
5162         * opncls.c: Formatting.
5163         (_bfd_new_bfd): Use a smaller section hash table.
5164
5165 2002-10-05  Alexandre Oliva  <aoliva@redhat.com>
5166
5167         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
5168         of the other two relocations packed with a REL32 to NONE.
5169
5170 2002-10-02  Stephen Clarke <stephen.clarke@superh.com>
5171
5172         * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
5173         (sh_elf_link_hash_newfunc): Initialize it.
5174         (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
5175         to got.refcount for symbols that are forced local or when
5176         we have direct got refs.
5177         (sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
5178         to correctly adjust got.refcount and plt.refcount.
5179         (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
5180         (sh_elf_check_relocs): Increment gotplt_refcount.
5181
5182 2002-10-01  Jakub Jelinek  <jakub@redhat.com>
5183
5184         * elf32-i386.c (elf_i386_relocate_section): Fix
5185         movl foo@indntpoff, %eax IE->LE transition.
5186
5187 2002-10-01  Jakub Jelinek  <jakub@redhat.com>
5188
5189         * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
5190         sequence and its transitions.
5191
5192 2002-10-01  Jakub Jelinek  <jakub@redhat.com>
5193
5194         * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
5195         to st_value + addend in non-code sections.
5196         * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
5197         R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
5198
5199 2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
5200             Ken Raeburn  <raeburn@cygnus.com>
5201             Aldy Hernandez  <aldyh@redhat.com>
5202             Eric Christopher  <echristo@redhat.com>
5203             Richard Sandiford  <rsandifo@redhat.com>
5204
5205         * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
5206         (bfd_mach_mips5500): New.
5207         * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
5208         (arch_info_struct): Add corresponding entries here.
5209         * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
5210         E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
5211         (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
5212         bfd_mach_mips5400 and bfd_mach_mips5500.
5213         (_bfd_mips_elf_mach_extends_p): New function.
5214         (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
5215         the EF_MIPS_MACH flags.
5216         * bfd-in2.h: Regenerate.
5217
5218 2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
5219
5220         * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
5221         .got sections.
5222
5223 2002-09-28  Alan Modra  <amodra@bigpond.net.au>
5224
5225         * elf.c (map_sections_to_segments): Correct test for start of
5226         writable section in the same page as end of read-only section.
5227
5228 2002-09-27  Matt Thomas  <matt@3am-software.com>
5229
5230         * elf32-vax.c (elf_vax_check_relocs): Remove unused
5231         local_got_refcounts usage.  Remove allocation of got slot.
5232         (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
5233         Remove de-allocation of got slot.
5234         (elf_vax_size_dynamic_section): Fix some indentation.  Add hash
5235         traversal for elf_vax_instantiate_got_entries.  Allow empty .got
5236         sections to be GC'ed.
5237         (elf_vax_instantiate_got_entries): New function.
5238         (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
5239         tests that are now handled by elf_vax_instantiate_got_entries.
5240         Assert GOT entry falls within .got section size.  Remove redundant
5241         comparisions.  Fix comments.
5242
5243 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
5244
5245         * reloc.c: Add x86-64 TLS relocs.
5246         * bfd-in2.h, libbfd.h: Rebuilt.
5247         * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
5248         relocs.  Add TLS relocs.
5249         (x86_64_reloc_map): Add TLS relocs.
5250         (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
5251         (struct elf64_x86_64_link_hash_entry): Add tls_type field.
5252         (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
5253         (elf64_x86_64_hash_entry): Define.
5254         (struct elf64_x86_64_obj_tdata): New.
5255         (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
5256         (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
5257         (link_hash_newfunc): Initialize tls_type.
5258         (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
5259         (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
5260         (elf64_x86_64_mkobject): New.
5261         (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
5262         (elf64_x86_64_tls_transition): New.
5263         (elf64_x86_64_check_relocs): Add r_type variable and use it.
5264         Handle TLS relocs.
5265         (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
5266         (allocate_dynrelocs): Allocate GOT space for TLS relocs.
5267         (elf64_x86_64_size_dynamic_sections): Likewise.
5268         (dtpoff_base, tpoff): New.
5269         (elf64_x86_64_relocate_section): Handle TLS relocs.
5270         (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
5271         entries.
5272         (bfd_elf64_mkobject): Define.
5273
5274         * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
5275         DF_STATIC_TLS if shared.
5276
5277 2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5278
5279         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
5280         empty relocation sections.
5281
5282 2002-09-26  Alan Modra  <amodra@bigpond.net.au>
5283
5284         * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
5285         (ppc64_elf_build_stubs): Build them here instead.
5286
5287 2002-09-24  Jakub Jelinek  <jakub@redhat.com>
5288
5289         * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
5290         addend into r_addend, not *r_offset.
5291         (elf32_sparc_finish_dynamic_symbol): Likewise.
5292         * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
5293         R_SPARC_RELATIVE's r_offset.
5294
5295 2002-09-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
5296
5297         * dwarf2.c (decode_line_info): Update to correctly decode
5298         the (non-standard DWARF2) out-of-order address sequences
5299         generated by the Intel C++ 6.0 compiler for ia64-Linux.
5300
5301 2002-09-23  Mark Elbrecht  <snowball3@softhome.net>
5302
5303         * config.bfd: For DJGPP targets, match with any cpu and any machine.
5304
5305 2002-09-23  Alan Modra  <amodra@bigpond.net.au>
5306
5307         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
5308         for discarded FDEs.  Remove redundant assignment.
5309         * elflink.h (elf_bfd_discard_info): Save edited relocs.
5310
5311 2002-09-22  H.J. Lu <hjl@gnu.org>
5312
5313         * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
5314         the relocation count between different .reloc sections.
5315
5316 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
5317
5318         * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
5319         ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
5320         R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
5321         R_PPC_EMB_RELSDA.
5322
5323         * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
5324         unsigned.  Move "symcount" assignment out of loop.
5325         * Makefile.am: Run "make dep-am".
5326         * Makefile.in: Regenerate.
5327         * configure: Regenerate.
5328         * po/SRC-POTFILES.in: Regnerate.
5329
5330 2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
5331
5332         * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
5333         zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
5334         (e.g. IRIX64).
5335
5336 2002-09-19  Jakub Jelinek  <jakub@redhat.com>
5337
5338         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
5339         even if generating R_PPC_RELATIVE reloc.
5340         (ppc_elf_relocate_section): Make sure relocation is performed
5341         if skip == -2.  Clear memory at r_offset when creating dynamic
5342         relocation.
5343
5344 2002-09-19  Jakub Jelinek  <jakub@redhat.com>
5345
5346         * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
5347         BFD_RELOC_386_TLS_GOTIE): Add.
5348         * bfd-in2.h, libbfd.h: Rebuilt.
5349         * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
5350         and R_386_TLS_GOTIE.
5351         (elf_i386_reloc_type_lookup): Handle it.
5352         (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
5353         char instead of enum, change GOT_* into defines.
5354         (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
5355         (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5356         (elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
5357         accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
5358         R_386_PLT32 cases so that R_386_TLS_IE can fall through.
5359         Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5360         (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5361         Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5362         (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
5363         tls_type is GOT_TLS_IE_BOTH.
5364         (elf_i386_size_dynamic_sections): Likewise.
5365         (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
5366         Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
5367         (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
5368         all 4 GOT_TLS_* TLS types.
5369
5370 2002-09-19  Nick Clifton  <nickc@redhat.com>
5371
5372         * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
5373         follow indirect links.
5374
5375 2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
5376
5377         * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
5378         correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
5379         on 64 bit machines.
5380         (ecoff_swap_sym_in) <iss>: Likewise.
5381         * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
5382         ECOFF information: 'ioptMax' refers to the actual *size*
5383         of the optimization symtab, not the number of entries.
5384
5385 2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
5386
5387         * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
5388         ELF_LINK_HASH_NEEDS_PLT logic.
5389
5390 2002-09-18  Daniel Jacobowitz  <drow@mvista.com>
5391
5392         * elfcode.h (elf_slurp_reloc_table_from_section): Check
5393         correct relocation count.
5394
5395 2002-09-17  Daniel Jacobowitz  <drow@mvista.com>
5396
5397         * bfd-in.h (bfd_get_dynamic_symcount): Define.
5398         * bfd.c (struct _bfd): Add dynsymcount.
5399         * bfd-in2.h: Regenerated.
5400         * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
5401         abfd->dynsymcount.
5402         * elfcode.h (elf_slurp_reloc_table_from_section): Check
5403         for overflow.
5404
5405 2002-09-17  Stan Cox <scox@redhat.com>
5406
5407         * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
5408         (mips_elf64_final_gp): Don't make up gp value.
5409         * elfn32-mips.c (mips_elf_final_gp): Likewise.
5410         * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
5411         .MIPS.options/.options section.
5412
5413 2002-09-17  David O'Brien  <obrien@FreeBSD.org>
5414
5415         * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
5416         It is benign for FreeBSD < 4.1.  Minor reformatting.
5417         * elf64-alpha-fbsd.c: Likewise.
5418
5419 2002-09-17  Jakub Jelinek  <jakub@redhat.com>
5420
5421         * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
5422         addend.
5423
5424 2002-09-17  Alan Modra  <amodra@bigpond.net.au>
5425
5426         * elf64-alpha.c (alpha_elf_size_info): Make static.
5427
5428 2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
5429
5430         * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
5431         * cpu-tic4x.c: Ditto.
5432
5433 2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5434
5435         * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
5436         duplicate define.
5437
5438 2002-09-16  Bruno Haible  <bruno@clisp.org>
5439
5440         * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
5441         by a target variant implementation.
5442         * elf64-alpha.c: Likewise.
5443         * elf32-i386-fbsd.c: New file.
5444         * elf64-alpha-fbsd.c: New file.
5445         * targets.c: Support bfd_elf32_i386_freebsd_vec and
5446         bfd_elf64_alpha_freebsd_vec.
5447         * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
5448         bfd_elf64_alpha_freebsd_vec.
5449         * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
5450         (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
5451         (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
5452         (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
5453         (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
5454         * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
5455         specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
5456
5457 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
5458
5459         * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
5460         NULL.
5461         (elf_i386_relocate_section): Return false after printing error about
5462         unresolvable relocation.
5463
5464 2002-09-12  Nick Clifton  <nickc@redhat.com>
5465
5466         * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
5467         R_ARM_THM_PC11.
5468
5469 2002-09-11  Jeffrey Law  <law@redhat.com>
5470
5471         * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
5472
5473 2002-09-11  Andrew Haley  <aph@cambridge.redhat.com>
5474
5475         * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
5476         line_ptr before deciding we've found a symbol.
5477
5478 2002-09-11  Nick Clifton  <nickc@redhat.com>
5479
5480         * po/da.po: New Danish translation file.
5481         * configure.in (LINGUAS): Add 'da'.
5482         * configure: Regenerate.
5483
5484 2002-09-10  Michael Snyder  <msnyder@redhat.com>
5485
5486         * irix-core.c (do_sections, do_sections64): New functions.
5487         (irix_core_core_file_p): Call new functions do_sections,
5488         do_sections64, depending on corefile (32-bit or 64-bit).
5489
5490 2002-09-09  Richard Henderson  <rth@redhat.com>
5491
5492         * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
5493         and PCREL21F like PCREL21B.
5494
5495 2002-09-04  Kevin Buettner  <kevinb@redhat.com>
5496
5497         * config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
5498         vector.
5499
5500 2002-09-02  Nick Clifton  <nickc@redhat.com>
5501
5502         * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
5503         names instead of cryptically overloaded bfd_reloc error
5504         codes.
5505         (v850_elf_relocate_section): Likewise.
5506         (v850_elf_relax_section): Replace caching of external symbols
5507         with caching of internal symbols obtained from calling
5508         bfd_elf_get_elf_syms().
5509         Fixup problems with freeing cached allocated memory blocks.
5510
5511 2002-09-02  Alan Modra  <amodra@bigpond.net.au>
5512
5513         * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
5514         (bfd_pj_arch): Use bfd_default_scan.
5515         * cpu-v850.c (scan): Remove.
5516         (N): Use bfd_default_scan.
5517         * cpu-z8k.c (scan_mach): Remove.
5518         (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
5519         first.  Use bfd_default_scan.
5520
5521         * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
5522         bfd_mach constants.
5523         (ecoff_get_magic): Likewise.
5524         * elf32-v850.c (v850_elf_object_p): Likewise.
5525         (v850_elf_final_write_processing): Likewise.
5526         * mipsbsd.c (MY(set_arch_mach)): Likewise.
5527         (MY(write_object_contents)): Likewise.
5528         * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
5529         * coffcode.h (coff_write_object_contents): Likewise.
5530         (coff_set_arch_mach_hook): Add comment describing machine == 0.
5531         Remove unnecessary "machine" assignments.
5532         (coff_write_relocs): Test for the absolute section sym by testing
5533         section and flags.
5534
5535         * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
5536         and bfd_mach_i386_i386_intel_syntax.
5537         * pdp11.c (NAME(aout,machine_type)): Likewise.
5538
5539 2002-08-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5540
5541         * bfd-in.h (align_power): Cast constants to bfd_vma type.
5542         * bfd-in2.h (align_power): Likewise.
5543
5544 2002-08-30  Alan Modra  <amodra@bigpond.net.au>
5545
5546         * Makefile.am: Run "make dep-am".
5547         * Makefile.in: Regenerate.
5548
5549         * cpu-avr.c (compatible): Don't use hard-coded mach constants.
5550         * cpu-powerpc.c (powerpc_compatible): Likewise.
5551         * cpu-rs6000.c (rs6000_compatible): Likewise.
5552
5553 2002-08-28  Catherine Moore  <clm@redhat.com>
5554
5555         * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
5556         (v850-elf-reloc): Don't resolve pc relative relocs.
5557         (v850_elf_ignore_reloc): New routine.
5558         (v850_elf_final_link_relocate): Handle new relocs.
5559         (v850_elf_relax_delete_bytes ): New routine.
5560         (v850_elf_relax_section): New routine.
5561         (bfd_elf32_bfd_relax_section): Define.
5562         (HOWTO): New entries for new relocs.
5563         * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
5564         (BFD_RELOC_V850_LONGJUMP): New reloc.
5565         (BFD_RELOC_V850_ALIGN): New reloc.
5566         * archures.c: Remove redundant v850ea architecture.
5567         * cpu-v850.c: Remove redundant v850ea support.
5568         * libbfd.h: Regenerate.
5569         * bfd-in2.h: Regenerated.
5570
5571 2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
5572
5573         * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
5574         * configure.in: Add tic4x_coff vector files.
5575         * configure: Regenerate.
5576         * Makefile.am: Add tic4x target.
5577         * Makefile.in: Regenerate.
5578
5579 2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
5580
5581         * archures.c: Add the BFD arch type tic4x.
5582         * bfd-in.h: Add BFD_IN_MEMORY flag.
5583         * coff-tic4x.c: New file.
5584         * coffswap.h (coff_swap_sym_out): Add preadjuster.
5585         * cpu-tic4x.c: New file.
5586         * targets.c: Added tic4x- in list of xvecs.
5587         * ticoff.h: New file.
5588         * bfd-in2.h: Regenerate.
5589
5590 2002-08-27  Adam Nemet  <anemet@lnxw.com>
5591
5592         * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
5593         bit of DT_INIT and DT_FINI for Thumb functions.
5594
5595 2002-08-26  Alan Modra  <amodra@bigpond.net.au>
5596
5597         * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
5598
5599 2002-08-26  Alan Modra  <amodra@bigpond.net.au>
5600
5601         * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
5602
5603 2002-08-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
5604
5605         * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
5606         (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
5607         Likewise.
5608         (struct elf_sh_pcrel_relocs_copied): Removed.
5609         (struct elf_sh_dyn_relocs): New.
5610         (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
5611         field with dyn_relocs.
5612         (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
5613         sections and sym_sec.
5614         (sh_elf_link_hash_newfunc): Clear dyn_relocs.
5615         (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
5616         (sh_elf_create_dynamic_sections): Use create_got_section instead
5617         of _bfd_elf_create_got_section.
5618         (sh_elf_check_relocs): Likewise.
5619         (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
5620         sections.
5621         (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
5622         sh_elf_relocate_section, sh_elf_check_relocs,
5623         sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
5624         Likewise.
5625         (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
5626         dynamic relocations and avoiding the copy relocation when we
5627         didn't find any dynamic relocations in the section which has
5628         contents or is read-only.
5629         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5630         (sh_elf_size_dynamic_sections): Don't reset the size of
5631         .rela.got section even if dynamic_sections_created flag is off.
5632         Don't use sh_elf_discard_copies. Scan all input bfd and use
5633         allocate_dynrelocs. Call readonly_dynrelocs to determine
5634         whether we need DT_TEXTREL.
5635         (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
5636         whether the symbol was never referred to.
5637         (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
5638         (sh_elf_gc_sweep_hook): Fill with the real sweep function.
5639         (sh_elf_check_relocs): Call create_got_section if the short-cut
5640         to .got is null. Increment reference counters only instead of
5641         allocating space on dynamic sections here. Don't conditionalize
5642         uninitialized got.offset value when marking the symbol as a
5643         global offset table entry. Keep relocations for symbols satisfied
5644         by a dynamic library to avoid copy relocations for the symbol.
5645         Set dynobj field of an elf hash table if needed.
5646         (sh_elf_finish_dynamic_sections): Handle null section pointer
5647         correctly.
5648         (elf_backend_copy_indirect_symbol): Defined.
5649         (elf_backend_can_refcount): Defined.
5650
5651 2002-08-23  Nick Clifton  <nickc@redhat.com>
5652
5653         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
5654         previous change.  Add comment explaining why.
5655
5656 2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
5657
5658         * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
5659         contents of .got.plt[2] to tr0, not address of .got.plt.
5660         (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
5661         patching absolute plt entry. For shmedia plt entry, set bottom bit
5662         of branch to plt0 as this is a branch to an shmedia instruction.
5663         * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
5664         Copy contents of .got.plt[2] to tr0, not address of .got.plt.
5665         (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
5666         branch to plt0.
5667         (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
5668         patching absolute plt entry. For shmedia plt entry, branch to
5669         plt0 is now ptrel, so use relative offset.  Set bottom bit of
5670         branch target as it is a branch to an shmedia instruction.
5671
5672 2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
5673             Richard Shann <richard.shann@superh.com>
5674
5675         * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
5676         value if .init is an SHmedia function.  Similarly for DT_FINI.
5677         * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
5678
5679 2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
5680
5681         * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
5682         dynamic section.
5683         * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
5684
5685 2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
5686
5687         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
5688         byte read when reading the return address register column.
5689
5690 2002-08-22  Nick Clifton  <nickc@redhat.com>
5691
5692         * config.bfd: Add powepc64-*-*bsd* target.
5693
5694 2002-08-22  Graeme Peterson  <gp@qnx.com>
5695
5696         * Makefile.am: Add entries for elf32-shqnx.c
5697         * Makefile.in: Regenerate.
5698         * config.bfd: Add support sh-*-nto* target.
5699         * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
5700         * configure: Regenerate.
5701         * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
5702         * elf32-sh.c: Do not include elf32-target.h if
5703         ELF32_SH_C_INCLUDED is defined.
5704         * elf32-shqnx.c: New file: Support for QNX.
5705         * targets.c: Add bfd_elf32_sh{l}qnx_vec.
5706
5707 2002-08-22  Nick Clifton  <nickc@redhat.com>
5708
5709         * po/tr.po: Updated Turkish translation.
5710
5711         * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
5712         symbols are not read.
5713
5714 2002-08-22  Alan Modra  <amodra@bigpond.net.au>
5715
5716         * elf32-m68hc11.c: Formatting fixes.
5717         (elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
5718         * elf32-m68hc12.c: Formatting fixes.
5719         (elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
5720
5721 2002-08-22  Alan Modra  <amodra@bigpond.net.au>
5722
5723         * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
5724         SEC_DATA.
5725         (pmac_xcoff_vec): Likewise.
5726         * coff64-rs6000.c (rs6000coff64_vec): Likewise.
5727         (aix5coff64_vec): Likewise.
5728
5729 2002-08-22  Alan Modra  <amodra@bigpond.net.au>
5730
5731         * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
5732         param to elf_backend_copy_indirect_symbol.
5733         (_bfd_elf_link_hash_copy_indirect): Likewise.
5734         * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
5735         calls to copy_indirect_symbol.
5736         * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
5737         * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
5738         * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
5739         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
5740         * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
5741         * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
5742         * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
5743         * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
5744         * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
5745         * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
5746         test refcounts for "used" values.
5747
5748 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5749
5750         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
5751         argument declaration.
5752
5753 2002-08-19  Elena Zannoni <ezannoni@redhat.com>
5754
5755         * archures.c (bfd_mach_ppc_e500): Added.
5756         * bfd-in2.h: Rebuilt.
5757         * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
5758
5759 2002-08-19  Alan Modra  <amodra@bigpond.net.au>
5760
5761         * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
5762
5763 2002-08-17  Andrew Cagney  <ac131313@redhat.com>
5764
5765         * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
5766         `bfd_byte'.
5767
5768 2002-08-17  Stan Cox  <scox@redhat.com>
5769
5770         * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
5771         IRIX 6 segment layout for NEWABI.
5772
5773 2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
5774
5775         * elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
5776         symbols when looking for section referred to by a relocation.
5777         * elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
5778
5779 2002-08-15  Alan Modra  <amodra@bigpond.net.au>
5780
5781         * elf32-i370.c: Move reloc enum to include/elf/i370.h.
5782
5783 2002-08-15  Hans-Peter Nilsson  <hp@axis.com>
5784
5785         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
5786         missing check for whether the symbol is referenced by DSO before
5787         unexporting it as an unneeded dynamic symbol.
5788
5789 2002-08-14  H.J. Lu <hjl@gnu.org>
5790
5791         * libbfd.h: Regenerate.
5792
5793 2002-08-14  H.J. Lu <hjl@gnu.org>
5794
5795         * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
5796
5797 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
5798
5799         * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
5800         instructions.
5801         (m68hc11_direct_relax): New to define table of relaxable instructions.
5802         (find_relaxable_insn): New, find a relaxable insn.
5803         (compare_reloc): New to compare two relocs.
5804         (m68hc11_elf_relax_section): New, relax text sections.
5805         (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
5806         (elf32_m68hc11_check_relocs): New function for GC support.
5807         (elf32_m68hc11_relocate_section): New function for GC support.
5808         (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
5809         (elf_backend_check_relocs): Likewise.
5810         (elf_backend_relocate_section): Likewise.
5811
5812 2002-08-13  H.J. Lu <hjl@gnu.org>
5813
5814         * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
5815         definitions in shared objects when checking symbol with
5816         undefined version.
5817
5818 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
5819
5820         * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
5821         (elf32_m68hc11_gc_sweep_hook): Likewise.
5822         (elf_backend_gc_mark_hook): Define for GC section support.
5823         (elf_backend_gc_sweep_hook): Likewise.
5824         (elf_backend_can_gc_sections): Likewise.
5825
5826         * elf32-m68hc12.c: Likewise.
5827
5828 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
5829
5830         * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
5831         (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
5832         (_bfd_m68hc11_elf_set_private_flags): New function.
5833         Use them to set/check/print ELF flags specific to 68HC11.
5834
5835         * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
5836         (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
5837         (_bfd_m68hc12_elf_set_private_flags): New function.
5838         Use them to set/check/print ELF flags specific to 68HC12.
5839
5840 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
5841
5842         * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
5843         fix masks for PC-rel relocs.
5844         (m68hc11_elf_ignore_reloc): New function.
5845
5846         * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
5847         68HC12 banked addressing relocs.
5848         (m68hc12_phys_addr): New to compute physical address of banked memory.
5849         (m68hc12_phys_page): Likewise for page.
5850         (m68hc12_addr_is_banked): New to see if address is in banked area.
5851         (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
5852
5853 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
5854
5855         * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
5856         BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
5857         BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
5858         * bfd-in2.h: Regenerate.
5859
5860 2002-08-12  H.J. Lu <hjl@gnu.org>
5861
5862         * elflink.h (elf_add_default_symbol): Preserve section across
5863         elf_merge_symbol.
5864
5865 2002-08-09  Graeme Peterson  <gp@qnx.com>
5866
5867         * Makefile.am: Add entries for elf32-ppcqnx.c, and add
5868         elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
5869         * Makefile.in: Regenerate.
5870         * config.bfd: Add support for powerpc{le}-*-nto targets.
5871         * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
5872         * configure: Regenerate.
5873         * elf32-i386qnx.c: Moved backend functions into a QNX specific
5874         common file "elf32-qnx.h", and now include that file.
5875         * elf32-qnx.h: New file: QNX specific common elf backend.
5876         * elf32-ppc.c: Do not include elf32-target.h if
5877         ELF32_PPC_C_INCLUDED is defined.
5878         * elf32-ppcqnx.c: New file: Support for QNX.
5879         * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
5880         * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
5881
5882 2002-08-09  Nick Clifton  <nickc@redhat.com>
5883
5884         * po/sv.po: Updated Swedish translation.
5885
5886 2002-08-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5887
5888         * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
5889         g->global_gotsym is NULL.
5890
5891 2002-08-08  H.J. Lu <hjl@gnu.org>
5892
5893         * elflink.h (elf_add_default_symbol): Don't warn if a definition
5894         overrides an indirect versioned symbol.
5895
5896 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
5897
5898         * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
5899         for R_386_TLS_TPOFF32 relocs against symndx 0.
5900
5901 2002-08-07  H.J. Lu <hjl@gnu.org>
5902
5903         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
5904         with undefined version if needed.
5905         (elf_link_assign_sym_version): Match a default symbol with a
5906         version without definition. No need to hide the default
5907         definition separately.
5908
5909 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
5910
5911         * elflink.h (elf_link_output_extsym): Don't output symbols from
5912         SEC_EXCLUDE sections.
5913
5914         * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
5915
5916 2002-08-07  Alan Modra  <amodra@bigpond.net.au>
5917
5918         * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
5919         entries.
5920
5921 2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5922
5923         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
5924         mismatch.
5925
5926 2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5927
5928         * elfxx-mips.c (ABI_64_P): Remove superfluous check.
5929
5930 2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
5931
5932         * elf32-mips.c (mips_reloc_map): Fix typo.
5933
5934 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
5935
5936         * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
5937
5938 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
5939
5940         * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
5941
5942 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
5943
5944         * libxcoff.h: Use PARAMS on function declarations.
5945         * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
5946         * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
5947
5948         * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
5949         addend.
5950         * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
5951
5952 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
5953
5954         * coff-rs6000.c: Formatting fixes.
5955         (xcoff_calculate_relocation): Use PARAMS in declaration.
5956         (xcoff_complain_overflow): Likewise.
5957         (xcoff_ppc_relocate_section): Use old-style function pointer call.
5958         (bfd_xcoff_backend_data): Remove useless comments.
5959         (rs6000coff_vec): Likewise.
5960         (bfd_pmac_xcoff_backend_data): Likewise.
5961         (pmac_xcoff_vec): Likewise.
5962
5963         * coff64-rs6000.c: Formatting fixes.
5964         (xcoff64_calculate_relocation): Use PARAMS in declaration.
5965         (xcoff64_ppc_relocate_section): Use old-style function pointer call.
5966         (bfd_xcoff_backend_data): Remove useless comments.
5967         (rs6000coff64_vec): Likewise.
5968         (bfd_xcoff_aix5_backend_data): Likewise.
5969         (aix5coff64_vec): Likewise.
5970
5971 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
5972
5973         * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
5974         mask entries.  Use complain_overflow_dont for R_REF.
5975         (xcoff_reloc_type_ba): Revert last change.
5976         (xcoff_reloc_type_br): Likewise.
5977         (xcoff_reloc_type_crel): Likewise.
5978         (xcoff_ppc_relocate_section): Likewise.
5979         * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
5980         (xcoff64_ppc_relocate_section): Likewise.
5981         (xcoff64_howto_table): Revert some of last change to mask entries.
5982         Use complain_overflow_dont for R_REF.
5983
5984         * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries.  Make all
5985         relocs with bitsize == 16 have size = 1.
5986         (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
5987         (xcoff_reloc_type_br): Likewise.
5988         (xcoff_reloc_type_crel): Likewise.
5989         (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
5990         * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
5991         dst_mask adjustment.
5992         (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
5993         (xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
5994         bitsize == 16 have size = 1.
5995
5996 2002-08-01  Denis Chertykov  <denisc@overta.ru>
5997
5998         * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
5999         (struct misc): New field isymbuf. All free_* fields removed.
6000         (symbol_value): Pass in internal syms. No need to swap syms in.
6001         (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
6002         possibly cached info.
6003         (tidyup_after_error): Removed.
6004         (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
6005         misc. Use new field.
6006         (adjust_all_relocations): Use internal syms. No need to swap syms
6007         in and out.
6008         (add_page_insn): Don't use removed fields of struct misc.
6009
6010 2002-08-01  Nick Clifton  <nickc@redhat.com>
6011
6012         * elf32-arm.h: Revert previous delta.
6013
6014 2002-08-01  Nick Clifton  <nickc@redhat.com>
6015
6016         * configure.in (AM_INIT_AUTOMAKE): Bump version number.
6017         * configure: Regenerate.
6018
6019 2002-07-31  H.J. Lu <hjl@gnu.org>
6020
6021         * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
6022         selected.
6023
6024 2002-07-31  H.J. Lu <hjl@gnu.org>
6025
6026         * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
6027         is selected.
6028
6029 2002-07-31  Jakub Jelinek  <jakub@redhat.com>
6030
6031         * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
6032         if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
6033
6034 2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6035
6036         * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
6037         There is no 8 byte relocation type for this architecture.
6038         (do_ns32k_reloc): Use bfd_vma instead of native types.
6039         (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
6040         returns void.
6041         (_bfd_ns32k_put_displacement): Don't check for overflow. We can
6042         rely on generic code to do that.
6043         * aout-ns32k.c (howto_table): Add appropriate overflow detection
6044         to all table entries.
6045         (_bfd_ns32k_relocate_contents): put_data returns void.
6046         * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
6047         (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
6048         return void.
6049
6050 2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6051
6052         * aoutx.h (aout_link_check_ar_symbols): Whether to include an
6053         archive object is target dependant.
6054
6055 2002-07-31  Adam Nemet  <anemet@lnxw.com>
6056
6057         * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
6058         (THUMB_PLT_ENTRY_SIZE): New macro.
6059         (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
6060         (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
6061         ARM_PLT_ENTRY_SIZE.
6062         (elf32_arm_plt_entry): Likewise.
6063         (elf_backend_plt_header_size): Likewise.
6064         (elf32_thumb_plt0_entry): New global.
6065         (elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
6066         into .plt.thumb.
6067         (elf32_thumb_plt_entry): New global.
6068         (elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
6069         Thumb entries.  Set the bottom bit of the corresponding GOT entry
6070         for a Thumb PLT entry.
6071         (struct elf32_arm_plt_entry_info): New structure.
6072         (struct elf32_arm_link_hash_entry, plt_info): New member of this
6073         type.
6074         (elf32_arm_link_hash_newfunc): Initialize new member.
6075         (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
6076         relocations against the PLT.
6077         (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
6078         first_rel_type if this is the first time we encounter the symbol.
6079         (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
6080         Determine if relocation needs a PLT entry.  Set first_rel_type if
6081         this is the first time we encounter the symbol
6082         (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
6083         functions as well.
6084         (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
6085         (elf32_arm_create_dynamic_sections): New function.  Create the
6086         .plt.thumb section.
6087         (elf_backend_create_dynamic_sections): Call it.
6088
6089 2002-07-31  Nick Clifton  <nickc@redhat.com>
6090
6091         * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
6092         'alternative' in order to avoid shadowing global symbol of the
6093         same name.
6094         * bfd-in2.h: Regenerate.
6095         * libbfd.h: Regenerate.
6096         * libcoff.h: Regenerate.
6097
6098 2002-07-31  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6099
6100         * Makefile.am: Add n32 ABI support.
6101         * Makefile.in: Regenerate.
6102         * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
6103         bit vectors for mips*-*-linux targets as optional.
6104         * configure.in: Add n32 ABI vectors.
6105         * configure: Regenerate.
6106         * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
6107         * elfn32-mips.c: New file, n32 ABI support.
6108         * targets.c: Add n32 ABI vectors.
6109
6110 2002-07-30  Graeme Peterson  <gp@qnx.com>
6111
6112         * elfarmqnx-nabi.c: New file: Support for QNX.
6113         * config.bfd: Add support for arm-*-nto target.
6114         * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
6115         * configure: Regenerate.
6116         * Makefile.am: Add entries for elfarmqnx-nabi.c.
6117         * Makefile.in: Regenerate.
6118         * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
6119         Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
6120         * elfarm-nabi.c: Do not include elf32-arm.h if
6121         ELFARM_NABI_C_INCLUDED is defined.
6122         * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
6123
6124 2002-07-30  Nick Clifton  <nickc@redhat.com>
6125
6126         * po/sv.po: Updated Swedish translation.
6127
6128 2002-07-30  Jakub Jelinek  <jakub@redhat.com>
6129
6130         * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
6131
6132 2002-07-30  Alan Modra  <amodra@bigpond.net.au>
6133
6134         * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
6135         * archive.c (bfd_generic_archive_p): Likewise.
6136         * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
6137         (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
6138         * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
6139         (xcoff64_archive_p): Likewise.
6140         (xcoff64_openr_next_archived_file): Likewise.
6141         (xcoff64_archive_p): Clean up tdata properly on error.
6142         * coffgen.c (coff_real_object_p): Likewise.
6143         (coff_object_p): Release filehdr and opthdr.
6144         * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
6145         * ieee.c (ieee_archive_p): Likewise.
6146         * ihex.c (ihex_object_p): Likewise.
6147         (ihex_mkobject): Always allocate tdata.
6148         * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
6149         * srec.c (srec_mkobject): Always allocate tdata.
6150         (srec_object_p): Clean up tdata properly on error.
6151         (symbolsrec_object_p): Likewise.
6152         * versados.c (versados_object_p): Likewise.
6153         * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
6154         and bfd_realloc instead of realloc.
6155         (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
6156         * vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
6157         place of bfd_malloc, simplifying error freeing.  Free hash table too.
6158         (vms_object_p): Clean up tdata on error.
6159         (vms_mkobject): Don't complain on stderr if vms_initialize fails.
6160         (vms_close_and_cleanup): Adjust for bfd_alloc use.
6161
6162 2002-07-30  Alan Modra  <amodra@bigpond.net.au>
6163
6164         * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
6165
6166 2002-07-26  Chris Demetriou  <cgd@broadcom.com>
6167
6168         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
6169         flags into resulting BFD.
6170
6171 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
6172
6173         From John Reiser <jreiser@BitWagon.com>
6174         * elf32-i386.c (elf_i386_link_hash_table_create): Clear
6175         tls_ldm_got.refcount.
6176
6177 2002-07-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6178
6179         * elf64-mips.c: Update TODO comment.
6180         (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
6181         mips_elf64_gprel16_reloca): Remove prototypes.
6182         (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
6183         (UNUSED_RELOC): Replace by EMPTY_RELOC.
6184         (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
6185         wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
6186         R_MIPS_HIGHEST.
6187         (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
6188         R_MIPS_GOT16. Remove wrong comments.
6189         (elf_mips16_jump_howto,elf_mips16_gprel_howto,
6190         elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
6191         from elf32-mips.c.
6192         (mips_elf64_hi16_reloc): Fix formatting.
6193         (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
6194         (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
6195         Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
6196         (mips_elf64_gprel16_reloc): Make static. Add check for
6197         partial_inplace.
6198         (mips_elf64_gprel16_reloca): Remove.
6199         (mips_elf64_literal_reloc): New function.
6200         (mips_elf64_gprel32_reloc): Fix formatting.
6201         (mips_elf64_shift6_reloc): Fix comment. Make static.
6202         (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
6203         elf32-mips.c.
6204         (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
6205         elf32-mips.c
6206         (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
6207         specific relocations.
6208         (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
6209         (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
6210         (ELF_MAXPAGESIZE): Add comment.
6211
6212 2002-07-25  Nick Clifton  <nickc@redhat.com>
6213
6214         * po/sv.po: Updated Swedish translation.
6215         * po/es.po: Updated Spanish translation.
6216         * po/fr.po: Updated French translation.
6217
6218 2002-07-25  Alan Modra  <amodra@bigpond.net.au>
6219
6220         * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
6221         as elf_link_record_local_dynamic_symbol.
6222         (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
6223         (elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
6224         * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
6225         * elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
6226         attempt is made to record a symbol in a discarded section, and
6227         return `2' in that case.
6228
6229 2002-07-24  Nick Clifton  <nickc@redhat.com>
6230
6231         * po/sv.po: Updated Swedish translation.
6232         * po/es.po: Updated Spanish translation.
6233
6234 2002-07-23  Alan Modra  <amodra@bigpond.net.au>
6235
6236         * po/SRC-POTFILES.in: Regenerate.
6237
6238         * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
6239         immediately.  Remove code handling relocatable linking.
6240         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
6241         * elf32-cris.c (cris_elf_relocate_section): Likewise.
6242         * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
6243         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
6244         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
6245         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
6246         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
6247         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6248         * elf32-v850.c (v850_elf_relocate_section): Likewise.
6249         * elf32-vax.c (elf_vax_relocate_section): Likewise.
6250         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6251         * elf32-avr.c (elf_backend_rela_normal): Define.
6252         * elf32-cris.c: Likewise.
6253         * elf32-fr30.c: Likewise.
6254         * elf32-frv.c: Likewise.
6255         * elf32-h8300.c: Likewise.
6256         * elf32-hppa.c: Likewise.
6257         * elf32-ip2k.c: Likewise.
6258         * elf32-sparc.c: Likewise.
6259         * elf32-v850.c: Likewise.
6260         * elf32-vax.c: Likewise.
6261         * elf64-hppa.c: Likewise.
6262         * elf64-sparc.c: Likewise.
6263         * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
6264         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
6265         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
6266         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
6267         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
6268         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
6269         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
6270         * elf-m10200.c (USE_RELA): Don't define.
6271         * elf-m10300.c: Likewise.
6272         * elfarm-oabi.c: Likewise.
6273         * elf32-i370.c: Likewise.
6274         * elf32-ip2k.c: Likewise.
6275         * elf32-m68k.c: Likewise.
6276         * elf32-mcore.c: Likewise.
6277         * elf32-ppc.c: Likewise.
6278         * elf32-s390.c: Likewise.
6279         * elf32-vax.c: Likewise.
6280         * elf64-ppc.c: Likewise.
6281         * elf64-s390.c: Likewise.
6282         * elf64-x86-64.c: Likewise.
6283         * elfxx-ia64.c: Likewise.
6284         * elf32-avr.c (USE_REL): Don't undef.
6285         * elf32-ip2k.c: Likewise.
6286
6287 2002-07-23  Nick Clifton  <nickc@redhat.com>
6288
6289         * elf-bfd.h (struct elf_backend_data): Add new bitfield
6290         'want_p_paddr_set_to_zero'.
6291         * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
6292         to false;
6293         * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
6294         * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
6295
6296 2002-07-23  Gabor Keresztfalvi  <keresztg@mail.com>
6297
6298         * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
6299         the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
6300         show the Copyright string.
6301         Minor formatting tidy ups.
6302
6303 2002-07-23  Nick Clifton  <nickc@redhat.com>
6304
6305         * po/fr.po: Updated French translation.
6306         * po/sv.po: Updated Swedish translation.
6307
6308 2002-07-23  Alan Modra  <amodra@bigpond.net.au>
6309
6310         * elflink.h (elf_link_input_bfd): Don't change internal symbols
6311         when outputting relocs.
6312
6313 2002-07-20  Jason Thorpe  <thorpej@wasabisystems.com>
6314
6315         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
6316         DT_PLTGOT into the dynamic section if there is a PLT.
6317
6318 2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6319
6320         * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
6321         elf32-mips.c.
6322         (_bfd_mips_elf_write_section): Likewise.
6323         * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
6324         (_bfd_mips_elf_write_section): Likewise.
6325         * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
6326         (elf32_mips_write_section): Likewise.
6327         * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
6328         (_bfd_mips_elf_write_section): Likewise.
6329
6330 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
6331
6332         * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
6333         PT_IA_64_UNWIND segments for a given section.
6334
6335 2002-07-17  H.J. Lu <hjl@gnu.org>
6336
6337         * Makefile.am: Fix a typo.
6338         * Makefile.in: Regenerate.
6339
6340 2002-07-15  Denis Chertykov  <denisc@overta.ru>
6341             Frank Ch. Eigler  <fche@redhat.com>
6342             Ben Elliston  <bje@redhat.com>
6343             Alan Lehotsky  <alehotsky@cygnus.com>
6344             John Healy  <jhealy@redhat.com>
6345             Graham Stott  <grahams@redhat.com>
6346             Jeff Johnston  <jjohnstn@redhat.com>
6347
6348         * Makefile.am: Add support for ip2k.
6349         * Makefile.in: Regenerate.
6350         * doc/Makefile.in: Regenerate.
6351         * archures.c: Add support for ip2k.
6352         * config.bfd: Add support for ip2k.
6353         * configure.in: Add support for ip2k.
6354         * configure: Regenerate.
6355         * reloc.c: Add support for ip2k.
6356         * targets.c: Add support for ip2k.
6357         * bfd-in2.h: Regenerate.
6358         * libbfd.h: Regenerate.
6359         * cpu-ip2k.c: New file.
6360         * elf32-ip2k.c: New file.
6361
6362 2002-07-17  Ian Rickards  <irickard@arm.com>
6363
6364         * dwarf2.c (concat_filename): If we can't establish the directory
6365         just return the filename.
6366
6367 2002-07-16  Moritz Jodeit  <moritz@jodeit.org>
6368
6369         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
6370
6371 2002-07-16  Alan Modra  <amodra@bigpond.net.au>
6372
6373         * elflink.h: Formatting fixes, tidy prototypes.
6374         (elf_link_assign_sym_version): Move common code out of loop.
6375
6376 2002-07-16  Alan Modra  <amodra@bigpond.net.au>
6377
6378         * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
6379         reloc section size is zero.  Correct reloc output location.
6380
6381 2002-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6382
6383         * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
6384         the final type for the e_fsel selector when generating PA2.0W code.
6385         (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
6386         relocations.
6387
6388 2002-07-14  H.J. Lu <hjl@gnu.org>
6389
6390         * elflink.h (elf_link_assign_sym_version): Hide the default
6391         definition if there is a hidden versioned definition.
6392
6393 2002-07-12  Hans-Peter Nilsson  <hp@axis.com>
6394
6395         * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
6396         dynamic reference test in assertion when initializing GOT with
6397         static contents.  Just assert that there are either no dynamic
6398         sections, the symbol is defined in the regular objects or that the
6399         symbol is undef weak.  Tweak comment.
6400         (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
6401         only if the symbol isn't defined in the program and isn't undef
6402         weak.
6403         (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
6404         rid of PLT entry: only do it if the symbol isn't defined in a DSO.
6405         When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
6406         (elf_cris_discard_excess_program_dynamics): Don't consider
6407         ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
6408
6409 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
6410
6411         * elf32-i386.c (elf_i386_relocate_section): Don't complain about
6412         unresolved debugging relocs in dynamic applications.
6413         * elf32-s390.c (elf_s390_relocate_section): Likewise.
6414         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
6415         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
6416         * elf64-s390.c (elf_s390_relocate_section): Likewise.
6417         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
6418         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
6419
6420 2002-07-10  Alan Modra  <amodra@bigpond.net.au>
6421
6422         * elf64-ppc.c (ONES): Define.
6423         (ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
6424         missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
6425         in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
6426
6427         * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
6428         (ppc64_elf_set_private_flags): Delete.
6429         (ppc64_elf_section_from_shdr): Delete.
6430         (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
6431         (ppc64_elf_fake_sections): Delete.
6432         (bfd_elf64_bfd_set_private_flags): Don't define.
6433         (bfd_elf64_get_symbol_info): Likewise.
6434         (elf_backend_section_from_shdr): Likewise.
6435         (elf_backend_fake_sections): Likewise.
6436
6437 2002-07-10  Marco Walther  <Marco.Walther@sun.com>
6438
6439         * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
6440         when not already set.
6441         * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
6442         (elf_backend_fake_sections): Define.
6443
6444 2002-07-10  Alan Modra  <amodra@bigpond.net.au>
6445
6446         * merge.c (_bfd_merge_section): Remove redundant output_section check.
6447         Formatting.
6448         (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
6449
6450 2002-07-09  Hans-Peter Nilsson  <hp@axis.com>
6451
6452         * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
6453         NULL sym_hashes to just before use.
6454         <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
6455         symbol with non-default visibility.
6456         <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
6457         <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
6458         Ditto.
6459         (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
6460         symbol with non-default visibility.
6461         (cris_elf_check_relocs): At tests for local symbol before
6462         increasing h->plt.refcount, also check for non-default
6463         visibility.  Ditto when checking for local symbol to eliminate
6464         pc-relative runtime relocs.
6465
6466 2002-07-08  Alan Modra  <amodra@bigpond.net.au>
6467
6468         * elf.c: Formatting.
6469         (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
6470         (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
6471         (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
6472         segments.
6473
6474 2002-07-07  Mark Mitchell  <mark@codesourcery.com>
6475             Alan Modra  <amodra@bigpond.net.au>
6476
6477         * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
6478         account the impact of relocation count overflow when computing
6479         section offsets.
6480         * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
6481         or not to apply the PE COFF reloc overflow handling.  Fix a
6482         fencepost error in deciding whether or not to use that technique.
6483
6484 2002-07-07  Alan Modra  <amodra@bigpond.net.au>
6485
6486         * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
6487         change type of locsyms.
6488         (bfd_elf_get_elf_syms): Declare.
6489         * elf.c (bfd_elf_get_elf_syms): New function.
6490         (group_signature): Use bfd_elf_get_elf_syms.
6491         (bfd_section_from_r_symndx): Likewise.
6492         * elfcode.h (elf_slurp_symbol_table): Likewise.
6493         * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
6494         (elf_link_add_object_symbols): Likewise.  Reorganise to increase
6495         locality of various data structures.  Properly free internal relocs.
6496         (elf_bfd_final_link): Properly free internal relocs.
6497         (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
6498         (elf_link_input_bfd): Likewise.
6499         (elf_gc_mark): Likewise.  Properly free internal relocs.
6500         (elf_gc_sweep): Properly free internal relocs.
6501         (elf_reloc_symbol_deleted_p): No need to swap syms in.
6502         (elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
6503         internal relocs.
6504         * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
6505         Properly free possibly cached info.
6506         (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
6507         (mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
6508         symbol swapping code.
6509         (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
6510         Properly free possibly cached info.
6511         * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
6512         (mn10300_elf_relax_delete_bytes): Likewise.
6513         (mn10300_elf_symbol_address_p): Likewise.
6514         (mn10300_elf_get_relocated_section_contents): Likewise.
6515         * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
6516         (elf32_h8_relax_delete_bytes): Likewise.
6517         (elf32_h8_symbol_address_p): Likewise.
6518         (elf32_h8_get_relocated_section_contents): Likewise.
6519         * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
6520         (m32r_elf_relax_delete_bytes): Likewise.
6521         (m32r_elf_get_relocated_section_contents): Likewise.
6522         * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
6523         elf_section_data to determine whether cached.
6524         (sh_elf_relax_section): As above for elf-m10200.c.
6525         (sh_elf_relax_delete_bytes): Likewise.
6526         (sh_elf_get_relocated_section_contents): Likewise.
6527         * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
6528         * elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
6529         reading of local syms.
6530         * elf64-mmix.c (mmix_elf_relax_section): Likewise.
6531         * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
6532         * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
6533         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
6534         relocs.
6535         * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
6536         free internal relocs and section contents.  Don't read symbols.
6537         * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
6538         (elf32_hppa_size_stubs): Don't free local syms.
6539         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
6540         reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
6541         possibly cached info.
6542         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
6543         * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
6544         * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
6545         all_local_syms.
6546         (get_local_syms): Delete function.
6547         (edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
6548         on exit.
6549         (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
6550
6551 2002-07-05  Jim Wilson  <wilson@redhat.com>
6552
6553         * syms.c (decode_section_type): New.
6554         (bfd_decode_symclass): Call decode_section_type.
6555
6556 2002-07-04  Jakub Jelinek  <jakub@redhat.com>
6557
6558         * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
6559         section content start.
6560         Reported by Michael Schumacher <mike@hightec-rt.com>.
6561
6562 2002-07-04  Alan Modra  <amodra@bigpond.net.au>
6563
6564         * section.c (_bfd_strip_section_from_output): Remove unnecessary
6565         link order code.  Don't actually remove the output section here;
6566         Just set a flag for the linker to do so.
6567         * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
6568         sections when setting up output section dynsyms.
6569
6570 2002-07-04  Alan Modra  <amodra@bigpond.net.au>
6571
6572         * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
6573         fudge.
6574         * elf.c (bfd_section_from_shdr): Work around broken hpux shared
6575         libs here instead.
6576
6577 2002-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
6578
6579         * elf64-s390.c (create_got_section): Set .got section alignment to
6580         8 bytes.
6581         (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
6582
6583 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
6584
6585         * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
6586
6587 2002-07-01  Matt Thomas  <matt@3am-software.com>
6588
6589         * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
6590         to EF_VAX_*.
6591
6592 2002-07-01  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
6593
6594         * elfxx-mips.c (ABI_64_P): Fix comment.
6595         (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
6596         new section names for N64 ABI.
6597         (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
6598         (mips_elf_calculate_relocation): Code formatting.
6599         (mips_elf_create_dynamic_relocation): Likewise.
6600         (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
6601         (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
6602         (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
6603         in any NewABI.
6604         (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
6605         for NewABI.
6606         (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
6607         (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
6608         here, too.
6609
6610 2002-07-01  Andreas Schwab  <schwab@suse.de>
6611
6612         * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
6613         R_X86_64_64 to R_X86_64_RELATIVE.
6614
6615 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6616
6617         * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
6618         * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
6619         Run "make dep-am".
6620         * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
6621         host_aout_vec.
6622         * configure.in (vaxbsd_vec): Add.
6623         * targets.c (vaxbsd_vec): Add.
6624         * Makefile.in: Rebuild.
6625         * configure: Rebuild.
6626         * po/SRC-POTFILES.in: Rebuild.
6627
6628 2002-07-01  Alan Modra  <amodra@bigpond.net.au>
6629
6630         * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
6631         examining to gc_mark_hook, rather than the bfd.
6632         (elf_gc_sections): Adjust.
6633         * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
6634         * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
6635         * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
6636         * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
6637         * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
6638         * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
6639         * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
6640         * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
6641         * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
6642         * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
6643         * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
6644         * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
6645         * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
6646         * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
6647         * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
6648         * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
6649         * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
6650         * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
6651         * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
6652         * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
6653         * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
6654         * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
6655         * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
6656         * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
6657         * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
6658         * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
6659         * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
6660         * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
6661         redundant local sym tests.
6662         * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
6663         (link_hash_newfunc): Init is_entry.
6664         (ppc64_elf_copy_indirect_symbol): Copy is_entry.
6665         (ppc64_elf_link_hash_table_create): Init all_local_syms.
6666         (create_linkage_sections): Use bfd_make_section_anyway rather than
6667         bfd_make_section.
6668         (ppc64_elf_mark_entry_syms): New function.
6669         (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
6670         up opd entry to function section map.
6671         (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
6672         relocs that reference the opd section.
6673         (edit_opd): New function.
6674         (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
6675         (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
6676         (get_local_syms): Do so here.  Exit if we already have local syms.
6677         Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
6678         read local syms on non-ELF input.
6679         (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
6680         than duplicating it's function here.  Adjust free of internal
6681         relocs to suit.
6682         (ppc64_elf_relocate_section): Adjust local syms in opd section.
6683         * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
6684         * elf32-hppa.c (elf32_hppa_size_stubs): Call
6685         _bfd_elf32_link_read_relocs rather than duplicating it's function
6686         here.  Adjust free of internal relocs to suit.
6687
6688 2002-07-01  Andreas Jaeger  <aj@suse.de>
6689
6690         * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
6691         are not allowed in shared libs code, enforce -fPIC.
6692
6693 2002-06-29  Hans-Peter Nilsson  <hp@bitrange.com>
6694
6695         * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
6696         trailing zero-sequences when there's previous left-over data.
6697
6698 2002-06-27  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6699
6700         * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
6701         (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
6702         and opd_rel_sec in order for starting rela section.  Check _raw_size.
6703         (elf_backend_reloc_type_class): Define.
6704
6705 2002-06-27  Kevin Buettner <kevinb@redhat.com>
6706
6707         * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
6708         DWARF2 formats.
6709
6710 2002-06-27  Alan Modra  <amodra@bigpond.net.au>
6711
6712         * cpu-powerpc.c: Comment on ordering of arch_info.
6713         * elf32-ppc.c (ppc_elf_object_p): New function.
6714         (elf_backend_object_p): Define.
6715         * elf64-ppc.c (ppc64_elf_object_p): New function.
6716         (elf_backend_object_p): Define.
6717
6718 2002-06-26  Jason Thorpe  <thorpej@wasabisystems.com>
6719
6720         * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
6721         * configure: Regenerate.
6722
6723 2002-06-25  Jason Eckhardt  <jle@rice.edu>
6724
6725         * dwarf2.c (decode_line_info): Check unit->addr_size
6726         to read in the proper number of prologue bytes.
6727
6728 2002-06-25  Nick Clifton  <nickc@cambridge.redhat.com>
6729
6730         * config.bfd (powerpc-*-aix5*): Only create a selvecs for
6731         aix5coff64_vec if 64-bit bfd support has been enabled.
6732         (powerpc64-*-aix5*): Only define if 64-bit bfd support has
6733         been enabled.
6734
6735         * targets.c (_bfd_target_vector[]): Only include
6736         aix5coff64_vec if 64-bit bfd support has been enabled.
6737
6738 2002-06-25  Alan Modra  <amodra@bigpond.net.au>
6739
6740         * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
6741         * elf32-hppa.c (hppa_add_stub): Likewise.
6742         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
6743         * elflink.h (elf_add_default_symbol): Fix comment typo.
6744         (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
6745         (elf_link_add_object_symbols): Likewise.
6746         (elf_link_assign_sym_version): Likewise.
6747         * hash.c (bfd_hash_lookup): Likewise.
6748         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
6749         * section.c (bfd_get_unique_section_name): Likewise.
6750         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
6751         * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
6752         (assign_section_numbers): Likewise.
6753         (_bfd_elfcore_make_pseudosection): Likewise.
6754         (elfcore_grok_lwpstatus): Likewise.
6755         (elfcore_grok_win32pstatus): Likewise.
6756         (elfcore_write_note): Constify input params.  Use PTR instead of
6757         void *.  Include terminating NUL in namesz.  Correct padding.
6758         Support NULL "name" param.  Use memcpy instead of strcpy.
6759         (elfcore_write_prpsinfo): Constify input params.
6760         (elfcore_write_prstatus): Likewise.  Use PTR instead of void *.
6761         (elfcore_write_lwpstatus): Likewise.
6762         (elfcore_write_pstatus): Likewise.
6763         (elfcore_write_prfpreg): Likewise.
6764         (elfcore_write_prxfpreg): Likewise.
6765         * elf-bfd.h (elfcore_write_note): Update declaration.
6766         (elfcore_write_prpsinfo): Likewise.
6767         (elfcore_write_prstatus): Likewise.
6768         (elfcore_write_pstatus): Likewise.
6769         (elfcore_write_prfpreg): Likewise.
6770         (elfcore_write_prxfpreg): Likewise.
6771         (elfcore_write_lwpstatus): Likewise.
6772
6773 2002-06-25  Jason Eckhardt  <jle@rice.edu>
6774
6775         * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
6776         symbols of type stProc and stStaticProc.
6777
6778 2002-06-25  Nick Clifton  <nickc@redhat.com>
6779
6780         * ecoff.c: VArious formatting fixes.
6781
6782 2002-06-25  Alan Modra  <amodra@bigpond.net.au>
6783
6784         * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
6785
6786 2002-06-25  Alan Modra  <amodra@bigpond.net.au>
6787
6788         * aout-adobe.c: Don't compare against "true" or "false.
6789         * aout-target.h: Likewise.
6790         * aoutx.h: Likewise.
6791         * archive.c: Likewise.
6792         * bout.c: Likewise.
6793         * cache.c: Likewise.
6794         * coff-a29k.c: Likewise.
6795         * coff-alpha.c: Likewise.
6796         * coff-i386.c: Likewise.
6797         * coff-mips.c: Likewise.
6798         * coff-or32.c: Likewise.
6799         * coff64-rs6000.c: Likewise.
6800         * coffcode.h: Likewise.
6801         * coffgen.c: Likewise.
6802         * cpu-ns32k.c: Likewise.
6803         * ecoff.c: Likewise.
6804         * ecofflink.c: Likewise.
6805         * elf.c: Likewise.
6806         * elf32-arm.h: Likewise.
6807         * elf32-cris.c: Likewise.
6808         * elf32-d30v.c: Likewise.
6809         * elf32-i386.c: Likewise.
6810         * elf32-mcore.c: Likewise.
6811         * elf32-ppc.c: Likewise.
6812         * elf32-sh.c: Likewise.
6813         * elf32-sh64.c: Likewise.
6814         * elf32-v850.c: Likewise.
6815         * elf64-alpha.c: Likewise.
6816         * elf64-sh64.c: Likewise.
6817         * elfcode.h: Likewise.
6818         * elfcore.h: Likewise.
6819         * elflink.h: Likewise.
6820         * elfxx-mips.c: Likewise.
6821         * i386os9k.c: Likewise.
6822         * ieee.c: Likewise.
6823         * libbfd.c: Likewise.
6824         * linker.c: Likewise.
6825         * mmo.c: Likewise.
6826         * nlm32-alpha.c: Likewise.
6827         * nlm32-i386.c: Likewise.
6828         * nlm32-ppc.c: Likewise.
6829         * nlm32-sparc.c: Likewise.
6830         * nlmcode.h: Likewise.
6831         * oasys.c: Likewise.
6832         * pdp11.c: Likewise.
6833         * peicode.h: Likewise.
6834         * reloc.c: Likewise.
6835         * som.c: Likewise.
6836         * srec.c: Likewise.
6837         * tekhex.c: Likewise.
6838         * vms.c: Likewise.
6839         * xcofflink.c: Likewise.
6840         * elf64-sparc.c: Edit comment to not use "== false".
6841
6842         * aoutf1.h: Don't use "? true : false".
6843         * ecoff.c: Likewise.
6844         * format.c: Likewise.
6845         * ieee.c: Likewise.
6846         * linker.c: Likewise.
6847         * mmo.c: Likewise.
6848         * oasys.c: Likewise.
6849
6850 2002-06-23  H.J. Lu  <hjl@gnu.org>
6851
6852         * elflink.h (elf_link_add_archive_symbols): For the default
6853         version, check references with only one `@' first.
6854
6855 2002-06-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6856
6857         * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
6858         function.
6859         (allocate_global_data_dlt): Don't add millicode symbols to dynamic
6860         symbol table.
6861         (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
6862         (elf64_hppa_size_dynamic_sections): Revise to use
6863         elf64_hppa_mark_milli_and_exported_functions.
6864         (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
6865         symbols out of dynamic symbol table.
6866
6867 2002-06-23  Alan Modra  <amodra@bigpond.net.au>
6868
6869         * Makefile.in: Regenerate.
6870         * libbfd.h: Regenerate.
6871         * bfd-in2.h: Regenerate.
6872         * configure: Regenerate.
6873         * po/SRC-POTFILES.in: Regenerate.
6874
6875         * elflink.h: Comment typo fixes.
6876
6877 2002-06-23  H.J. Lu  <hjl@gnu.org>
6878
6879         * elf-bfd.h (elf_link_loaded_list): New structure.
6880         (elf_link_hash_table): Add "loaded".
6881         * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
6882         * elflink.h (elf_link_check_versioned_symbol): New function.
6883         (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
6884
6885 2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
6886
6887         * elflink.h (size_dynamic_sections): If the target does not
6888         support an ELF style hash table, return true, indicating that
6889         nothing needed to be done, rather than false, indicating that the
6890         section's size could not be computed.
6891
6892 2002-06-18  Dave Brolley  <brolley@redhat.com>
6893
6894         From Catherine Moore, Michael Meissner, Dave Brolley:
6895         * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
6896         * targets.c: Support bfd_elf32_frv_vec.
6897         * reloc.c: Add FRV relocs.
6898         * configure.in: Add support for bfd-elf32-frv-vec.
6899         * config.bfd (targ_cpu): Add support for frv-*-elf.
6900         * archures.c: Add frv arch and machines.
6901         * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
6902         (ALL_MACHINES_CFILES): Add cpu-frv.c.
6903         (BFD32_BACKENDS): Add elf32-frv.lo.
6904         (BFD32_BACKENDS_CFILES): Add elf32-frv.c
6905         (cpu-frv.lo): New target.
6906         (elf32-frv.lo): New target.
6907         * cpu-frv.c: New file.
6908         * elf32-frv.c: New file.
6909
6910 2002-06-18  Jakub Jelinek  <jakub@redhat.com>
6911
6912         * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
6913         e_shnum == 0.
6914         Only read the first section header if e_shoff is non-zero.
6915         Don't consider e_shstrndx if there are no sections.
6916
6917 2002-06-17  Tom Rix <trix@redhat.com>
6918
6919         * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
6920         R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
6921         complain_overflow_bitfield.
6922
6923 2002-06-17  Alan Modra  <amodra@bigpond.net.au>
6924
6925         * opncls.c (bfd_openr): Remove redundant bfd_set_error.
6926         (bfd_fdopenr): Likewise.
6927         (bfd_openstreamr): Likewise.
6928         (bfd_openw): Likewise.
6929
6930         * targets.c: Sort target vecs.
6931         (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
6932         bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
6933         bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
6934         bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
6935         * configure.in: Sort target vecs.  Add m88kmach3_vec.
6936         * configure: Regenerate.
6937
6938 2002-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
6939
6940         * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
6941         bpo_reloc_no to break sort order ties, not address of items.
6942
6943 2002-06-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6944
6945         * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
6946         Skip excluded sections in determing __gp value.
6947         (elf_hppa_final_link_relocate): Use the symbol's address in
6948         R_PARISC_FPTR64 relocations that don't need an opd entry.
6949         * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
6950         (elf64_hppa_finalize_dynreloc): Likewise.
6951         (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
6952         (elf64_hppa_finish_dynamic_symbol): Break up assert.
6953
6954 2002-06-14  Sergey Grigoriev  <serge@leopold.Physik.Uni-Augsburg.DE>
6955
6956         * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
6957         alignment for .bss, .data and .text sections so that sse and sse2
6958         code will work.
6959         * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
6960
6961 2002-06013  J"orn Rennecke  <joern.rennecke@superh.com>
6962
6963         config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
6964         sh[1234]*-elf*.
6965
6966 2002-06-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6967
6968         * elflink.h (elf_bfd_final_link): Improve error handling for missing
6969         dynamic sections.
6970
6971         * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
6972         for a symbol that has no output section.
6973         (allocate_dynrel_entries): Correct comment.
6974         (elf64_hppa_finalize_dynreloc): Likewise.  Don't create an opd entry
6975         unless we want one.
6976         (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
6977         (elf64_hppa_finalize_dlt): Likewise.  Prevent segfault for symbols
6978         with no section.  Remove unnecessary parentheses.
6979
6980 2002-06-11  Tom Rix  <trix@redhat.com>
6981
6982         * coffcode.h (coff_compute_section_file_positions): Add data
6983         section to AIX loader alignment check.
6984
6985         * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
6986         alignment to 4 bytes.
6987         (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
6988         power accessor macro.
6989         (do_shared_object_padding): Remove invalid assertion.
6990
6991 2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
6992
6993         * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
6994         for removed output sections.
6995
6996 2002-06-10  Geoffrey Keating  <geoffk@redhat.com>
6997
6998         * merge.c (merge_strings): Use htab_create_alloc with calloc, not
6999         htab_alloc.
7000         * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
7001
7002 2002-06-08  H.J. Lu <hjl@gnu.org>
7003
7004         * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
7005         work around a long long bug in gcc 2.96 on mips.
7006
7007 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
7008
7009         * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
7010         (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
7011         Regenerate dependency lists.
7012         * Makefile.in: Regenerate.
7013         * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
7014         vax1knetbsd_vec to targ_selvecs.
7015         * configure.in: Add vax1knetbsd_vec.
7016         * configure: Regenerate.
7017         * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
7018         * vax1knetbsd.c: New file.
7019         * vaxnetbsd.c: Update copyright years.
7020         (TARGET_PAGE_SIZE): Set to 0x1000.
7021         (DEFAULT_MID): Set to M_VAX4K_NETBSD.
7022
7023 2002-06-08  Matt Thomas  <matt@3am-software.com>
7024
7025         * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
7026
7027 2002-06-08  Alan Modra  <amodra@bigpond.net.au>
7028
7029         * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
7030
7031 2002-06-08  Alan Modra  <amodra@bigpond.net.au>
7032
7033         * Makefile.am: Run "make dep-am".
7034         * Makefile.in: Regenerate.
7035
7036         * armnetbsd.c: Replace CONST with const.
7037         * corefile.c: Likewise.
7038         * elf32-dlx.c: Likewise.
7039         * elf64-mips.c: Likewise.
7040         * mmo.c: Likewise.
7041         * ns32knetbsd.c: Likewise.
7042
7043         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
7044         table is elf64-sparc.
7045
7046 2002-06-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7047
7048         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
7049         Fix RELA addends to get not shifted in the result. Don't do special
7050         handling of R_MIPS_64 for NewABI.
7051
7052 2002-06-07  Alan Modra  <amodra@bigpond.net.au>
7053
7054         * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
7055         (NAME(aout,slurp_reloc_table)): Likewise.
7056         * coff-mips.c (mips_relax_section): Use bfd_zalloc.
7057         * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
7058         (xcoff_write_archive_contents_big): Likewise.
7059         (xcoff_generate_rtinit): Likewise.
7060         (xcoff_generate_rtinit): Likewise, and check error return.
7061         * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
7062         * coffgen.c (coff_section_symbol): Use bfd_zalloc.
7063         (coff_get_normalized_symtab): Likewise.
7064         (coff_make_empty_symbol): Likewise.
7065         (bfd_coff_set_symbol_class): Likewise.
7066         * cofflink.c (coff_link_add_symbols): Likewise.
7067         * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
7068         * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
7069         (bfd_ecoff_write_accumulated_debug): Likewise.
7070         * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
7071         * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
7072         * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
7073         * ieee.c (do_with_relocs): Use bfd_zalloc.
7074         * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
7075         * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
7076         (NAME(aout,slurp_reloc_table)): Likewise.
7077         (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
7078         * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
7079         * som.c (som_build_and_write_symbol_table): Likewise.
7080         (som_slurp_string_table): Likewise.
7081         (som_slurp_symbol_table): Likewise.
7082         (som_bfd_ar_write_symbol_stuff): Likewise.
7083         * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
7084         * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
7085         * tekhex.c (find_chunk): Likewise.  Get rid of unused "sname".
7086         * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
7087         * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
7088
7089 2002-06-07  Alan Modra  <amodra@bigpond.net.au>
7090
7091         * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
7092         "group" union.
7093         (elf_group_name): Update.
7094         (elf_group_id): Define.
7095         (bfd_elf_set_group_contents): Declare.
7096         * elf.c (elf_fake_sections): Qualify use of elf_group_name.
7097         (set_group_contents): Rename to bfd_elf_set_group_contents.  Remove
7098         ATTRIBUTE_UNUSED from failedptrarg.  If elf_group_id is set, use
7099         that sym for the signature.
7100         (_bfd_elf_compute_section_file_positions): Don't call
7101         set_group_contents for "ld -r" case.
7102         (swap_out_syms): Use bfd_zalloc.
7103         * elflink.h (elf_link_add_archive_symbols): Likewise.
7104         (NAME(bfd_elf,size_dynamic_sections)): Likewise.
7105         (elf_bfd_final_link): Call bfd_elf_set_group_contents.
7106
7107 2002-06-07  Alan Modra  <amodra@bigpond.net.au>
7108
7109         * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
7110         relocs in opd for non-shared too.
7111
7112 2002-06-06  Jeffrey Law  <law@redhat.com>
7113
7114         * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
7115         relocations.
7116
7117 2002-06-06  Nick Clifton  <nickc@cambridge.redhat.com>
7118
7119         * merge.c: Include libiberty.h.
7120         * elf-strtab.c: Include libiberty.h.
7121
7122 2002-06-06  Elias Athanasopoulos  <eathan@otenet.gr>
7123
7124         * peXXigen.c (pe_print_idata): Remove unused variable.
7125
7126 2002-06-06  David Heine <dlheine@tensilica.com>
7127
7128         * elf.c (assign_file_positions_for_segments): Remove unallocated
7129         sections from the section to segment mapping for PT_LOAD segments.
7130         Update comment about empty loadable segments.
7131
7132 2002-06-06  Richard Sandiford  <rsandifo@redhat.com>
7133
7134         * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
7135         is within the .stabstr section.
7136
7137 2002-06-06  Alan Modra  <amodra@bigpond.net.au>
7138
7139         * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
7140         are "const PTR", not "const PTR *".
7141         (bfd_elf32_swap_symbol_in): Likewise.
7142         (bfd_elf64_swap_symbol_in): Likewise.
7143         * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
7144         (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
7145         * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7146         (elf_link_add_object_symbols): Likewise.
7147         (elf_link_record_local_dynamic_symbol): Likewise.
7148         (elf_link_input_bfd): Likewise.
7149         (elf_gc_mark): Likewise.
7150         (elf_reloc_symbol_deleted_p): Likewise.
7151         * elf-m10200.c (mn10200_elf_relax_section): Likewise.
7152         (mn10200_elf_relax_delete_bytes): Likewise.
7153         (mn10200_elf_symbol_address_p): Likewise.
7154         (mn10200_elf_get_relocated_section_contents): Likewise.
7155         * elf-m10300.c (mn10300_elf_relax_section): Likewise.
7156         (mn10300_elf_relax_section): Likewise.
7157         (mn10300_elf_relax_delete_bytes): Likewise.
7158         (mn10300_elf_symbol_address_p): Likewise.
7159         (mn10300_elf_get_relocated_section_contents): Likewise.
7160         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
7161         (elf32_h8_relax_delete_bytes): Likewise.
7162         (elf32_h8_symbol_address_p): Likewise.
7163         (elf32_h8_get_relocated_section_contents): Likewise.
7164         * elf32-hppa.c (get_local_syms): Likewise.
7165         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
7166         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7167         * elf32-sh.c (sh_elf_relax_section): Likewise.
7168         (sh_elf_relax_delete_bytes): Likewise.
7169         (sh_elf_get_relocated_section_contents): Likewise.
7170         * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
7171         * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
7172         * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
7173         * elf64-mmix.c (mmix_elf_relax_section): Likewise.
7174         * elf64-ppc.c (get_local_syms): Likewise.
7175         * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
7176         * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7177
7178 2002-06-05  J"orn Rennecke <joern.rennecke@superh.com>
7179
7180         * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
7181
7182 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
7183
7184         * elf.c (group_signature): Swap in the whole symbol, and handle
7185         extracting section symbol names.
7186         (setup_group): Add comment.
7187         (set_group_contents): When called from objcopy or ld, arrange for
7188         section contents to be written.  Write group member output section
7189         indices to allow objcopy to reorganize sections.
7190         (_bfd_elf_copy_private_section_data): Copy group info.
7191
7192         * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
7193         (bfd_elf32_swap_symbol_in): Update prototype.
7194         (bfd_elf64_swap_symbol_in): Likewise.
7195         * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
7196         (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
7197         * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
7198         (elf_link_add_object_symbols): Likewise.
7199         (elf_link_record_local_dynamic_symbol): Likewise.
7200         (elf_link_input_bfd): Likewise.
7201         (elf_gc_mark): Likewise.
7202         (elf_reloc_symbol_deleted_p): Likewise.
7203         * elf-m10200.c (mn10200_elf_relax_section): Likewise.
7204         (mn10200_elf_relax_delete_bytes): Likewise.
7205         (mn10200_elf_symbol_address_p): Likewise.
7206         (mn10200_elf_get_relocated_section_contents): Likewise.
7207         * elf-m10300.c (mn10300_elf_relax_section): Likewise.
7208         (mn10300_elf_relax_section): Likewise.
7209         (mn10300_elf_relax_delete_bytes): Likewise.
7210         (mn10300_elf_symbol_address_p): Likewise.
7211         (mn10300_elf_get_relocated_section_contents): Likewise.
7212         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
7213         (elf32_h8_relax_delete_bytes): Likewise.
7214         (elf32_h8_symbol_address_p): Likewise.
7215         (elf32_h8_get_relocated_section_contents): Likewise.
7216         * elf32-hppa.c (get_local_syms): Likewise.
7217         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
7218         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
7219         * elf32-sh.c (sh_elf_relax_section): Likewise.
7220         (sh_elf_relax_delete_bytes): Likewise.
7221         (sh_elf_get_relocated_section_contents): Likewise.
7222         * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
7223         * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
7224         * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
7225         * elf64-mmix.c (mmix_elf_relax_section): Likewise.
7226         * elf64-ppc.c (get_local_syms): Likewise.
7227         * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
7228         * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
7229         * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
7230         * elf64-alpha.c (alpha_elf_size_info): Likewise.
7231         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
7232         * elf64-mips.c (mips_elf64_size_info): Likewise.
7233         * elf64-s390.c (s390_elf64_size_info): Likewise.
7234         * elf64-sparc.c (sparc64_elf_size_info): Likewise.
7235
7236 2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
7237
7238         * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
7239         elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
7240         elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
7241         _bfd_mips_elf_ignore_discarded_relocs.
7242         elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
7243
7244 2002-06-05  H.J. Lu <hjl@gnu.org>
7245
7246         * elfxx-mips.c (mips_elf_calculate_relocation): Call
7247         _bfd_elf_rel_local_sym for STT_SECTION relocations against
7248         the SEC_MERGE section.
7249
7250 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
7251
7252         * coff-alpha.c: Update copyright date.
7253         * coff-mips.c: Likewise.
7254         * xcoff-target.h: Likewise.
7255
7256         * bfd-in.h: Remove "taken from the source" comment.
7257         * libbfd-in.h: Likewise.
7258         * libcoff-in.h: Likewise.
7259         * bfd-in2.h: Regenerate.
7260         * libbfd.h: Regenerate.
7261         * libcoff.h: Regenerate.
7262
7263         * elf.c (bfd_elf_discard_group): Return true.
7264         * elf-bfd.h (bfd_elf_discard_group): Declare.
7265         * bfd-in.h (bfd_elf_discard_group): Don't declare here.
7266         * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
7267         * bfd.c (bfd_discard_group): Define.
7268         * targets.c (struct bfd_target): Add _bfd_discard_group.
7269         (BFD_JUMP_TABLE_LINK): Here too.
7270         * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
7271         * aout-adobe.c (aout_32_bfd_discard_group): Define.
7272         * aout-target.h (MY_bfd_discard_group): Define.
7273         * aout-tic30.c (MY_bfd_discard_group): Define.
7274         * binary.c (binary_bfd_discard_group): Define.
7275         * bout.c (b_out_bfd_discard_group): Define.
7276         * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
7277         * coffcode.h (coff_bfd_discard_group): Define.
7278         * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
7279         * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
7280         * i386msdos.c (msdos_bfd_discard_group): Define.
7281         * i386os9k.c (os9k_bfd_discard_group): Define.
7282         * ieee.c (ieee_bfd_discard_group): Define.
7283         * ihex.c (ihex_bfd_discard_group): Define.
7284         * mmo.c (mmo_bfd_discard_group): Define.
7285         * nlm-target.h (nlm_bfd_discard_group): Define.
7286         * oasys.c (oasys_bfd_discard_group): Define.
7287         * ppcboot.c (ppcboot_bfd_discard_group): Define.
7288         * som.c (som_bfd_discard_group): Define.
7289         * srec.c (srec_bfd_discard_group): Define.
7290         * tekhex.c (tekhex_bfd_discard_group): Define.
7291         * versados.c (versados_bfd_discard_group): Define.
7292         * vms.c (vms_bfd_discard_group): Define.
7293         * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
7294         * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
7295         (aix5coff64_vec): Likewise.
7296         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
7297
7298 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
7299
7300         * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
7301         (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
7302         (elf32-sh64-com.lo): New dependency list.
7303         * Makefile.in: Regenerate.
7304         * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
7305         (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
7306         elf32-sh64-com.lo.
7307         * configure: Regenerate.
7308         * elf32-sh64.c (sh64_address_in_cranges)
7309         (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
7310         (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
7311         (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
7312         * elf32-sh64-com.c: ...here.  New file.
7313
7314 2002-06-04  Alan Modra  <amodra@bigpond.net.au>
7315
7316         * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
7317         ATTRIBUTE_UNUSED on used params.
7318         * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
7319         before calling bfd_section_from_elf_index on local syms.
7320         * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
7321
7322 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
7323
7324         * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
7325         (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
7326         (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
7327         (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
7328         (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
7329         * Makefile.in: Regenerate.
7330         * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
7331         (sh64-*-netbsd*): New targets.
7332         * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
7333         bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
7334         * configure: Regenerate.
7335         * elf32-sh64-nbsd.c: New file.
7336         * elf64-sh64-nbsd.c: New file.
7337         * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
7338         bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
7339         bfd_elf64_sh64lnbsd_vec.
7340
7341 2002-06-04  Alan Modra  <amodra@bigpond.net.au>
7342
7343         * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
7344         (bfd_section_from_shdr): Likewise.  Set section name of group
7345         sections from signature.
7346         (group_signature): Split out from setup_group.  Ensure symbol table
7347         is available.
7348         (bfd_elf_discard_group): New function.
7349         (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
7350         .gnu.linkonce* sections if they are members of a group.
7351         (set_group_contents): Set GRP_COMDAT flag.
7352         * section.c (bfd_discard_group): New function.
7353         * bfd-in.h (bfd_elf_discard_group): Declare.
7354         * bfd-in2.h: Regenerate.
7355         * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
7356         (elf_linkonce_p): Define.
7357
7358 2002-06-04  Alan Modra  <amodra@bigpond.net.au>
7359
7360         * elf.c (bfd_section_from_shdr): Make "name" const.
7361         * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
7362         * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
7363         * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
7364         * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
7365         * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
7366         * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
7367         * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
7368         * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
7369         * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
7370         * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
7371         * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
7372
7373 2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
7374
7375         * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
7376         ABI.
7377
7378 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
7379
7380         * elf32-arc.c: Fix formatting.
7381         * elf32-arm.h: Likewise.
7382         * elf32-cris.c: Likewise.
7383         * elf32-dlx.c: Likewise.
7384         * elf32-hppa.c: Likewise.
7385         * elf32-i386.c: Likewise.
7386         * elf32-i386qnx.c: Likewise.
7387         * elf32-or32.c: Likewise.
7388         * elf32-s390.c: Likewise.
7389         * elf32-sh64.c: Likewise.
7390         * elf32-vax.c: Likewise.
7391         * elf32-xstormy16.c: Likewise.
7392         * elf64-alpha.c: Likewise.
7393         * elf64-mmix.c: Likewise.
7394         * elf64-ppc.c: Likewise.
7395         * elf64-s390.c: Likewise.
7396         * elf64-sh64.c: Likewise.
7397         * elf64-x86-64.c: Likewise.
7398
7399 2002-06-02  Richard Henderson  <rth@redhat.com>
7400
7401         * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
7402         null when there are no got entries for a symbol.
7403         (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
7404         uninitialized variable warning.
7405
7406 2002-06-01  Richard Henderson  <rth@redhat.com>
7407
7408         * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
7409         undefined symbols here.
7410         (elf64_alpha_relax_section): Do it here.  Also test for not
7411         defined in the current module.
7412         (elf64_alpha_relocate_section_r): Split out of ...
7413         (elf64_alpha_relocate_section): ... here.  Don't dereference
7414         NULL when looking up local got entries.
7415
7416 2002-06-01  Richard Henderson  <rth@redhat.com>
7417
7418         * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
7419         symbols from JSR relaxation.
7420         (elf64_alpha_size_plt_section_1): New.
7421         (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
7422         (elf64_alpha_size_rela_got_1): ... here.
7423         (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
7424         (elf64_alpha_size_rela_got_section): ... here.
7425         (elf64_alpha_size_plt_section): New.
7426         (elf64_alpha_relax_section): Call them.
7427         (elf64_alpha_size_got_sections): Remove output_bfd arg.
7428         (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
7429
7430 2002-06-01  Richard Henderson  <rth@redhat.com>
7431
7432         * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
7433         (elf64_alpha_relocate_section): Use them.  Reject LE TLS relocs
7434         in shared libraries.  Fix DTPRELHI and TPRELHI value.
7435         (INSN_ADDQ, INSN_RDUNIQ): New.
7436         (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
7437         (elf64_alpha_relax_with_lituse): Return boolean.  Remove irelend
7438         argument.  Reject dynamic symbols.  Use LITUSE symbolic constants.
7439         (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
7440         Handle GOTDTPREL and GOTTPREL relocations.
7441         (elf64_alpha_relax_gprelhilo): New.
7442         (elf64_alpha_relax_tls_get_addr): New.
7443         (elf64_alpha_relax_find_tls_segment): New.
7444         (elf64_alpha_relax_section): Handle TLS relocations.
7445         (ALPHA_ELF_LINK_HASH_TLS_IE): New.
7446         (elf64_alpha_check_relocs): Set it.
7447
7448 2002-06-01  Richard Henderson  <rth@redhat.com>
7449
7450         * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
7451
7452         * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
7453         check; don't suppress dynamic relocs for non-allocated sections.
7454
7455         * elf64-alpha.c: Remove dead code.
7456
7457 2002-05-31  Alan Modra  <amodra@bigpond.net.au>
7458
7459         * bfd-in2.h: Regenerate.
7460         * libbfd.h: Regenerate.
7461         * po/SRC-POTFILES.in: Regenerate.
7462
7463         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
7464         space for bss .plt.
7465
7466 2002-05-31  Graeme Peterson  <gp@qnx.com>
7467
7468         * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
7469         (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
7470         Run "make dep-am".
7471         * Makefile.in: Regenerate.
7472         * config.bfd: Add i[3456]86-*-nto-qnx* support.
7473         * configure.in: Add bfd_elf32_i386qnx_vec support.
7474         * configure: Regenerate.
7475         * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
7476         is_contained_by_filepos, and copy_private_bfd_data_p.
7477         * elf.c (assign_file_positions_for_segments): Call backend
7478         set_nonloadable_filepos.  Fix non-K&R call to _bfd_error_handler.
7479         (IS_CONTAINED_BY_FILEPOS): Define.
7480         (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
7481         (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS.  Typo fix.
7482         Fix non-K&R call to _bfd_error_handler.
7483         (_bfd_elf_copy_private_section_data): Use backend
7484         copy_private_bfd_data_p.
7485         * elf32-i386.c: Don't include elfxx-target.h when
7486         ELF32_I386_C_INCLUDED is defined.
7487         * elf32-i386qnx.c: New QNX elf backend file.
7488         * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
7489         elf_backend_is_contained_by_filepos, and
7490         elf_backend_do_copy_private_bfd_data.
7491         * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
7492
7493 2002-05-31  Alan Modra  <amodra@bigpond.net.au>
7494
7495         * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
7496         Move other similar defines to start of file.
7497
7498 2002-05-30  Tom Rix  <trix@redhat.com>
7499
7500         * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
7501         * coff64-rs6000.c (xcoff64_rtype2howto): Same.
7502
7503 2002-05-30  Richard Henderson  <rth@redhat.com>
7504
7505         * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
7506         ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
7507         (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
7508         (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
7509         (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
7510         (struct alpha_elf_obj_tdata): Rename total_got_entries and
7511         n_local_got_entries to total_got_size and local_got_size.
7512         (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
7513         (alpha_got_entry_size): New.
7514         (elf64_alpha_relax_with_lituse): Use it.
7515         (elf64_alpha_relax_without_lituse): Likewise.
7516         (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
7517         (get_got_entry): New.
7518         (elf64_alpha_check_relocs): Handle TLS relocs.  Reorganize.
7519         (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
7520         (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
7521         (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
7522         (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
7523         (elf64_alpha_calc_got_offsets): Likewise.
7524         (alpha_dynamic_entries_for_reloc): New.
7525         (elf64_alpha_calc_dynrel_sizes): Use it.
7526         (elf64_alpha_size_dynamic_sections): Likewise.
7527         (elf64_alpha_relocate_section): Handle TLS relocations.
7528         * reloc.c: Add Alpha TLS relocations.
7529         * bfd-in2.h, libbfd.h: Rebuild.
7530
7531 2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
7532
7533         * peXXigen.c (pe_print_idata): Remove double printed
7534         import table lines; add Bound-To comment.
7535
7536 2002-05-29  Matt Thomas  <matt@3am-software.com>
7537
7538         * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
7539         (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
7540         (elf32-vax.lo): New rule.
7541         * Makefile.in: Regenerate.
7542         * configure.in (bfd_elf32_vax_vec)
7543         (vaxnetbsd_vec): New vectors.
7544         * configure: Regenerate.
7545         * config.bfd (vax-*-netbsdelf*)
7546         (vax-*-netbsdaout*)
7547         (vax-*-netbsd*): New targets.
7548         * elf32-vax.c: New file.
7549         * reloc.c: Add VAX relocations.
7550         * bfd-in2.h: Regenerate.
7551         * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
7552
7553 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
7554
7555         * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
7556         and bfd_elf32_bigarm_vec to targ_selvecs.
7557
7558 2002-05-29  Ralf Habacker  <ralf.habacker@freenet.de>
7559
7560         * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
7561         with auto-imported symbols.
7562
7563 2002-05-29  Adam Nemet  <anemet@lnxw.com>
7564
7565         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
7566         sections only record bfd.
7567         (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
7568         * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
7569         * bfd-in2.h: Regenerate.
7570
7571 2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
7572
7573         * syms.c (_bfd_stab_section_find_nearest_line): Move
7574         declaration and initialisation of saw_line and saw_func out of
7575         for loop.
7576
7577 2002-05-29  Alan Modra  <amodra@bigpond.net.au>
7578
7579         * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
7580         (bfd_elf64_get_symbol_info): Define.
7581         * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
7582
7583 2002-05-29  Andrey Volkov  <avolkov@transas.com>
7584
7585         * cpu-h8300.c: Make default h8300 machine first in machine list.
7586
7587 2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
7588
7589         * config.bfd: Added DLX configuraton.
7590         * Makefile.am: Added DLX configuraton.
7591         * configure.in: Added DLX configuraton.
7592         * archures.c: Add DLX architecure.
7593         * reloc.c: Add DLX relocs.
7594         * targets.c: Added DLX target vector.
7595         * configure: Regenerate.
7596         * Makefile.in: Regenreate.
7597         * bfd-in2.h: Regenreate.
7598         * elf32-dlx.c: New file: Support DLX target.
7599         * cpu-dlx.c: New file: Support DLX target.
7600
7601 2002-05-25  Alan Modra  <amodra@bigpond.net.au>
7602
7603         * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
7604
7605         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
7606         (ppc64_elf_check_relocs): Don't set up function descriptor symbol
7607         strings to point inside function code sym string.
7608         (func_desc_adjust): Likewise.
7609         (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
7610
7611 2002-05-24  Michal Ludvig  <mludvig@suse.cz>
7612
7613         * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
7614         (elf64_x86_64_grok_psinfo): Added.
7615
7616 2002-05-24  TAMURA Kent <kent@netbsd.org>
7617
7618         * config.bfd: Add a target for i386-netbsdpe.
7619
7620 2002-05-24  Alan Modra  <amodra@bigpond.net.au>
7621
7622         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
7623         and is_func_descriptor.
7624         (func_desc_adjust): Hide function code sym in shared libs unless
7625         there is a matching exported function descriptor sym.
7626
7627 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
7628
7629         * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
7630         for symbols from SHF_TLS section.
7631         (_bfd_elf_print_private_bfd_data): Add PT_TLS.
7632         (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
7633         (map_sections_to_segments): Build PT_TLS segment if necessary.
7634         (assign_file_positions_for_segments): Likewise.
7635         (get_program_header_size): Account for PT_TLS segment.
7636         (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
7637         SEC_THREAD_LOCAL sections to STT_TLS.
7638         * reloc.c: Add 386 and IA-64 TLS relocs.
7639         * section.c (SEC_THREAD_LOCAL): Define.
7640         (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
7641         Remove.
7642         * elflink.h (elf_link_add_object_symbols): Support .tcommon.
7643         (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
7644         unconditionally.
7645         (struct elf_final_link_info): Add first_tls_sec.
7646         (elf_bfd_final_link): Set first_tls_sec.
7647         Compute elf_hash_table (info)->tls_segment.
7648         (elf_link_output_extsym): Handle STT_TLS symbols.
7649         (elf_link_input_bfd): Likewise.
7650         * syms.c (BSF_THREAD_LOCAL): Define.
7651         * bfd-in2.h: Rebuilt.
7652         * libbfd.h: Rebuilt.
7653         * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
7654         elf_i386_mkobject, elf_i386_object_p): New functions.
7655         (elf_howto_table): Add TLS relocs.
7656         (elf_i386_reloc_type_lookup): Support TLS relocs.
7657         (elf_i386_info_to_howto_rel): Likewise.
7658         (struct elf_i386_link_hash_entry): Add tls_type.
7659         (struct elf_i386_obj_tdata): New.
7660         (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
7661         New macros.
7662         (struct elf_i386_link_hash_table): Add tls_ldm_got.
7663         (link_hash_newfunc): Clear tls_type.
7664         (elf_i386_check_relocs): Support TLS relocs.
7665         (elf_i386_gc_sweep_hook): Likewise.
7666         (allocate_dynrelocs): Likewise.
7667         (elf_i386_size_dynamic_sections): Likewise.
7668         (elf_i386_relocate_section): Likewise.
7669         (elf_i386_finish_dynamic_symbol): Likewise.
7670         (bfd_elf32_mkobject, elf_backend_object_p): Define.
7671         * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
7672         dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
7673         want_tprel, want_dtpmod, want_dtprel.
7674         (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
7675         (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
7676         R_IA64_LTOFF_TPREL22.
7677         (elf_code_to_howto_index): Add TLS relocs.
7678         (elfNN_ia64_check_relocs): Support TLS relocs.
7679         (allocate_global_data_got): Account for TLS .got data.
7680         (allocate_dynrel_entries): Account for TLS dynamic relocations.
7681         (elfNN_ia64_install_value): Supprt TLS relocs.
7682         (set_got_entry): Support TLS relocs.
7683         (elfNN_ia64_relocate_section): Likewise.
7684
7685 2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
7686
7687         * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
7688         BLX reloc round the relocation up rather than down.
7689         * coff-arm.c (coff_arm_relocate_section): Likewise.
7690
7691 2002-05-21  H.J. Lu  (hjl@gnu.org)
7692
7693         * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
7694         definition.
7695
7696 2002-05-22  Alan Modra  <amodra@bigpond.net.au>
7697
7698         * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
7699         (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
7700
7701 2002-05-22  Alan Modra  <amodra@bigpond.net.au>
7702
7703         * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
7704         unresolved relocs.
7705         (ppc64_elf_size_dynamic_sections): Check for splt NULL.
7706
7707 2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7708
7709         * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
7710         non-ELF targets.
7711
7712 2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7713
7714         * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
7715         an error value.
7716         * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
7717         return with false on error.
7718         (elf_link_input_bfd): Check reloc_emitter return value.
7719
7720 2002-05-21  Jason Thorpe  <thorpej@wasabisystems.com>
7721
7722         * config.bfd (armeb-*-netbsdelf*): New target.
7723
7724 2002-05-20  Alan Modra  <amodra@bigpond.net.au>
7725
7726         * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
7727         at the plt call stub.
7728
7729 2002-05-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7730
7731         * cpu-mips.c (mips_compatible): Don't try to check machine
7732         compatibility.
7733
7734 2002-05-18  Tom Rix  <trix@redhat.com>
7735
7736         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
7737
7738 2002-05-17  Alan Modra  <amodra@bigpond.net.au>
7739
7740         * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
7741         (ppc64_elf_relocate_section): Don't warn about reloc overflow when
7742         we've already warned about an undefined symbol.  Report more
7743         detail on reloc errors.
7744
7745 2002-05-17  Alan Modra  <amodra@bigpond.net.au>
7746
7747         * acinclude.m4 (AM_INSTALL_LIBBFD): New.
7748         * configure.in: Invoke AM_INSTALL_LIBBFD.
7749         * Makefile.am (install-data-local): Revert 2002-05-13.  Move to..
7750         (install_libbfd): .. New target.
7751         (uninstall_libbfd): Likewise.
7752         (install-bfdlibLTLIBRARIES): Likewise.
7753         (uninstall-bfdlibLTLIBRARIES): Likewise.
7754         (bfdlibdir): New.
7755         (bfdincludedir): New.
7756         (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
7757         * aclocal.m4: Regenerate.
7758         * configure: Regenerate.
7759         * Makefile.in: Regenerate.
7760
7761 2002-05-17  Stuart Balfour <sbalfour@cisco.com>
7762
7763         * hash.c (bfd_hash_lookup): Remove computation of len from inside
7764         hash loop.
7765
7766 2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
7767
7768         * config.bfd: Add targets for sh64-linux (little endian and
7769         big endian).
7770
7771 2002-05-15  Laurent Pinchart <laurent.pinchart@skynet.be>
7772
7773         * peXXigen.c (pe_print_idata): Do not assume that the first thunk
7774         is located in the same section as the import table.  Instead
7775         check, and if necessary load the section containing the thunk.
7776
7777 2002-05-15  Nick Clifton  <nickc@cambridge.redhat.com>
7778
7779         * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
7780         bfd_bread.
7781         (xcoff64_core_file_matches_executable_p): Replace bfd_read
7782         with bfd_bread.
7783
7784 2002-05-15  Alan Modra  <amodra@bigpond.net.au>
7785
7786         * aix5ppc-core.c: Warning fixes.
7787         * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
7788         * aout-target.h (MY_bfd_link_just_syms): Define.
7789         * aout-tic30.c (MY_bfd_link_just_syms): Define.
7790         * bfd.c (bfd_link_just_syms): Define.
7791         * binary.c (binary_bfd_link_just_syms): Define.
7792         * bout.c (b_out_bfd_link_just_syms): Define.
7793         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
7794         * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
7795         * coffcode.h (coff_bfd_link_just_syms): Define.
7796         * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
7797         (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
7798         (_bfd_elf_link_just_syms): Declare.
7799         * elf.c (_bfd_elf_link_just_syms): New function.
7800         * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
7801         sections haven't already been discarded by the linker.
7802         * elflink.h (elf_link_add_object_symbols): Likewise for stab
7803         sections and SEC_MERGE sections.
7804         (elf_bfd_discard_info): Similarly here.
7805         * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
7806         * i386msdos.c (msdos_bfd_link_just_syms): Define.
7807         * i386os9k.c (os9k_bfd_link_just_syms): Define.
7808         * ieee.c (ieee_bfd_link_just_syms): Define.
7809         * ihex.c (ihex_bfd_link_just_syms): Define.
7810         * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
7811         (_bfd_generic_link_just_syms): Declare.
7812         * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
7813         * linker.c (_bfd_generic_link_just_syms): New function.
7814         * mmo.c (mmo_bfd_link_just_syms): Define.
7815         * nlm-target.h (nlm_bfd_link_just_syms): Define.
7816         * oasys.c (oasys_bfd_link_just_syms): Define.
7817         * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
7818         * som.c (som_bfd_link_just_syms): Define.
7819         * srec.c (srec_bfd_link_just_syms): Define.
7820         * targets.c (struct bfd_target): Add _bfd_link_just_syms.
7821         (BFD_JUMP_TABLE_LINK): And here.
7822         * tekhex.c (tekhex_bfd_link_just_syms): Define.
7823         * versados.c (versados_bfd_link_just_syms): Define.
7824         * vms.c (vms_bfd_link_just_syms): Define.
7825         * libbfd.h: Regenerate.
7826         * bfd-in2.h: Regenerate.
7827
7828 2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7829
7830         * elf32-mips.c: Remove superfluous definitions copied from
7831         elfxx-mips.c.
7832         (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
7833         SGIish vectors to check the special case.
7834         (mips_elf_hi16_reloc): Fix comment.
7835         (mips_elf_got16_reloc): Likewise.
7836         (_bfd_mips_elf32_gprel16_reloc): Likewise.
7837         (elf_reloc_map): Code cleanup.
7838         (mips_reloc_map): Add comment.
7839         (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
7840         (mips_elf32_rtype_to_howto): Likewise.
7841         (mips_elf32_discard_info): Likewise.
7842         (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
7843         lead to IRIX compatibility now.
7844
7845 2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
7846
7847         * elfxx-mips.c: Call it IRIX, not Irix in comments.
7848
7849 2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
7850
7851         * config.bfd (shle-*-netbsdelf*): Add target which includes
7852         sh64 support.
7853
7854 2002-05-13  David Edelsohn  <edelsohn@gnu.org>
7855
7856         * configure.in: Revert 2002-04-07.  Instead, auto-configure
7857         HAVE_ST_C_IMPL.
7858         * configure: Regenerate.
7859         * config.in: Regenerate.
7860         * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
7861         or AIX_5_CORE.
7862
7863 2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
7864
7865         * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
7866         corefiles as well.2
7867         * configure: Regenerate.
7868
7869 2002-05-13  Alan Modra  <amodra@bigpond.net.au>
7870
7871         * Makefile.am (install-data-local): Install headers to
7872         $(exec_prefix)/include.
7873         * Makefile.in: Regenerate.
7874
7875 2002-05-11  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
7876             Daniel Jacobowitz  <drow@mvista.com>
7877
7878         * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
7879         map BFD_RELOC_RVA.
7880
7881 2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
7882
7883         * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
7884         hppa*-*-openbsd*): New targets.
7885         * configure.in (alpha*-*-openbsd*): Set COREFILE.
7886         * configure: Regenerate.
7887
7888 2002-05-10  Tom Rix  <trix@redhat.com>
7889
7890         * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
7891         xcoff64_ppc_relocate_section.
7892         * coff-rs6000.c : Extern common xcoff_reloc_type functions.
7893         * libxcoff.h: Common xcoff_reloc_type function declaration.
7894
7895 2002-05-10  Alan Modra  <amodra@bigpond.net.au>
7896
7897         * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
7898         added in 2002-05-09 commit.
7899
7900         * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
7901         don't look for stubs on all undefined syms.
7902
7903 2002-05-09  Alan Modra  <amodra@bigpond.net.au>
7904
7905         * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
7906         (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
7907         pcrel_offset.
7908
7909         * elf32-i386.c (elf_howto_table): Comments.
7910         (elf_i386_relocate_section): Handle more relocs for relocatable
7911         linking and against SEC_MERGE sections.
7912
7913 2002-05-08  Alan Modra  <amodra@bigpond.net.au>
7914
7915         * elf32-ppc.c (ppc_elf_create_got): New function.
7916         (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
7917         _bfd_elf_create_dynamic_sections.  Correct .plt flags.
7918         (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
7919         _bfd_elf_create_got_section.
7920
7921 2002-05-07  Alan Modra  <amodra@bigpond.net.au>
7922
7923         * elf-bfd.h (struct elf_backend_data): Add rela_normal.
7924         * elfxx-target.h (elf_backend_rela_normal): Define.
7925         (elfNN_bed): Init rela_normal.
7926         * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
7927         for section symbols here if rela_normal.  Simplify abs section test.
7928         * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
7929         return immediately.  Remove code handling relocatable linking.
7930         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
7931         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
7932         * elf32-i370.c (i370_elf_relocate_section): Likewise.
7933         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
7934         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
7935         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
7936         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
7937         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
7938         * elf32-s390.c (elf_s390_relocate_section): Likewise.
7939         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
7940         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
7941         * elf64-s390.c (elf_s390_relocate_section): Likewise.
7942         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
7943         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
7944         * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
7945         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
7946         * elf-m10200.c (elf_backend_rela_normal): Define.
7947         * elf-m10300.c (elf_backend_rela_normal): Define.
7948         * elf32-fr30.c (elf_backend_rela_normal): Define.
7949         * elf32-i370.c (elf_backend_rela_normal): Define.
7950         * elf32-i860.c (elf_backend_rela_normal): Define.
7951         * elf32-m68k.c (elf_backend_rela_normal): Define.
7952         * elf32-mcore.c (elf_backend_rela_normal): Define.
7953         * elf32-openrisc.c (elf_backend_rela_normal): Define.
7954         * elf32-ppc.c (elf_backend_rela_normal): Define.
7955         * elf32-s390.c (elf_backend_rela_normal): Define.
7956         * elf32-xstormy16.c (elf_backend_rela_normal): Define.
7957         * elf64-ppc.c (elf_backend_rela_normal): Define.
7958         * elf64-s390.c (elf_backend_rela_normal): Define.
7959         * elf64-x86-64.c (elf_backend_rela_normal): Define.
7960         * elfxx-ia64.c (elf_backend_rela_normal): Define.
7961         * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
7962         * elf32-m32r.c (elf_backend_rela_normal): Likewise.
7963
7964 2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>
7965
7966         * elf32-arm.h (elf32_arm_final_link_relocate): Convert
7967         'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
7968
7969 2002-05-06  Alan Modra  <amodra@bigpond.net.au>
7970
7971         * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
7972         when not relocatable.  Fix reloc_emitter call for K&R.
7973
7974 2002-05-04  Alan Modra  <amodra@bigpond.net.au>
7975
7976         * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
7977         reloading local sym addend mistakenly removed in 2002-05-01 change.
7978
7979         * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
7980         (read_abbrevs): Change "offset" param to bfd_vma.
7981         (parse_comp_unit): Change "version" and addr_size to unsigned ints.
7982         Change "abbrev_offset" to bfd_vma.
7983         (read_indirect_string): Use correct conversion chars in error
7984         message format string, cast bfd_vma's to unsigned long.
7985         (read_abbrevs): Likewise.
7986         (read_attribute_value): Likewise.
7987         (decode_line_info): Likewise.
7988         (scan_unit_for_functions): Likewise.
7989         (parse_comp_unit): Likewise.
7990
7991 2002-05-04  Tom Rix  <trix@redhat.com>
7992
7993         * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
7994         (coff_swap_reloc_out): Same.
7995         * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
7996         (xcoff_swap_reloc_out): Same.
7997         (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
7998         case some 16 bit relocs. Add reloc value to output.
7999         (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
8000         R_RBR. Improve names.
8001         (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
8002         (bfd_xcoff_backend_data): Update with new reloc swap names.
8003         (bfd_pmac_xcoff_backend_data) : Same.
8004         * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
8005         (xcoff64_swap_reloc_out): Same.
8006         (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
8007         R_POS. Add reloc value to output.
8008         (xcoff64_howto_table): Move 64 bit R_POS to first entry.  Add 16
8009         bit R_RBR. Improve names, masks.
8010         (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
8011         (bfd_xcoff_backend_data): Update with new reloc swap names.
8012         (bfd_xcoff_aix5_backend_data) : Same.
8013
8014 2002-05-04  Alan Modra  <amodra@bigpond.net.au>
8015
8016         * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
8017         bfd_count top_index, input_list, all_local_syms.
8018         (elf32_hppa_setup_section_lists): New function, split from
8019         elf32_hppa_size_stubs.
8020         (elf32_hppa_next_input_section): Likewise.
8021         (group_sections): Likewise.
8022         (get_local_syms): Likewise.
8023         (elf32_hppa_size_stubs): Adjust for split out functions.  Look for
8024         stubs on undefined syms too.
8025         (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
8026         Only access htab elf fields when we have an elf hash table.
8027         * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
8028         (elf32_hppa_next_input_section): Declare.
8029
8030 2002-05-04  Bob Byrnes  <byrnes@curl.com>
8031
8032         * opncls.c (_bfd_new_bfd_contained_in): Check return value of
8033         _bfd_new_bfd.
8034
8035 2002-05-03  H.J. Lu  (hjl@gnu.org)
8036
8037         * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
8038         (mips_elf_link_hash_newfunc): Initialize forced_local to false.
8039         (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
8040         to hide a global symbol.
8041         (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
8042         forced_local to true.
8043
8044 2002-05-02  Richard Henderson  <rth@redhat.com>
8045
8046         * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
8047         vs SHN_UNDEF to zero.
8048
8049 2002-05-02  Alan Modra  <amodra@bigpond.net.au>
8050
8051         * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
8052         16 bit reloc.
8053         <R_PPC64_SECTOFF_DS>: Likewise.
8054         (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
8055         SECTOFF reloc.
8056         * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
8057         (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
8058         SECTOFF reloc.
8059
8060         * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
8061         (ppc64_elf_ha_reloc): New function.
8062         (ppc64_elf_brtaken_reloc): New function.
8063         (ppc64_elf_sectoff_reloc): New function.
8064         (ppc64_elf_sectoff_ha_reloc): New function.
8065         (ppc64_elf_toc_reloc): New function.
8066         (ppc64_elf_toc_ha_reloc): New function.
8067         (ppc64_elf_toc64_reloc): New function.
8068         (ppc64_elf_unhandled_reloc): New function.
8069         (ppc64_elf_howto_raw): Use the above.
8070         <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
8071         <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
8072         <R_PPC64_SECTOFF_DS>: Likewise.
8073         (IS_ABSOLUTE_RELOC): Update.
8074         (struct ppc_link_hash_table): Add have_undefweak.
8075         (ppc64_elf_link_hash_table_create): Init.
8076         (func_desc_adjust): Set have_undefweak.
8077         (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
8078         add the .sfpr blr when have_undefweak.
8079         (ppc64_elf_setup_section_lists): Check hash table flavour.
8080         (ppc64_elf_next_input_section): Move output_section->owner test to
8081         ppc64elf.em.
8082         (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
8083         and relocatable test.  Return TOCstart and don't set elf_gp.
8084         (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
8085         offset calculation.  Add assert on weak sym branch tweaks.
8086         * elf64-ppc.h (ppc64_elf_set_toc): Delete.
8087         (ppc64_elf_toc): Declare.
8088         (ppc64_elf_next_input_section): Update.
8089
8090 2002-05-01  Alan Modra  <amodra@bigpond.net.au>
8091
8092         * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
8093         file_name.
8094
8095 2002-05-01  Alan Modra  <amodra@bigpond.net.au>
8096
8097         * elf64-ppc.c (CROR_151515, CROR_313131): Define.
8098         (ppc64_elf_relocate_section): Use them.  Don't look for plt calls
8099         on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
8100         call branches.  Correct undefined weak destination.
8101         (ppc64_elf_func_desc_adjust): Always create at least one blr in
8102         .sfpr, and correct case where either only savef* or restf* is
8103         needed.
8104
8105         Long branch stubs, multiple stub sections.
8106         * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
8107         (ppc64_elf_next_input_section): Declare.
8108         * elf64-ppc.c: Move linker-only prototypes.
8109         (STUB_SUFFIX): Define.
8110         (enum ppc_stub_type): New.
8111         (struct ppc_stub_hash_entry): New.
8112         (struct ppc_branch_hash_entry): New.
8113         (struct ppc_link_hash_entry): Add stub_cache, oh.
8114         (struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
8115         sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
8116         Rename plt_overflow to stub_error.
8117         (ppc_stub_hash_lookup): Define.
8118         (ppc_branch_hash_lookup): Define.
8119         (stub_hash_newfunc): New function.
8120         (branch_hash_newfunc): New function.
8121         (link_hash_newfunc): Init new fields.
8122         (ppc64_elf_link_hash_table_create): Likewise.
8123         (ppc64_elf_link_hash_table_free): New function.
8124         (ppc_stub_name): New function.
8125         (ppc_get_stub_entry): New function.
8126         (ppc_add_stub): New function.
8127         (create_linkage_sections): Use bfd_make_section_anyway.  Create
8128         .branch_lt and .rela.branch_lt sections.  Don't create .stub.
8129         (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
8130         and set up for plt call stubs.  Link func and func desc syms.
8131         (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
8132         (func_desc_adjust): Avoid hash lookup when func desc sym available
8133         via shortcut, and set links when processing.
8134         (ppc64_elf_hide_symbol): Likewise.
8135         (allocate_dynrelocs): Don't allocate stub section here.
8136         (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
8137         Remove sstub code.
8138         (ppc_type_of_stub): New function.
8139         (build_one_stub): Delete.
8140         (ppc_build_one_stub): New function.
8141         (ppc_size_one_stub): New function.
8142         (ppc64_elf_setup_section_lists): New function.
8143         (ppc64_elf_next_input_section): New function.
8144         (group_sections): New function.
8145         (get_local_syms): New function.
8146         (ppc64_elf_size_stubs): Rewrite.
8147         (ppc64_elf_build_stubs): Rewrite.
8148         (ppc64_elf_relocate_section): Look up stub entry for REL24
8149         relocs.  Don't propagate REL14* to dynamic objects.  Look for long
8150         branch stubs if REL14* or REL24 relocs won't reach.
8151         (bfd_elf64_bfd_link_hash_table_free): Define.
8152
8153 2002-04-30  Mark Mitchell  <mark@codesourcery.com>
8154
8155         * config.bfd: Add support for powerpc-*-windiss.
8156
8157 2002-04-30  Tom Rix  <trix@redhat.com>
8158
8159         * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
8160         symbol names into the hash table.
8161
8162 2002-04-28  Tom Rix  <trix@redhat.com>
8163
8164         * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
8165         calulating relocations.
8166         (xcoff_complain_overflow) : Function table for relocation errors.
8167         (xcoff_ppc_relocate_section): Use relocation and complain function
8168         tables.
8169         (xcoff_complain_overflow_unsigned_func): New complain function.
8170         (xcoff_complain_overflow_signed_func): Same.
8171         (xcoff_complain_overflow_bitfield_func): Same.
8172         (xcoff_complain_overflow_dont_func): Same.
8173         (xcoff_reloc_type_crel): New recot function.
8174         (xcoff_reloc_type_br): Same.
8175         (xcoff_reloc_type_ba): Same.
8176         (xcoff_reloc_type_toc): Same.
8177         (xcoff_reloc_type_rel): Same.
8178         (xcoff_reloc_type_neg): Same.
8179         (xcoff_reloc_type_pos): Same.
8180         (xcoff_reloc_type_fail): Same.
8181         (xcoff_reloc_type_noop): Same.
8182         * libxcoff.h : Declare common parts for xcoff64.
8183         * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
8184         and complain function tables.
8185
8186 2002-04-28  Alan Modra  <amodra@bigpond.net.au>
8187
8188         * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
8189         * elf32-hppa.c (elf32_hppa_final_link): Formatting.
8190
8191 2002-04-26  Alan Modra  <amodra@bigpond.net.au>
8192
8193         * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
8194         * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
8195
8196         * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
8197         same as the output before calling elf_link_input_bfd.
8198
8199         * coffcode.h (coff_compute_section_file_positions): Set
8200         section_tail after shuffling section list.
8201
8202 2002-04-24  Christian Groessler <chris@groessler.org>
8203
8204         * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
8205         addresses are 23bit with a special layout, not plain 32bit
8206         values.  Prevent relocation of immediate values.
8207
8208 2002-04-24  Chris G. Demetriou  <cgd@broadcom.com>
8209
8210         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
8211         MIPS-16 ASE flags are set, print something to indicate that.
8212
8213 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
8214
8215         * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
8216         under which a plt call stub is used.
8217         (final_link_relocate): Similarly.
8218         (allocate_plt_static): Clear h-plabel except when plt entry is
8219         exclusively used for a plabel.
8220         (allocate_dynrelocs): Use the above to simplify plt sizing.
8221         (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
8222         (elf32_hppa_link_hash_table_create): Init.
8223         (BL22_RP): Define.
8224         (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
8225         (elf32_hppa_check_relocs): Set has_22bit_branch.
8226
8227         * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
8228         (final_link_relocate): Likewise.
8229
8230 2002-04-22  Jakub Jelinek  <jakub@redhat.com>
8231
8232         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
8233         search table if some FDE is DW_EH_PE_aligned encoded either.
8234         (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
8235
8236 2002-04-22  Richard Smith  <richard@ex-parrot.com>
8237             Jakub Jelinek  <jakub@redhat.com>
8238
8239         * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
8240         (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
8241         encoded personality.
8242         (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
8243         for CIE/FDE removal.
8244
8245 2002-04-20  Tom Rix  <trix@redhat.com>
8246
8247         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
8248
8249 2002-04-20  Alan Modra  <amodra@bigpond.net.au>
8250
8251         * archures.c (bfd_lookup_arch): Move the list order comment..
8252         (struct bfd_arch_info): ..to where it belongs.
8253         * bfd-in2.h: Regenerate.
8254
8255         * archures.c (bfd_lookup_arch): Add comment on list order.
8256         (bfd_default_set_arch_mach): Use bfd_lookup_arch.
8257         * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
8258         is always at head of list.
8259
8260 2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
8261
8262         * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
8263         insert_thumb_branch, record_thumb_to_arm_glue): Suppress
8264         definition of these functions for ARM_WINCE builds as they are
8265         not used.
8266         (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
8267         for ARM_WINCE builds.
8268
8269 2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
8270
8271         * coff-arm.c (bfd_arm_process_before_allocation):
8272
8273 2002-04-17  J"orn Rennecke <joern.rennecke@superh.com>
8274
8275         * cpu-sh.c (scan_mach): Delete.
8276         (arch_info_struct): Replace scan_mach with bfd_default_scan.
8277         (bfd_sh_arch): Likewise.
8278
8279 2002-04-16  Nick Clifton  <nickc@cambridge.redhat.com>
8280
8281         * ihex.c (ihex_write_object_contents): Fix check for records
8282         crossing 64K boundaries.
8283
8284 2002-04-16  Alan Modra  <amodra@bigpond.net.au>
8285
8286         * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
8287         type rather than just assuming entries are ELF.
8288         * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
8289         * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
8290         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
8291         * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
8292         rather than elf_link_hash_entry.
8293
8294 2002-04-15  Richard Henderson  <rth@redhat.com>
8295
8296         * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
8297         n32 binaries.
8298
8299 2002-04-15  Michael Snyder  <msnyder@redhat.com>
8300
8301         * opncls.c (bfd_close): Write contents if writeable.
8302         Minor formatting tidy-ups.
8303
8304 2002-04-15  Alan Modra  <amodra@bigpond.net.au>
8305
8306         * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
8307
8308 2002-04-12  Michael Snyder  <msnyder@redhat.com>
8309
8310         * bfd-in.h (bfd_get_section_lma): New access macro.
8311         Minor white-space fix-up.
8312
8313 2002-04-12  Alan Modra  <amodra@bigpond.net.au>
8314
8315         * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
8316         header pad.
8317
8318 2002-04-09  DJ Delorie  <dj@redhat.com>
8319
8320         * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
8321
8322 2002-04-09  Casper S. Hornstrup <chorns@users.sourceforge.net>
8323
8324         * coffcode.h (coff_read_word): New.
8325         (coff_compute_checksum): New.
8326         (coff_apply_checksum): New.
8327         (coff_write_object_contents): Call coff_apply_checksum () to
8328         apply checksum to PE image.
8329
8330 2002-04-08  Randolph Chung  <tausq@debian.org>
8331
8332         * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
8333         (elf32_hppa_final_link): Split out sorting logic to..
8334         * elf-hppa.h (elf_hppa_sort_unwind): ..here.
8335         (elf_hppa_final_link): Call elf_hppa_sort_unwind.
8336
8337 2002-04-07  Andrew Cagney  <ac131313@redhat.com>
8338
8339         * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
8340         pattern.
8341         * configure: Re-generate.
8342
8343 2002-04-07  Andrew Cagney  <ac131313@redhat.com>
8344
8345         * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
8346         is greater or equal to 4.3.3.
8347         * configure: Regenerate.
8348         Fix PR gdb/344.
8349
8350 2002-04-05  Hans-Peter Nilsson  <hp@axis.com>
8351
8352         * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
8353         R_CRIS_32_PCREL>: Fix typo in name.
8354         (cris_elf_check_relocs): Always create .rela.got here when
8355         R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
8356         (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
8357         assume it's created.
8358
8359 2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
8360
8361         * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
8362         * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
8363         define.
8364         * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
8365         * bfd.c (bfd_link_hash_table_free): Define.
8366         * binary.c (binary_bfd_link_hash_table_free): Define.
8367         * bout.c (b_out_bfd_link_hash_table_free): Define.
8368         * coff-rs6000.c (rs6000coff_vec): Include
8369         _bfd_generic_link_hash_table_free.
8370         (pmac_xcoff_vec): Likewise.
8371         * coff64-rs6000.c (rs6000coff64_vec): Likewise.
8372         (aix5coff64_vec): Likewise.
8373         * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
8374         * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
8375         (bfd_elf32_bfd_link_hash_table_free): Define.
8376         * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
8377         (bfd_elf32_bfd_link_hash_table_free): Define.
8378         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
8379         define.
8380         * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
8381         * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
8382         * ieee.c (ieee_bfd_link_hash_table_free): Define.
8383         * ihex.c (ihex_bfd_link_hash_table_free): Define.
8384         * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
8385         (_bfd_generic_link_hash_table_free): Add prototype.
8386         * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
8387         * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
8388         * linker.c (_bfd_generic_link_hash_table_free): New function.
8389         * mmo.c (mmo_bfd_link_hash_table_free): Define.
8390         * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
8391         * oasys.c (oasys_bfd_link_hash_table_free): Define.
8392         * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
8393         * som.c (som_bfd_link_hash_table_free): Define.
8394         * srec.c (srec_bfd_link_hash_table_free): Define.
8395         * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
8396         * versados.c (versados_bfd_link_hash_table_free): Define.
8397         * vms.c (vms_bfd_link_hash_table_free): New function.
8398         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
8399
8400         * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
8401         instead of bfd_alloc.
8402         * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
8403         * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
8404         * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
8405         * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
8406         * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
8407         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
8408         * elf.c (_bfd_elf_link_hash_table_create): Likewise.
8409         * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
8410         * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
8411         * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
8412         * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
8413         * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
8414         * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
8415         * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
8416         * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
8417         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
8418         * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
8419         * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
8420         * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
8421         * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
8422         * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
8423         * linker.c (_bfd_generic_link_hash_table_create): Likewise.
8424         * m68klinux.c (linux_link_hash_table_create): Likewise.
8425         * sparclinux.c (linux_link_hash_table_create): Likewise.
8426         * sunos.c (sunos_link_hash_table_create): Likewise.
8427         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
8428
8429         * targets.c: Add _bfd_link_hash_table_free to xvec.
8430
8431         * bfd-in2.h: Regenerate.
8432         * libbfd.h: Regenerate.
8433         * libcoff.h: Regenerate.
8434
8435 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
8436
8437         * dep-in.sed: Cope with absolute paths.
8438         * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
8439         Run "make dep-am".
8440         * Makefile.in: Regenerate.
8441         * coff-arm.c: Fix copyright date.
8442         * cpu-h8300.c: Likewise.
8443         * cpu-i370.c: Likewise.
8444         * cpu-s390.c: Likewise.
8445         * cpu-mips.c: Likewise.
8446         * po/SRC-POTFILES.in: Regenerate.
8447
8448 2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
8449
8450         * Makefile.am: Add elfxx-mips.c to the known backends.
8451         (elf32-mips.lo): remove dependency to coff/external.h.
8452         * Makefile.in: Regenerate.
8453         * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
8454         Remove elf32-mips.lo from 64 bit vectors. Update dependencies
8455         accordingly.
8456         * configure: Regenerate.
8457         * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
8458         (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
8459         (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
8460         MIPS specific backend functions.
8461         * elf32-mips.c: Moved most code to elfxx-mips.c.
8462         (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
8463         static.
8464         (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
8465         (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
8466         (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
8467         (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
8468         interface to allow selection of the right REL or RELA howto table.
8469         (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
8470         static. Let it refuse n32 objects.
8471         (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
8472         (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
8473         (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
8474         (elf32_mips_ignore_discarded_relocs): Rename from
8475         _bfd_elf32_mips_ignore_discarded_relocs.
8476         (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
8477         (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
8478         (elf_mips_howto_table_rela): Remove.
8479         * elf64-mips.c: Moved most code to elfxx-mips.c.
8480         (bfd_elf64_bfd_reloc_type_lookup): Make static.
8481         (mips_elf64_rtype_to_howto): New function.
8482         (mips_elf64_object_p): Likewise.
8483         (elf64_mips_irix_compat): Likewise.
8484         * elfxx-mips.c: New file containing common code merged together from
8485         elf32-mips.c and elf64-mips.c.
8486         * elfxx-mips.h: New file containing MIPS specific prototypes from
8487         elf-bfd.h.
8488         * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
8489         elf_backend_mips_rtype_to_howto.
8490
8491 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
8492
8493         * srec.c (MAXCHUNK, Chunk): Revise comments.
8494         (srec_write_record): Correct buffer size.
8495         (srec_write_header): Do without intermediate buffer.
8496         (srec_write_section): Validate Chunk.
8497         (srec_write_terminator): Pass NULL instead of dummy buffer.
8498         (srec_write_symbols): Pass file and symbol names directly to
8499         bfd_bwrite so sprintf won't overflow buffer.
8500
8501 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
8502
8503         * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
8504         PC relative relocs against hidden symbols.
8505         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8506
8507 2002-04-03  Alan Modra  <amodra@bigpond.net.au>
8508
8509         * elf.c (_bfd_elf_make_section_from_shdr): When setting section
8510         LMAs, loop over segments until p_vaddr and p_memsz specify an
8511         extent enclosing the section.
8512
8513 2002-04-02  Nick Clifton  <nickc@cambridge.redhat.com>
8514
8515         * ihex.c (ihex_write_object_contents): Do not allow records to
8516         cross a 64K boundary - wrap if necessary.
8517
8518 2002-04-01  Nathan Williams  <nathanw@wasabisystems.com>
8519
8520         * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
8521         which caused the returned LWP ID to always be 0.
8522
8523 2002-04-01  Richard Henderson  <rth@redhat.com>
8524
8525         * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
8526         (elf32_sparc_relocate_section): Use it to figure out when to
8527         initialize .got entries.
8528         * elf64-sparc.c: Similarly.
8529
8530 2002-03-28  Alan Modra  <amodra@bigpond.net.au>
8531
8532         * linker.c (link_action): Ignore duplicate warning syms.
8533         (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
8534         * elflink.h (elf_adjust_dynstr_offsets): Likewise.
8535         (elf_adjust_dynamic_symbol): Likewise.
8536         (elf_export_symbol): Likewise.
8537         (elf_link_find_version_dependencies): Likewise.
8538         (elf_link_assign_sym_version): Likewise.
8539         (elf_link_sec_merge_syms): Likewise.
8540         (elf_link_output_extsym): Likewise.
8541         (elf_gc_sweep_symbol): Likewise.
8542         (elf_gc_propagate_vtable_entries_used): Likewise.
8543         (elf_gc_smash_unused_vtentry_relocs): Likewise.
8544         (elf_gc_allocate_got_offsets): Likewise.
8545         (elf_collect_hash_codes): Likewise.
8546         * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
8547         * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
8548         (elf_hppa_remark_useless_dynamic_symbols): Likewise.
8549         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
8550         * elf32-arm.h (elf32_arm_discard_copies): Likewise.
8551         * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
8552         (elf_cris_discard_excess_dso_dynamics): Likewise.
8553         * elf32-hppa.c (clobber_millicode_symbols): Likewise.
8554         (mark_PIC_calls): Likewise.
8555         (allocate_plt_static): Likewise.
8556         (allocate_dynrelocs): Likewise.
8557         (readonly_dynrelocs): Likewise.
8558         * elf32-i386.c (allocate_dynrelocs): Likewise.
8559         (readonly_dynrelocs): Likewise.
8560         * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
8561         * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
8562         * elf32-mips.c (mips_elf_output_extsym): Likewise.
8563         (mips_elf_sort_hash_table_f): Likewise.
8564         (mips_elf_check_mips16_stubs): Likewise.
8565         * elf32-s390.c (allocate_dynrelocs): Likewise.
8566         (readonly_dynrelocs): Likewise.
8567         * elf32-sh.c (sh_elf_discard_copies): Likewise.
8568         * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
8569         (xstormy16_relax_plt_realloc): Likewise.
8570         * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
8571         (elf64_alpha_output_extsym): Likewise.
8572         * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
8573         * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
8574         (mips_elf64_check_mips16_stubs): Likewise.
8575         (mips_elf64_output_extsym): Likewise.
8576         * elf64-ppc.c (func_desc_adjust): Likewise.
8577         (allocate_dynrelocs): Likewise.
8578         (readonly_dynrelocs): Likewise.
8579         * elf64-s390.c (allocate_dynrelocs): Likewise.
8580         (readonly_dynrelocs): Likewise.
8581         * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
8582         * elf64-x86-64.c (allocate_dynrelocs): Likewise.
8583         (readonly_dynrelocs): Likewise.
8584         * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
8585         * aoutx.h (aout_link_write_other_symbol): Likewise.
8586         * cofflink.c (_bfd_coff_write_task_globals): Likewise.
8587         (_bfd_coff_write_global_sym): Likewise.
8588         * i386linux.c (linux_tally_symbols): Likewise.
8589         * m68klinux.c (linux_tally_symbols): Likewise.
8590         * sparclinux.c (linux_tally_symbols): Likewise.
8591         * pdp11.c (aout_link_write_other_symbol): Likewise.
8592         * sunos.c (sunos_scan_dynamic_symbol): Likewise.
8593         * xcofflink.c (xcoff_build_ldsyms): Likewise.
8594         (xcoff_write_global_symbol): Likewise.
8595
8596         * cofflink.c (_bfd_coff_final_link): Formatting.
8597         * cpu-mips.c (mips_compatible): Make static, prototype.
8598         * elf32-i386.c (elf_i386_check_relocs): Formatting.
8599         * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
8600         * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
8601         * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
8602         (mips_elf64_final_link): Likewise.
8603         * elflink.h (elf_link_find_version_dependencies): Remove duplicate
8604         prototype.
8605
8606 2002-03-27  Nick Clifton  <nickc@cambridge.redhat.com>
8607
8608         * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
8609         (SWAP_OUT_RELOC_OFFSET): Define.
8610
8611 2002-03-27  Gregory Steuck <greg@nest.cx>
8612
8613         * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
8614         terminating NULL if empty symbol table.
8615         (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
8616
8617 2002-03-26  H.J. Lu  (hjl@gnu.org)
8618
8619         * elflink.h (elf_link_input_bfd): Revert the last change since
8620         the gcc exception handling isn't fixed yet.
8621
8622 2002-03-26  H.J. Lu  (hjl@gnu.org)
8623
8624         * elflink.h (elf_link_input_bfd): Complain about relocations
8625         against local symbols in discarded sections.
8626
8627 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
8628
8629         * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
8630
8631 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
8632
8633         * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
8634         section file offset for !SEC_LOAD sections.
8635
8636 2002-03-21  Richard Earnshaw  <rearnsha@arm.com>
8637
8638         * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
8639         <case R_ARM_GOT>): Handle relocations to Thumb functions.
8640
8641 2002-03-21  Alan Modra  <amodra@bigpond.net.au>
8642
8643         * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
8644         Whitespace changes.
8645         * archive.c: Update copyright date.
8646         * bfd-in2.h: Regenerate.
8647         * libbfd.h: Regenerate.
8648         * Makefile.am: Run "make dep-am"
8649         * Makefile.in: Regenerate.
8650         * po/SRC-POTFILES.in: Regenerate.
8651
8652 2002-03-20  Daniel Jacobowitz  <drow@mvista.com>
8653
8654         * dwarf2.c (struct funcinfo): Move up.
8655         (lookup_address_in_function_table): New argument function_ptr.
8656         Set it.
8657         (lookup_address_in_line_table): New argument function.  If function
8658         is non-NULL, use it to handle ``addr'' before the first line note of
8659         the function.
8660         (comp_unit_find_nearest_line): Update and swap calls to
8661         lookup_address_in_function_table and lookup_address_in_line_table.
8662         * syms.c (_bfd_stab_section_find_nearest_line): Use the first
8663         N_SLINE encountered if we see an N_FUN before any N_SLINE.
8664
8665 2002-03-20  Tom Rix  <trix@redhat.com>
8666
8667         * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
8668         _bfd_xcoff_generic_stat_arch_elt.  Fix format check.
8669         * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
8670
8671 2002-03-19  Tom Rix  <trix@redhat.com>
8672
8673         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
8674         dynamic objects in archives.
8675
8676 2002-03-19  Hans-Peter Nilsson  <hp@bitrange.com>
8677
8678         * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
8679         STT_NOTYPE symbols to STT_OBJECT.
8680
8681 2002-03-18  Jan Hubicka  <jh@suse.cz>
8682
8683         * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
8684
8685 2002-03-18  Tom Rix  <trix@redhat.com>
8686
8687         * aix5ppc.core.c : New file for AIX 5 64 bit core support.
8688         * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
8689         * coff-rs6000 (do_pad) : New function for archive padding.
8690         (do_copy) : New function for object file copying in archives.
8691         (do_shared_object_padding) : New function for padding shared
8692         objects to their text section alignment in archives.
8693         (bfd_xcoff_ar_achive_set_magic) : Stub.
8694         (xcoff_write_armap_big) : Use do_copy and do_pad.
8695         (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
8696         do_copy and do_pad.
8697         * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
8698         bfd_xcoff_magic_number.
8699         (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
8700         fop.
8701         (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
8702         (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
8703         (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
8704         * rs6000-core.c : Update copyright date.
8705         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
8706         csectpp.
8707         * coffcode.h (coff_new_section_hook) : Use new accessor macros.
8708         (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
8709         (coff_set_flags) : Use bfd_xcoff_magic_number.
8710         * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
8711         * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
8712         * Makefile.am : Same.
8713         * config.bfd : Same.
8714         * targets.c : Same.
8715         * configure : Regnerate.
8716         * Makefile.in : Same.
8717         * bfd-in2.h : Same.
8718
8719 2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
8720
8721         * po/fr.po: Updated version.
8722
8723 2002-03-18  Alan Modra  <amodra@bigpond.net.au>
8724
8725         * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
8726         * libbfd.h: Regenerate.
8727         * archive.c (coff_write_armap): Pass on failures from
8728         bfd_write_bigendian_4byte_int.
8729
8730 2002-03-14  H.J. Lu <hjl@gnu.org>
8731
8732         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
8733         error to bfd_error_nonrepresentable_section for reinit_array
8734         section in DSO.
8735
8736 2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
8737
8738         * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
8739         OR it in rather than replacing previously selected flags.
8740
8741         * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
8742         (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
8743
8744 2002-03-14  Alan Modra  <amodra@bigpond.net.au>
8745
8746         * cpu-mips.c (mips_compatible): New.  Don't check bits_per_word.
8747         (N): Use the above.
8748         * elflink.h (elf_bfd_final_link): Revert last change.  Instead,
8749         ensure reloc size matches before calling elf_link_input_bfd.
8750         Add an assert to check reloc size when counting output relocs.
8751
8752 2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
8753
8754         * mmo.c (mmo_get_loc): Return NULL rather than false.
8755
8756 2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
8757
8758         * po/fr.po: Updated version.
8759
8760 2002-03-13  Alan Modra  <amodra@bigpond.net.au>
8761
8762         * archures.c (bfd_default_compatible): Test bits_per_word.
8763         * cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
8764         bfd_default_compatible.
8765         * cpu-i370.c (i370_compatible): Likewise.
8766         * cpu-sparc.c (sparc_compatible): Likewise.
8767         * cpu-h8300.c (compatible): Test in->arch == out->arch.
8768
8769         * elflink.h: Formatting fixes.
8770         (elf_link_output_extsym): Merge undefined and undef weak cases.
8771
8772         * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
8773         when word size of input matches output word size.
8774
8775 2002-03-12  Andreas Jaeger  <aj@suse.de>
8776
8777         * cpu-i386.c (i386_compatible): New.  Use it instead of
8778         bfd_default_compatible.
8779
8780 2002-03-07  H.J. Lu  (hjl@gnu.org)
8781
8782         * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
8783         as the type for bfd_reloc_val.
8784
8785 2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8786
8787         * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
8788         (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
8789         (elf_hppa_final_link_relocate): Correct relocations for indirect
8790         references to local data through the DLT.  Fix .opd creation for
8791         local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
8792         relocations.  Use e_lsel selector for R_PARISC_DLTIND21L,
8793         R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
8794         "Processor-Specific ELF for PA_RISC, Version 1.43" document.
8795         Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
8796         * elf32-hppa.c (final_link_relocate): Revise relocation selectors
8797         as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
8798
8799 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
8800
8801         * merge.c (_bfd_merge_sections): Don't segfault if there
8802         is nothing to merge due to GC.
8803
8804 2002-03-05  Alan Modra  <amodra@bigpond.net.au>
8805
8806         * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
8807         symbols that have been forced local.
8808
8809         * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
8810         to output forced local syms for non-shared link.
8811         (elf_link_output_extsym): Tweak condition for calling backend
8812         adjust_dynamic_symbol so that previous behaviour is kept.
8813         Whitespace changes throughout file.
8814
8815 2002-03-04  H.J. Lu <hjl@gnu.org>
8816
8817         * elf.c (bfd_section_from_shdr): Handle special sections,
8818         .init_array, .fini_array and .preinit_array.
8819         (elf_fake_sections): Likewise.
8820
8821         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
8822         DT entry only if the section is in output for .init_array,
8823         .fini_array and .preinit_array. Complain about .preinit_array
8824         section in DSO.
8825         (elf_bfd_final_link): Warn zero size for .init_array,
8826         .fini_array and .preinit_array sections.
8827
8828         * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
8829         SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
8830         (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
8831         .preinit_array.
8832
8833 2002-03-04  Alan Modra  <amodra@bigpond.net.au>
8834
8835         * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
8836         * configure: Regenerate.
8837
8838 2002-03-02  Tom Rix  <trix@redhat.com>
8839
8840         * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
8841         symbolic equiv.
8842         * coff-rs6000.c (xcoff_howto_table): Same.
8843
8844 2002-03-01  David Mosberger  <davidm@hpl.hp.com>
8845
8846         * elflink.h (size_dynamic_sections): If section named
8847         ".preinit_array" exists, create DT_PREINIT_ARRAY and
8848         DT_PREINIT_ARRAYSZ entries in dynamic table.  Analogously for
8849         ".init_array" and ".fini_array".
8850         (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
8851         DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
8852         DT_FINI_ARRAY.
8853
8854 2002-02-26  Andrew Macleod  <amacleod@cygnus.com>
8855
8856         * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
8857         dynsyms.
8858
8859 2002-02-25  Alan Modra  <amodra@bigpond.net.au>
8860
8861         * elf64-hppa.h: Update copyright date.
8862
8863         * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
8864         (ppc64_elf_relocate_section): Don't generate power4 style branch
8865         hints for *_BRTAKEN and *_BRNTAKEN relocs.
8866
8867 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
8868
8869         * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
8870         last patch.
8871         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
8872
8873 2002-02-21  Andreas Jaeger  <aj@suse.de>
8874
8875         * elf64-x86-64.c: Major rework that introduces all recent changes
8876         to the x86-64 backend.  Get a closer match to elf32-i386.
8877         (struct elf64_x86_64_dyn_relocs): Rename from
8878         elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
8879         all users.
8880         (struct elf64_x86_64_link_hash_table): Add short cuts to some
8881         sections.
8882         (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
8883         remove casts, initialize new hash members.
8884         (create_got_section): New.
8885         (elf64_x86_64_create_dynamic_sections): New.
8886         (elf64_x86_64_copy_indirect_symbol): New.
8887         (elf64_x86_64_check_relocs): Don't allocate space for dynamic
8888         relocs, .got or .relgot here but do it in allocate_dynrelocs.
8889         Reference count possible .plt and .got entries.  Don't test input
8890         section SEC_READONLY here to try to avoid copy relocs, and keep
8891         dyn_relocs regardless of ELF_LINK_NON_GOT_REF.  Don't set
8892         DF_TEXTREL here.  Delay setting of variables until needed.  Cache
8893         pointer to "sreloc" section in elf_section_data. Tweak condition
8894         under which .got created.  Report files with bad relocation
8895         section names.
8896         (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
8897         Reference count possible .plt entries.  Don't deallocate .got and
8898         .relgot space here.
8899         (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc.  Don't
8900         do copy reloc processing for weakdefs.  Remove redundant casts and
8901         aborts.  Delay setting of vars until needed.  Move creation of
8902         dynamic symbols and allocation of .plt and .rela.plt to
8903         allocate_dynrelocs.  Replace BFD_ASSERT with abort.
8904         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
8905         (allocate_dynrelocs): New.
8906         (readonly_dynrelocs): New.
8907         (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
8908         Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
8909         Zero out the dynamic allocated content space.
8910         (elf64_x86_64_discard_copies): Removed.
8911         (elf64_x86_64_relocate_section): Make use of dynamic section
8912         short-cuts.  Localise vars, and delay setting.  Better error
8913         reporting, replace BFD_ASSERT with abort.  Check
8914         ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
8915         regular object file and tread the weak definition as the normal
8916         one.  Don't discard relocs for undefweak or undefined symbols and
8917         check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
8918         relocs.
8919         (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
8920         symbols that have been forced local.  Use same test to decide if
8921         we can use a relative reloc for got as relocate_section.  Expand
8922         SHN_UNDEF comment.  Move expressions out of function calls.
8923         Replace BFD_ASSERT with abort.
8924         (bfd_elf64_bfd_final_link): Removed.
8925         (elf_backend_copy_indirect_symbol): Define.
8926
8927 2002-02-20  Tom Rix  <trix@redhat.com>
8928
8929         * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
8930         (_bfd_xcoff_reloc_type_lookup): Use it.
8931         * coff64-rs6000.c (xcoff64_howto_table): Same.
8932         (xcoff64_reloc_type_lookup): Same.
8933
8934 2002-02-20  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
8935
8936         * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
8937         little endian.
8938
8939 2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
8940
8941         * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
8942         (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
8943         * bfd-in2.h: Regenerate.
8944         * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
8945         Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
8946         with "s390:64-bit".
8947         * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
8948         (elf_s390_reloc_type_lookup): Likewise.
8949         (elf_s390_check_relocs): Likewise.
8950         (elf_s390_gc_sweep_hook): Likewise.
8951         (elf_s390_relocate_section): Likewise.
8952         (elf_s390_object_p): Use renamed architecture define.
8953         * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
8954
8955 2002-02-19  Frank Ch. Eigler  <fche@redhat.com>
8956
8957         * syms.c (stt[]): Sorted.  Added .init/.fini -> "t" mapping.
8958
8959 2002-02-19  Jakub Jelinek  <jakub@redhat.com>
8960
8961         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
8962         absptr -> pcrel optimization for shared libs.
8963         Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
8964         library cannot be converted to pcrel.
8965         (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
8966         relative.
8967         * elf32-i386.c (elf_i386_relocate_section): If
8968         _bfd_elf_section_offset returned -2, skip, but make sure the
8969         relocation is installed.
8970         * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
8971         * elf32-cris.c (cris_elf_relocate_section): Likewise.
8972         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
8973         * elf32-i370.c (i370_elf_relocate_section): Likewise.
8974         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
8975         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
8976         * elf32-s390.c (elf_s390_relocate_section): Likewise.
8977         * elf32-sh.c (sh_elf_relocate_section): Likewise.
8978         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
8979         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
8980         * elf64-s390.c (elf_s390_relocate_section): Likewise.
8981         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
8982         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
8983         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
8984         * elf64-alpha.c (elf64_alpha_relocate_section): Handle
8985         _bfd_elf_section_offset returning -2 the same way as -1.
8986         * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
8987         * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
8988         and BFD_ASSERT.
8989         * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
8990
8991 2002-02-18  Tom Rix  <trix@redhat.com>
8992
8993         * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
8994         (bfd_xcoff_size_dynamic_sections): Same.
8995         * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
8996         (bfd_xcoff_size_dynamic_sections): Same.
8997         * coff-rs6000.c (xcoff_generate_rtinit): Same.
8998         * coff-rs646000.c (xcoff64_generate_rtinit): Same.
8999         * libxcoff.h (struct xcoff_backend_data_rec): Same.
9000         * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
9001         * bfd-in2.h: Regenerate.
9002
9003 2002-02-18  Alan Modra  <amodra@bigpond.net.au>
9004
9005         * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
9006         (struct ppc_link_hash_table): Add sfpr.
9007         (ppc64_elf_link_hash_table_create): Init it.
9008         (ppc64_elf_create_dynamic_sections): Split creation of .stub and
9009         .glink out to..
9010         (create_linkage_sections): ..here.  Make .sfpr too.
9011         (ppc64_elf_check_relocs): Call create_linkage_sections, and set
9012         dynobj early.
9013         (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
9014         (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
9015         ._restf* functions, and create as needed.
9016         (func_desc_adjust): Only force_local for shared libs.
9017
9018 2002-02-18  David O'Brien  <obrien@FreeBSD.org>
9019
9020         * configure.in: Bump version number post 2.12 branching.
9021         * configure: Regenerate.
9022
9023 2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
9024
9025         * mmo.c: Correct and improve comments.
9026         (mmo_write_chunk): Store trailing byte in bfd buffer; don't
9027         zero-pad.  Use input to fill up non-empty bfd buffer.
9028         (mmo_flush_chunk): New function.
9029         (mmo_write_loc_chunk): Add parameter last_vmap, all callers
9030         changed.  Don't emit location specifier if VMA is same as
9031         *LAST_VMAP after omitting leading zero contents.  Call
9032         mmo_flush_chunk before emitting location specifier.
9033         (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
9034         with mmo_write_loc_chunk calls.
9035         (mmo_internal_write_section): Call mmo_flush_chunk after
9036         mmo_write_chunk.
9037         (mmo_write_symbols_and_terminator): Move :Main to first position
9038         in symbol array.  Add faked one if it does not exist if there are
9039         other symbols.  Don't add it if there are no symbols at all.  Move
9040         out test for value of :Main from symbol loop.  Rename table
9041         fakemain to maintable and variable mainsym to fakemain.
9042
9043 2002-02-15  Richard Henderson  <rth@redhat.com>
9044
9045         * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
9046         section with no got matches any got.  Simplify error generaion.
9047
9048 2002-02-15  Alan Modra  <amodra@bigpond.net.au>
9049
9050         Support arbitrary length fill patterns.
9051         * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
9052         (_bfd_default_link_order): Remove bfd_fill_link_order code.
9053         Call default_data_link_order.
9054         (default_fill_link_order): Delete.
9055         (default_data_link_order): New function.
9056         * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
9057         of bfd_fill_link_order with bfd_data_link_order.
9058         * elf64-alpha.c (elf64_alpha_final_link): Likewise.
9059         * elf64-mips.c (mips_elf64_final_link): Likewise.
9060
9061         * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
9062         Correct value returned in "end" for "0x<non-hex>".
9063
9064 2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
9065
9066         * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
9067         (scan): Test against 'mach' field in info structure.
9068
9069 2002-02-14  Alan Modra  <amodra@bigpond.net.au>
9070
9071         * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
9072
9073 2002-02-14  Matt Fredette  <fredette@netbsd.org>
9074
9075         * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
9076         EF_M68000.
9077
9078 2002-02-13  Nick Clifton  <nickc@cambridge.redhat.com>
9079
9080         * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
9081         non-zero physical addresses when adjusting the LMAs of new
9082         sections.
9083
9084 2002-02-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9085
9086         * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
9087         from _bfd_elf_hppa_gen_reloc_type.
9088         (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
9089         * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
9090         * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
9091         * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
9092
9093 2002-02-12  Alexandre Oliva  <aoliva@redhat.com>
9094
9095         * elf-m10300.c (mn10300_elf_relax_section): Skip section before
9096         loading its contents if there's nothing to do in it.
9097
9098 2002-02-12  Alan Modra  <amodra@bigpond.net.au>
9099
9100         * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
9101         64k boundary.
9102
9103         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
9104         DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
9105         (ppc64_elf_finish_dynamic_sections): Set values for them.
9106
9107 2002-02-11  Michael Snyder  <msnyder@redhat.com>
9108
9109         * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
9110         * elf.c (elfcore_grok_pstatus): Add prototype.
9111         (elfcore_grok_lwpstatus): Add prototype.
9112         (elfcore_write_lwpstatus): New function.
9113         (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
9114
9115 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
9116
9117         * elf32-sh.c: Added missing prototypes.
9118         * elf32-sh64.c: Likewise.
9119         (sh_elf_align_loads): Mark unused args as such.
9120         * elf64-sh64.c: Added missing prototypes.
9121         (struct elf_sh64_link_hash_entry): Fix typo.
9122         (sh_elf64_relocate_section): Fix info argument passed to
9123         _bfd_elf_section_offset.
9124
9125 2002-02-11  Alan Modra  <amodra@bigpond.net.au>
9126
9127         * Makefile.am: "make dep-am".
9128         * Makefile.in: Regenerate.
9129         * aclocal.m4: Regenerate.
9130         * config.in: Regenerate.
9131         * configure: Regenerate.
9132
9133 2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
9134
9135         * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
9136         variable warnings.
9137         * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
9138         comparison warning.
9139         * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
9140         cast warnings for the common case.
9141
9142 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
9143
9144         * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
9145         vectors.
9146         (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
9147         vectors.
9148
9149 2002-02-09  Richard Henderson  <rth@redhat.com>
9150
9151         * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
9152         (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
9153         (elf64_alpha_relocate_section): Likewise.
9154         * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
9155         * bfd-in2.h, libbfd.h: Rebuild.
9156
9157 2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
9158
9159         * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
9160         that base-plus-offset reloc accounting is consistent.
9161         (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
9162         up to date for undefined symbols.
9163
9164 2002-02-08  Eric Christopher  <echristo@redhat.com>
9165
9166         From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9167
9168         * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
9169         sections for the O32 ABI.
9170
9171 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
9172
9173         * elf32-arm.h: Fix formatting of _("...").
9174         * elf32-d10v.c: Likewise.
9175         * elf32-m68k.c: Likewise.
9176         * elf32-mips.c: Likewise.
9177
9178 2002-02-08  Ivan Guzvinec <ivang@opencores.org>
9179
9180         * coff-or32.c: Fix compile time warning messages.
9181
9182 2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
9183
9184         Contribute sh64-elf.
9185         2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
9186         * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
9187         R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
9188         R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
9189         R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
9190         R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
9191         R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
9192         R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
9193         R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
9194         R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
9195         New relocs.
9196         * libbfd.h, bfd-in2.h: Rebuilt.
9197         * elf32-sh.c (sh_elf_howto_table): Define new relocs.
9198         (sh_reloc_map): Map them.
9199         (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
9200         elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
9201         elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
9202         elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
9203         elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
9204         elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
9205         movi_shori_putval) [INCLUDE_SHMEDIA]: New.
9206         (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
9207         datalabel_got_offset.
9208         (sh_elf_link_hash_newfunc): Initialize it.
9209         (sh_elf_relocate_section): Augment the scope of
9210         seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
9211         GOT and GOTOFF handling to new SHmedia relocation types.  Support
9212         GOT_BIAS.
9213         (sh_elf_check_relocs): Likewise.
9214         (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
9215         PLT entries using movi_shori_putval.  Support GOT_BIAS.
9216         (sh_elf_finish_dynamic_sections): Likewise.
9217         * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
9218         relocation, it's now done by the caller.
9219         (GOT_BIAS): New.
9220         * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
9221         elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
9222         elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
9223         elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
9224         elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
9225         elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
9226         sh64_elf64_hash_table): New.
9227         (sh_elf64_howto_table): Introduce new relocs.
9228         (sh_elf64_info_to_howto): Accept new PIC relocs.
9229         (sh_elf64_relocate_section): Augment the scope of
9230         seen_stt_datalabel.  Support new PIC relocs.
9231         (sh_elf64_check_relocs): Support new PIC relocs.
9232         (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
9233         elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
9234         elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
9235         elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
9236         sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
9237         movi_shori_putval, movi_3shori_putval,
9238         sh64_elf64_create_dynamic_sections,
9239         sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
9240         sh64_elf64_size_dynamic_sections,
9241         sh64_elf64_finish_dynamic_symbol,
9242         sh64_elf64_finish_dynamic_sections): New.
9243         (elf_backend_create_dynamic-sections,
9244         bfd_elf64_bfd_link_hash_table_create,
9245         elf_backend_adjust_dynamic_symbol,
9246         elf_backend_size_dynamic_sections,
9247         elf_backend_finish_dynamic_symbol,
9248         elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
9249         elf_backend_plt_readonly, elf_backend_want_plt_sym,
9250         elf_backend_got_header_size, elf_backend_plt_header_size):
9251         Define.
9252         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
9253         * elf32-sh.c: Renumbered and renamed some SH5 relocations to
9254         match official numbers and names; moved unmaching ones to the
9255         range 0xf2-0xff.
9256         * elf32-sh64.c, elf64-sh64.c: Likewise.
9257         2001-03-12  DJ Delorie  <dj@redhat.com>
9258         * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
9259         sections.
9260         2001-03-12  DJ Delorie  <dj@redhat.com>
9261         * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
9262         be aligned.
9263         * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
9264         2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>
9265         * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
9266         (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
9267         .cranges section with SEC_SORT_ENTRIES set.
9268         (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
9269         incoming sorted .cranges section.
9270         (sh64_bfd_elf_copy_private_section_data): New.
9271         (sh64_elf_final_write_processing): Only sort .cranges and modify
9272         start address if called by linker.
9273         2001-01-08  Ben Elliston  <bje@redhat.com>
9274         * elf32-sh64.c (sh64_elf_final_write_processing): Activate
9275         Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
9276         * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
9277         2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
9278         * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
9279         line.  Add comments before all entries.
9280         <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
9281         comment.
9282         (sh_elf64_reloc): Correct head comment.
9283         (sh_elf64_relocate_section): Correct spacing.
9284         <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
9285         instead call reloc_dangerous callback.
9286         <case R_SH_SHMEDIA_CODE>: New case.
9287         (sh_elf64_gc_mark_hook): Correct spacing.
9288         (sh_elf64_check_relocs): Ditto.
9289         * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
9290         New case.
9291         * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
9292         functions.
9293         (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
9294         clarify describing comment.  Add comments before all entries.
9295         (sh_elf_relocate_section) <relocating for a local symbol>: Do not
9296         honour STO_SH5_ISA32; instead call reloc_dangerous callback.
9297         2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
9298         Sort .cranges section in final link.  Prepare to set bit 0 on
9299         entry address.
9300         * elf32-sh64.c (struct sh64_find_section_vma_data): New.
9301         (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
9302         (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
9303         .cranges section.
9304         (sh64_backend_section_from_shdr): New, to recognize
9305         SHT_SH5_CR_SORTED on incoming .cranges section.
9306         (elf_backend_section_from_shdr): Define.
9307         (sh64_elf_final_write_processing): Sort outgoing .cranges
9308         section.  (New, temporarily disabled:) Set bit 0 on entry address
9309         according to ISA type.
9310         (sh64_find_section_for_address): New.
9311         (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
9312         crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
9313         (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
9314         bfd_malloc, not xmalloc.
9315         (sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
9316         global.
9317         * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
9318         temporarily disabled) setting bit 0 on entry address.
9319         (elf_backend_final_write_processing): Define.
9320         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
9321         * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
9322         be a proper relocation for PTA and PTB rather than a marker.
9323         <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
9324         R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
9325         R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
9326         R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
9327         R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
9328         Zero src_mask.
9329         * elf64-sh64.c: Ditto.
9330         (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
9331         * elf32-sh64.c: Include opcodes/sh64-opc.h
9332         (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
9333         argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
9334         parameters.  No unused parameters.  Caller changed.
9335         <case R_SH_PT_16>: New case.
9336         * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
9337         * Makefile.in: Regenerate.
9338         2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
9339         * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
9340         all code sections.
9341         (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
9342         (sh64_elf_merge_private_data): Ditto.
9343         * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
9344         to access stored section flags.
9345         (sh64_elf_final_write_processing): Return immediately unless
9346         called by linker.  Use sh64_elf_section_data (cranges) to get size
9347         of linker-generated cranges entries.
9348         (sh64_elf_copy_private_data): Add missing "return true".
9349         (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
9350         (sh_elf64_merge_private_data): Ditto.
9351         2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
9352         * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
9353         elf64-sh64.c:sh64_elf_fake_sections.
9354         (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
9355         2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
9356         * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
9357         (sh64_elf_final_write_processing): New.
9358         (elf_backend_final_write_processing): Define.
9359         (sh64_elf_fake_sections): Get header flags from tdata field.
9360         (sh64_elf_copy_private_data): Do not call
9361         sh64_elf_copy_private_data_internal, just copy e_flags field.
9362         (sh64_elf_merge_private_data): Do not call
9363         sh64_elf_copy_private_data_internal.
9364         2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
9365         Remove EF_SH64_ABI64, let ELF size make difference.
9366         Remove SH64-specific BFD section flag.
9367         * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
9368         containing SHmedia through elf_section_data (asect)->tdata
9369         non-zero, not using a BFD section flag.
9370         (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
9371         (sh64_elf_merge_private_data): Similar.
9372         (elf_backend_section_flags): Don't define.
9373         (sh64_elf_backend_section_flags): Delete.
9374         * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
9375         not EF_SH64_ABI64.
9376         (sh_elf64_merge_private_data): Similar.
9377         * section.c (Section flags definitions): Don't define
9378         SEC_SH_ISA_SHMEDIA.
9379         (bfd-in2.h): Regenerate.
9380         2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>
9381         Make DataLabel references work with partial linking.
9382         * elf32-sh64.c: Fix formatting.
9383         (sh64_elf_link_output_symbol_hook): New.
9384         (elf_backend_link_output_symbol_hook): Define to
9385         sh64_elf_link_output_symbol_hook.
9386         (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
9387         undefined if partial linking.  Adjust sanity check.
9388         * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
9389         (elf_backend_link_output_symbol_hook): Define to
9390         sh64_elf64_link_output_symbol_hook.
9391         (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
9392         undefined if partial linking.  Adjust sanity check.
9393         2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>
9394         Implement semantics for inter-file DataLabel references.
9395         * elf64-sh64.c (DATALABEL_SUFFIX): Define.
9396         (sh64_elf64_add_symbol_hook): New.
9397         (sh_elf64_relocate_section): If passing an indirect symbol with
9398         st_type STT_DATALABEL on the way to a symbol with st_other
9399         STO_SH5_ISA32, do not bitor 1 to the relocation.
9400         (elf_backend_add_symbol_hook): Define to
9401         sh64_elf64_add_symbol_hook.
9402         * elf64-sh32.c: Tweak comments.
9403         (DATALABEL_SUFFIX): Define.
9404         (sh64_elf_add_symbol_hook): New.
9405         (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
9406         * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
9407         symbol with st_type STT_DATALABEL on the way to a symbol with
9408         st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
9409         2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>
9410         Pass through STT_DATALABEL.
9411         * elf32-sh64.c (sh64_elf_get_symbol_type): New.
9412         (elf_backend_get_symbol_type): Define.
9413         * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
9414         (elf_backend_get_symbol_type): Define.
9415         2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>
9416         * elf32-sh64.c: Tweak comments.
9417         (sh64_elf_copy_private_data_internal): Add prototype.
9418         (bfd_elf32_bfd_set_private_flags): Define.
9419         (sh64_elf_copy_private_data_internal): Compare machine name, not
9420         textual BFD target name, to check whether to copy section flag
9421         SHF_SH5_ISA32.
9422         (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
9423         Tweak section-contents-type-mismatch message.
9424         (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
9425         Validize reloc-types.
9426         * elf64-sh64.c: New file.
9427         * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
9428         * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
9429         (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
9430         Regenerate dependencies.
9431         * Makefile.in: Regenerate.
9432         * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
9433         bfd_elf64_sh64l_vec.
9434         * configure.in: Handle bfd_elf64_sh64_vec and
9435         bfd_elf64_sh64l_vec.
9436         * configure: Regenerate.
9437         * po/POTFILES.in: Regenerate.
9438         * po/bfd.pot: Regenerate.
9439         2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>
9440         * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
9441         anything else but EF_SH64 and EF_SH64_ABI64.
9442         (sh64_elf_merge_private_data): Emit error for anything else but
9443         EF_SH64 and EF_SH64_ABI64.
9444         * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
9445         from targ_selvecs.
9446         * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
9447         bfd_elf32_sh64l_vec as a temporary measure.
9448         * configure: Regenerate.
9449         2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
9450         * cpu-sh.c (arch_info_struct): Include sh5 item
9451         unconditionalized.
9452         * config.bfd (sh64-*-elf*): Do not set targ_cflags.
9453         Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
9454         bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
9455         * elf32-sh64.c: Tweak comments.
9456         (sh64_elf_set_mach_from_flags): Recognize all machine flags that
9457         are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
9458         (sh64_elf_copy_private_data_internal): Wrap long line.
9459         (sh64_elf_merge_private_data): Rewrite to allow objects from
9460         SH64 subsets to be linked together.
9461         (INCLUDE_SHMEDIA): Define.
9462         * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
9463         Parenthesize plus-expression inside or-expression.
9464         <global symbol>: Ditto.
9465         (sh_elf_set_mach_from_flags): Remove code refusing
9466         deleted EF_SH64_32BIT_ABI flag.
9467         2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>
9468         * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
9469         R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
9470         R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
9471         (sh_elf_relocate_section) <local symbol>: Or 1 in
9472         calculation of relocation if sym->st_other & STO_SH5_ISA32.
9473         <global symbol>: Ditto if h->other & STO_SH5_ISA32.
9474         * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
9475         relocation.
9476         2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
9477         * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
9478         (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
9479         Regenerate dependencies.
9480         * Makefile.in: Regenerate.
9481         * archures.c: Add bfd_mach_sh5.
9482         * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
9483         Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
9484         * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
9485         * configure: Regenerate.
9486         * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
9487         BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
9488         BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
9489         BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
9490         BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
9491         BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
9492         BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
9493         BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
9494         BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
9495         * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
9496         in item for SH5.
9497         * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
9498         for SHmedia relocs.
9499         [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
9500         [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
9501         shmedia_prepare_reloc, goto final_link_relocate if it returns
9502         non-zero, else fail as before.
9503         (sh_elf_set_mach_from_flags): Provide function only if not defined
9504         as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
9505         (sh_elf_set_private_flags): Provide function only if not defined
9506         as a macro.
9507         (sh_elf_copy_private_data): Similar.
9508         (sh_elf_merge_private_data): Similar.
9509         * section.c (SEC_SH_ISA_SHMEDIA): New.
9510         * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
9511         * elf32-sh64.c: New file.
9512         * libbfd.h: Regenerate.
9513         * bfd-in2.h: Regenerate.
9514         * po/POTFILES.in: Regenerate.
9515         * po/bfd.pot: Regenerate.
9516         * bfd-in2.h: Regenerate.
9517         * libbfd.h: Regenerate.
9518
9519 2002-02-07  Daniel Jacobowitz  <drow@mvista.com>
9520
9521         * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
9522         been included, not drag it in.
9523         * bfd-in2.h: Regenerate.
9524
9525 2002-02-06  H.J. Lu  (hjl@gnu.org)
9526
9527         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
9528         the mach and ISA fields if necessary.
9529
9530 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
9531
9532         * coffcode.h (coff_set_arch_mach_hook): Select the highest known
9533         ARM architecture when an F_ARM_5 flag is detected, since we cannot
9534         be sure exactly which architecture this represents.
9535
9536 2002-02-05  Nick Clifton  <nickc@redhat.com>
9537
9538         * po/tr.po: Updated translation.
9539
9540 2002-02-05  Alan Modra  <amodra@bigpond.net.au>
9541
9542         From Jimi X <jimix@watson.ibm.com>
9543         * archures (bfd_mach_ppc64): Define.
9544         (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
9545         (bfd_powerpc_arch): Define.
9546         * bfd-in2.h: Regenerate.
9547         * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
9548         (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
9549         (bfd_powerpc_archs): Add default powerpc64 arch.
9550
9551 2002-02-05  Alan Modra  <amodra@bigpond.net.au>
9552
9553         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
9554         against section syms in readonly sections.  Don't do the global
9555         sym check if we find one.
9556         * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
9557         * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
9558         * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
9559         * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
9560         (elf_s390_grok_prstatus): Add missing prototype.
9561
9562 2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
9563
9564         * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
9565         (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
9566         Call bfd_get_section_by_name only once.  Initialize
9567         bpodata->n_bpo_relocs_this_section.
9568         (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
9569         referring to DSOs.
9570         (bpo_reloc_request_sort_fn): Don't use difference of values as
9571         return-value.
9572
9573 2002-02-02  David O'Brien  <obrien@FreeBSD>
9574
9575         * configure.in: Tweak the FreeBSD 4.x recognition more.  Only treat
9576         version 4.5 and later the same as 5-CURRENT.
9577         * configure: Re-generate.
9578
9579 2002-02-02  Jason Thorpe  <thorpej@wasabisystems.com>
9580
9581         * config.bfd (hppa*-*-netbsd*): New target.
9582
9583 2002-01-31  Philipp Thomas  <pthomas@suse.de>
9584
9585         * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
9586         to front of message. Unify messages with elf32-arm.h. Use
9587         commas where neccessary.
9588         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
9589         ERROR in messages. Unify messages with coff-arm.c. Correct
9590         VFP/FPA error message.
9591         (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
9592         APCS-32 for translation.
9593
9594 2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
9595
9596         Perform on-demand global register allocation from
9597         R_MMIX_BASE_PLUS_OFFSET relocs.
9598         * elf64-mmix.c (struct bpo_reloc_section_info, struct
9599         bpo_reloc_request, struct bpo_greg_section_info): New.
9600         (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
9601         bpo_reloc_request_sort_fn, mmix_elf_relax_section,
9602         _bfd_mmix_check_all_relocs,
9603         _bfd_mmix_prepare_linker_allocated_gregs,
9604         _bfd_mmix_finalize_linker_allocated_gregs): New functions.
9605         (elf_mmix_howto_table): Correct src_mask for most relocs.
9606         (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
9607         case.
9608         (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
9609         case.  Fix typo in comment.  New label do_mmix_reloc.
9610         (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
9611         store first object file with a base-plus-offset reloc.  Call
9612         mmix_elf_check_common_relocs for the part common with mmo.
9613         (mmix_elf_final_link): Write out linker-allocated register
9614         contents section.
9615         (elf_backend_gc_sweep_hook): Define.
9616         (bfd_elf64_bfd_relax_section): Define.
9617
9618         * mmo.c: Don't include <ctype.h>
9619         (mmo_init): Correct init-once logic.
9620
9621 2002-02-01  Tom Rix  <trix@redhat.com>
9622
9623         * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
9624
9625 2002-02-01  Alan Modra  <amodra@bigpond.net.au>
9626
9627         * Makefile.am: Run "make dep-am"
9628         * Makefile.in: Regenerate.
9629
9630 2002-01-31  David O'Brien  <obrien@FreeBSD>
9631
9632         * configure.in: Recognize the differences in core files from FreeBSD
9633         4.{0,1} and later versions of 4.x.  This treats 4.2+ the same as
9634         5-CURRENT.
9635         * configure: Regenerate.
9636
9637 2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
9638
9639         * coff-or32.c: New file.
9640         * cpu-or32.c: New file.
9641         * elf32-or32.c: New file.
9642         * archures.c: Add support for or32.
9643         * targets.c: Add support for or32.
9644         * bfd-in2.h: Regenerate.
9645         * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
9646         coff_write_object_contents): Add support for or32.
9647         * config.bfd: Add target.
9648         * configure.in: Add support for or32.
9649         * configure: Regenerate.
9650         * Makefile.am: Add support for or32.
9651         * Makefile.in: Regenerate.
9652         * po/SRC-POTFILES.in: Add or32 files.
9653         * po/bfd.pot: Regenerate.
9654
9655 2002-01-31  Nick Clifton  <nickc@cambridge.redhat.com>
9656             Don Lindsay  <lindsayd@cisco.com>
9657
9658         * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
9659         false' with a return of a bfd_reloc_ error code.
9660
9661 2002-01-31  Hans-Peter Nilsson  <hp@axis.com>
9662
9663         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
9664         unexport unreferenced symbols when --export-dynamic.  Call
9665         _bfd_elf_strtab_delref when unexporting.
9666
9667 2002-01-30  Daniel Jacobowitz  <drow@mvista.com>
9668
9669         * bfd-in.h: Include <stdbool.h> if it is available.
9670         * bfd-in2.h: Regenerated.
9671
9672 2002-01-31  Alan Modra  <amodra@bigpond.net.au>
9673
9674         * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
9675         not go via the plt.
9676
9677 2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
9678
9679         * archures.c: Tidy up formatting of embedded comments.
9680         * bfd.c: Tidy up formatting of embedded comments.
9681         * bfd-in.h: Fix formatting of comments.
9682         * reloc.c: Tidy up formatting of ordinary & embedded comments.
9683         * section.c: Tidy up formatting of embedded comments.
9684         * syms.c: Tidy up formatting of embedded comments.
9685         * targets.c: Tidy up formatting of embedded comments.
9686
9687         * bfd-in2.h: Regenerate.
9688
9689 2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
9690
9691         * vms-tir.c (cmd_name): New function.
9692         (tir_cmd_name): New function.
9693         (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
9694         (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
9695         Fix formatting.
9696
9697         * peXXigen.c (pe_print_idata): Rearrange message to aid in
9698         translation.
9699         (pe_print_pdata): Rearrange message to aid in translation.
9700
9701         * libbfd.c (warn_deprecated): Rearrange error message to aid in
9702         translation.
9703
9704         * ihex.c (ihex_write_object_contents): Fix spelling typo.
9705
9706         * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
9707
9708         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
9709         message to aid in translation.
9710
9711         * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
9712         to aid in translation.
9713
9714         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
9715
9716 2002-01-30  Philipp Thomas  <pthomas@suse.de>
9717
9718         * coff-arm.c, elf32-elf.h: Unify messages.
9719
9720 2002-01-30  Nick Clifton <nickc@redhat.com>
9721
9722         * po/sv.po: Updated translation.
9723
9724 2002-01-30  Philipp Thomas  <pthomas@suse.de>
9725
9726         * dwarf2.c (read_abbrev): Use full section name in error message.
9727         (decode_line_info): Likewise.
9728
9729         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
9730         message.
9731
9732 2002-01-30  Alan Modra  <amodra@bigpond.net.au>
9733
9734         * elf64-ppc.c (func_desc_adjust): Only provide missing function
9735         descriptor symbols for undefined function code syms.  Clear
9736         ELF_LINK_NON_ELF so that they can stay weak.
9737
9738 2002-01-29  Chris Demetriou  <cgd@broadcom.com>
9739             Mitch Lichtenberg  <mpl@broadcom.com>
9740
9741         * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
9742         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
9743         to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
9744         generation.
9745         * bfd-in2.h: Regenerate.
9746
9747 2002-01-29  Chris Demetriou  <cgd@broadcom.com>
9748
9749         * elf32-mips.c: Add additional comments about HI16 relocation
9750         processing.
9751         (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
9752         pc-relative relocations.  (Reverts change made on 2001-10-31.)
9753         (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
9754         for pc-relative relocations.
9755         (mips_elf_calculate_relocation): Add a comment about a kludge
9756         in the R_MIPS_GNU_REL_HI16 handling.
9757         (_bfd_mips_elf_relocate_section): Implement that kludge;
9758         adjust pc-relative HI16 relocation for difference in HI16 and
9759         LO16 addresses, since it can't easily be done in
9760         mips_elf_calculate_relocation.
9761
9762 2002-01-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
9763
9764         * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
9765         relocations with PC32 relocations for undefined or weak symbols.
9766         * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
9767         * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
9768
9769 2002-01-28  Jason Thorpe  <thorpej@wasabisystems.com>
9770
9771         * elfcore.h (elf_core_file_p): Improve comment for last change.
9772
9773 2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
9774
9775         * configure: Regenerated.
9776
9777 2002-01-27  Jason Thorpe  <thorpej@wasabisystems.com>
9778
9779         * elfcore.h (elf_core_file_p): Set the machine architecture
9780         before processing the program headers.
9781
9782 2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
9783
9784         * configure.in <64-bit configuration>: If using gcc, check and
9785         emit error for egcs-1.1.2.
9786         * configure: Regenerate.
9787
9788 2002-01-26  Egor Duda  <deo@logos-m.ru>
9789
9790         * elf.c (elfcore_grok_win32pstatus): Copy only as much information
9791         as possible to avoid stack corruption.
9792
9793 2002-01-26  Richard Henderson  <rth@redhat.com>
9794
9795         * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
9796         for non-allocated sections.
9797
9798 2002-01-25  Mark Kettenis  <kettenis@gnu.org>
9799
9800         * elf.c (elfcore_write_prstatus): Make sure we pass the address of
9801         prstat.pr_reg even if it is a struct.
9802
9803 2002-01-25  Steve Ellcey <sje@cup.hp.com>
9804
9805         * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
9806
9807 2002-01-25  Philipp Thomas  <pthomas@suse.de>
9808
9809         * coffgen.c (coff_print_symbol): Don't mark info message
9810         for translation.
9811
9812 2002-01-25  Nick Clifton <nickc@redhat.com>
9813
9814         * po/fr.po: Updated translation.
9815         * po/es.po: Updated translation.
9816
9817 2002-01-25  Philipp Thomas  <pthomas@suse.de>
9818
9819         * coff-alpha.c (alpha_relocate_section): Unify warning message
9820         for GP relative relocations without GP defined.
9821         * coff-mips.c (mips_relocate_section): Likewise.
9822
9823 2002-01-25  Alan Modra  <amodra@bigpond.net.au>
9824
9825         * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
9826         unsigned overflow when new_offset < old_offset.
9827
9828 2002-01-24  Philipp Thomas  <pthomas@suse.de>
9829
9830         * bfd.c (_bfd_abort): Fix typo.
9831
9832 2002-01-23  Richard Henderson  <rth@redhat.com>
9833
9834         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
9835         plt entries for undefweak symbols.
9836
9837 2002-01-23  Steve Ellcey <sje@cup.hp.com>
9838
9839         * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
9840         (bfd_elf64_ia64_hpux_big_vec): Ditto.
9841         (bfd_elf32_h8300_vec): Ditto.
9842
9843 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
9844
9845         * elf64-ppc.c: Remove stale part of ABI comment.
9846         (NO_OPD_RELOCS): Define.
9847         (ppc64_elf_check_relocs): Use it.
9848         (ppc64_elf_relocate_section): Here too.
9849         (build_one_stub): Don't point function syms at the stub.  Instead,
9850         hijack plt.offset.
9851         (ppc64_elf_relocate_section): Check whether REL24 relocs should
9852         really go to the stub.  Make all dynamic relocs in opd against
9853         locals.
9854         (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
9855         plt.offset.
9856
9857 2002-01-22  Richard Henderson  <rth@redhat.com>
9858
9859         * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
9860
9861 2002-01-22  Alan Modra  <amodra@bigpond.net.au>
9862
9863         * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
9864         TOC_BASE_OFF adjustment.
9865
9866         * Makefile.am: Run "make dep-am".
9867         * Makefile.in: Regenerate.
9868         * po/SRC-POTFILES.in: Regenerate.
9869
9870 2002-01-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9871
9872         * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
9873         host defines.
9874
9875 2002-01-21  Hans-Peter Nilsson  <hp@axis.com>
9876
9877         * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
9878         Check for and emit error if sgot is NULL at this point.
9879
9880 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
9881
9882         * config.bfd (ia64*-*-netbsd*): New target.
9883
9884 2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
9885
9886         * som.c (som_write_space_strings): Comment typo fix.
9887
9888 2002-01-21  Alan Modra  <amodra@bigpond.net.au>
9889
9890         * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
9891         is_func_descriptor fields.
9892         (link_hash_newfunc): Init them.
9893         (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
9894         dot are candidates for plt entries.  When processing .opd relocs,
9895         set function descriptor strings to point inside function code
9896         string, and set new ppc_link_hash_entry fields.
9897         (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
9898         (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
9899         function descriptors.  It's now done in..
9900         (func_desc_adjust): New.
9901         (ppc64_elf_func_desc_adjust): New.
9902         (define elf_backend_always_size_sections): Define.
9903         (ppc64_elf_hide_symbol): New.
9904         (define elf_backend_hide_symbol): Define.
9905         (allocate_dynrelocs): Remove code looking up function descriptors
9906         as that has been done earlier.
9907         (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
9908         table.
9909         (ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
9910         up function descriptor.
9911         (build_one_stub): Look up the function code sym.  Check for
9912         invalid plt offsets.
9913         (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
9914         Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
9915
9916         * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
9917         boolean param.
9918         (_bfd_elf_link_hash_hide_symbol): Likewise.
9919         * elflink.h (elf_link_add_object_symbols): Adjust call to
9920         elf_backend_hide_symbol.
9921         (elf_fix_symbol_flags): Likewise.
9922         (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
9923         than bfd_alloc.
9924         * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
9925         Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
9926         * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
9927         (clobber_millicode_symbols): Adjust to suit new hide_symbol.
9928         * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
9929         and adjust to suit.
9930         * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
9931         _bfd_elf_link_hash_hide_symbol rather than duplicating code.
9932         * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
9933
9934 2002-01-18  Alan Modra  <amodra@bigpond.net.au>
9935
9936         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
9937         dynamic function descriptor symbol, not the associated function
9938         symbol.
9939
9940 2002-01-17  Eric Christopher  <echristo@redhat.com>
9941
9942         * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
9943
9944 2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
9945
9946         * po/bfd.pot: Regenerate.
9947         * po/fr.po: Regenerate.
9948
9949 2002-01-17  Alan Modra  <amodra@bigpond.net.au>
9950
9951         * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
9952         Remove "Elf_Internal_Shdr *" param.
9953         (_bfd_mips_elf_section_from_bfd_section): Ditto.
9954         * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
9955         * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
9956         * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
9957         * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
9958         * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
9959         * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
9960         function to override special sections.  Remove hdr arg from
9961         backend call, and don't loop.
9962
9963 2002-01-16  Eric Christopher  <echristo@redhat.com>
9964
9965         * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
9966         on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
9967         relocations requiring gp0 and gp.
9968
9969 2002-01-16  Richard Earnshaw  <rearnsha@arm.com>
9970
9971         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
9972         EF_ARM_VFP_FLOAT.
9973         (elf32_arm_print_private_bfd_data): Likewise.
9974
9975 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
9976
9977         * po/tr.po: Import new version.
9978
9979 2002-01-16  Alan Modra  <amodra@bigpond.net.au>
9980
9981         * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
9982         (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
9983         (ORI_R0_R0_0): Correct.
9984
9985 2002-01-16  Alan Modra  <amodra@bigpond.net.au>
9986
9987         * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
9988         when plt_not_loaded.
9989         * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
9990         clear .plt SEC_CODE here.  Create .stub and correct .glink flags.
9991         (PLT_INITIAL_ENTRY_SIZE): Set to 24.
9992         (ppc64_elf_glink_code): Delete.
9993         (PPC64_ELF_GLINK_SIZE): Delete.
9994         (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
9995         BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
9996         ORI_R0_R0_0): Define.
9997         (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
9998         (struct ppc_link_hash_table): Add sstub and plt_overflow.
9999         (ppc64_elf_link_hash_table_create): Init them.
10000         (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
10001         Don't copy to shared lib.
10002         (ppc64_elf_check_relocs): Call bfd_set_error on errors.
10003         (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
10004         (allocate_dynrelocs <plt>): Don't change function sym here.  Make
10005         room for .stub and .glink code.
10006         (ppc64_elf_size_dynamic_sections): Handle .stub.  Make entry for
10007         DT_PPC64_GLINK.
10008         (ppc64_elf_final_link): Rename to ppc64_elf_set_toc.  Don't call
10009         bfd_elf64_bfd_final_link.
10010         (bfd_elf64_bfd_final_link): Don't define.
10011         (ppc64_elf_size_stubs): New.
10012         (build_plt_stub): New.
10013         (build_one_stub): New.
10014         (ppc64_elf_build_stubs): New.
10015         (ppc64_elf_relocate_section <toc relocs>): Remove assert.
10016         (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
10017         (ppc64_elf_finish_dynamic_symbol): Don't build stubs here.  Set
10018         DT_PPC64_GLINK entry.  Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
10019         case output sections not separate.  Adjust DT_RELASZ to not
10020         include plt relocs.  Set reserved got entry.  Set got and plt
10021         entry size.
10022         (elf_backend_got_header_size): Set to 8.
10023         * elf64-ppc.h: New file.
10024
10025 2002-01-16  Alan Modra  <amodra@bigpond.net.au>
10026
10027         * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
10028         sections, use bfd_section_list_remove.
10029         * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
10030         * elflink.h (elf_link_add_object_symbols): When removing all
10031         sections, use bfd_section_list_clear.
10032
10033 2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
10034
10035         * po/sv.po: New file: Swedish translation.
10036         * configure.in (ALL_LINGUAS): Add sv.
10037         * configure: Regenerate.
10038
10039 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
10040
10041         * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
10042         * elf.c (merge_sections_remove_hook): New function.
10043         (_bfd_elf_merge_sections): Pass it as 3rd argument to
10044         _bfd_merge_sections.
10045         * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
10046         * libbfd.h: Rebuilt.
10047         * merge.c (_bfd_merge_sections): Add remove_hook argument.
10048         Call remove_hook if a SEC_EXCLUDE section is encountered.
10049
10050 2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
10051
10052         * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
10053         (xstormy16_reloc_map): Initialise new field with correct howto
10054         table.
10055         (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
10056         howto entry.
10057
10058 2002-01-10  Michael Snyder  <msnyder@redhat.com>
10059
10060         * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
10061         (elfcore_write_pstatus): Use long instead of pid_t;
10062         * elf-bfd.h: Change prototypes to use long instead of pid_t;
10063
10064 2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
10065
10066         * elf.c: Update copyright years.
10067         (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
10068         and NT_NETBSDCORE_FIRSTMACH.  Improve a comment.
10069
10070 2002-01-08  Michael Snyder  <msnyder@redhat.com>
10071
10072         Add capability to write corefile note sections, for gdb.
10073         * elf.c (elfcore_write_note): New function.
10074         (elfcore_write_prpsinfo): New function.
10075         (elfcore_write_prstatus): New function.
10076         (elfcore_write_pstatus): New function.
10077         (elfcore_write_prfpreg): New function.
10078         (elfcore_write_prxfpreg): New function.
10079         * elf-bfd.h: Add prototypes for above functions.
10080
10081 2002-01-08  Alexandre Oliva  <aoliva@redhat.com>
10082
10083         * elf.c (elf_fake_sections): Propagate errors from
10084         elf_backend_fake_section.
10085
10086 2002-01-07  Jason Thorpe  <thorpej@wasabisystems.com>
10087
10088         * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
10089         (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
10090         (elf32-sh-nbsd.lo): New rule.
10091         * Makefile.in: Regenerate.
10092         * config.bfd (sh*le-*-netbsdelf*): New target.
10093         (sh*-*-netbsdelf*): New target.
10094         * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
10095         (bfd_elf32_shnbsd_vec): New vector.
10096         (bfd_elf32_shlnbsd_vec): New vector.
10097         * configure: Regenerate.
10098         * elf32-sh-nbsd.c: New file.
10099         * targets.c: Update copyright years.
10100         (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
10101         bfd_elf32_shnbsd_vec.
10102
10103 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
10104
10105         * coff-rs6000.c (READ20): Use bfd_scan_vma.
10106
10107 2002-01-07  Geoffrey Keating  <geoffk@redhat.com>
10108
10109         * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
10110         of a symbol in a section that will be deleted.
10111
10112 2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
10113
10114         * po/es.po: New file: Spanish translation.
10115         * configure.in (ALL_LINGUAS): Add es.
10116         * configure: Regenerate.
10117
10118 2002-01-06  Steve Ellcey  <sje@cup.hp.com>
10119
10120         * elfxx-ia64.c (is_unwind_section_name): Add target vector as
10121         argument so we can handle HP-UX specially.
10122         (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
10123         (elfNN_hpux_backend_section_from_bfd_section): New for support
10124         of SHN_IA_64_ANSI_COMMON.
10125         (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
10126         (is_unwind_section_name): Add special HP-UX support.
10127         (elfNN_ia64_section_from_shdr): Add support for more sections.
10128         (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
10129         add support for more sections.
10130         (elfNN_ia64_additional_program_headers): Modify
10131         is_unwind_section_name call.
10132         (elfNN_ia64_modify_segment_map): Remove assumption that there is
10133         only one unwind section in segment.
10134
10135 2002-01-06  Alan Modra  <amodra@bigpond.net.au>
10136
10137         * syms.c (_bfd_generic_make_empty_symbol): New function.
10138         * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
10139         _bfd_generic_make_empty_symbol.
10140         * libbfd.h: Regenerate.
10141         * bfd-in2.h: Regenerate.
10142         * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
10143         (hppabsd_core_get_symtab_upper_bound): Don't define.
10144         (hppabsd_core_get_symtab): Likewise.
10145         (hppabsd_core_print_symbol): Likewise.
10146         (hppabsd_core_get_symbol_info): Likewise.
10147         (hppabsd_core_bfd_is_local_label_name): Likewise.
10148         (hppabsd_core_get_lineno): Likewise.
10149         (hppabsd_core_find_nearest_line): Likewise.
10150         (hppabsd_core_bfd_make_debug_symbol): Likewise.
10151         (hppabsd_core_read_minisymbols): Likewise.
10152         (hppabsd_core_minisymbol_to_symbol): Likewise.
10153         (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
10154         Formatting fixes.
10155         * hpux-core.c: Similarly.
10156         * irix-core.c: Similarly.
10157         * osf-core.c: Similarly.
10158         * sco5-core.c: Similarly.
10159         * binary.c (binary_make_empty_symbol): Remove function, define as
10160         _bfd_generic_make_empty_symbol.
10161         * ihex.c (ihex_make_empty_symbol): Likewise.
10162         * mmo.c (mmo_make_empty_symbol): Likewise.
10163         * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
10164         * srec.c (srec_make_empty_symbol): Likewise.
10165         * versados.c (versados_make_empty_symbol): Likewise.
10166         * vms.c (_bfd_vms_make_empty_symbol): Remove.
10167         (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
10168         * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
10169         rather than _bfd_vms_make_empty_symbol.
10170         * vms-misc.c (new_symbol): Likewise.
10171
10172 2002-01-05  Alan Modra  <amodra@bigpond.net.au>
10173
10174         * section.c (bfd_section_init): Remove unnecessary initialisations.
10175         (bfd_section_list_clear): New function.
10176         (bfd_section_list_remove, bfd_section_list_insert): New macros.
10177         (_bfd_strip_section_from_output): Use them.
10178         * coffcode.h (coff_set_alignment_hook): Likewise.
10179         * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
10180         * elf64-mips.c (mips_elf64_final_link): Likewise.
10181         * elf64-mmix.c (mmix_elf_final_link): Likewise.
10182         * sunos.c (sunos_add_dynamic_symbols): Likewise.
10183         * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
10184         * bfd-in2.h: Regenerate.
10185
10186         * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
10187         rather than doing our own section handling.  Clean up after errors
10188         with bfd_release and bfd_section_list_clear.  Handle unexpected
10189         flags.
10190         * aoutf1.h (sunos4_core_file_p): Likewise.
10191         * aix386-core.c (aix386_core_file_p): Likewise.
10192         * cisco-core.c (cisco_core_file_validate): Likewise.
10193         * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
10194         * trad-core.c (trad_unix_core_file_p): Likewise.
10195
10196         * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
10197         with bfd_release and bfd_section_list_clear.
10198         * hpux-core.c (hpux_core_core_file_p): Likewise.
10199         * irix-core.c (irix_core_core_file_p): Likewise.
10200         * lynx-core.c (lynx_core_file_p): Likewise.
10201         * osf-core.c (osf_core_core_file_p): Likewise.
10202         * rs6000-core.c (rs6000coff_core_p): Likewise.
10203         * sco5-core.c (sco5_core_file_p): Likewise.
10204
10205         * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
10206         sign extension adjustments without conditionals.
10207
10208 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
10209
10210         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
10211         CIE at .eh_frame start is removed due to no FDEs referencing it.
10212
10213 2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
10214
10215         * config.bfd (x86_64-*-netbsd*): New target.
10216         * configure.in (x86_64-*-netbsd*): Set COREFILE
10217         to netbsd-core.lo.
10218         * configure: Regenerated.
10219
10220 2002-01-03  Tom Rix  <trix@redhat.com>
10221
10222         * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
10223         for recent bfd_make_section_anyway change.
10224
10225 2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
10226
10227         * elf32-arm.h (elf32_arm_final_link_relocate): Handle
10228         R_ARM_THM_PC11 reloc.
10229
10230 2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
10231
10232         * configure.in (LINGUAS): Add ja.
10233         * configure: Regenerate.
10234         * po/ja.po: Import from translation project's web site.
10235
10236 2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
10237
10238         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
10239         messages to ease translation into other languages.
10240
10241 For older changes see ChangeLog-0001
10242 \f
10243 Local Variables:
10244 mode: change-log
10245 left-margin: 8
10246 fill-column: 74
10247 version-control: never
10248 End: