OSDN Git Service

bfd_follow_gnu_debuglink: New function. Follow the pointer contained inside a
[pf3gnuchains/pf3gnuchains4x.git] / bfd / ChangeLog
1 2003-01-31  Graydon Hoare <graydon@redhat.com>
2
3         * Makefile.am (opncls.lo): Add dependency upon libiberty.h.
4         * Makefile.in: Regenerate.
5         * opncls.c (calc_crc32, get_debug_link_info,
6         seperate_debug_file_exists, find_seperate_debug_file): New
7         internal functions.
8         (bfd_follow_gnu_debuglink): New function.  Follow the pointer
9         contained inside a .gnu_debuglink section.
10         * bfd-in2.h: Regenerate.
11
12 2003-01-29  Alexandre Oliva  <aoliva@redhat.com>
13
14         * elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
15         entry->abfd when it's NULL.
16
17 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
18
19         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
20         _bfd_elf_section_offset returning -2 the same way as -1.
21
22         * elfxx-mips.c (mips_elf_multi_got): New function.
23         (struct mips_got_entry): Make symndx and gotidx signed.  Moved
24         addend into union along with address and link hash entry.
25         (struct mips_got_info): Added bfd2got and next.
26         (struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
27         (mips_elf_got_section, mips_elf_create_got_section): Use
28         SEC_EXCLUDE bit to tell whether we really need the got
29         section.  Take boolean arguments to disregard an excluded
30         section, or to create it as excluded.  Adjust all callers.
31         Use mips_elf_got_section all over.
32         (mips_elf_local_got_index, mips_elf_got_page,
33         mips_elf_got16_entry): Take input bfd as argument, and pass it
34         on to mips_elf_create_local_got_entry.
35         (mips_elf_global_got_index, mips_elf_create_local_got_entry):
36         Take input bfd as argument, and manage entries in the
37         appropriate GOT.
38         (mips_elf_got_offset_from_index): Take input bfd as argument,
39         and use it to adjust the GP offset of the bfd.
40         (mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
41         unreferenced GOT entries of global symbols to the end.
42         (mips_elf_record_global_got_symbol): Take input bfd as
43         argument.  Add entries to the master GOT hash table.
44         (struct mips_elf_bfd2got_hash): New.
45         (struct mips_elf_got_per_bfd_arg): New.
46         (struct mips_elf_set_global_got_offset_arg): New.
47         (mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
48         mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
49         mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
50         mips_elf_merge_gots, mips_elf_set_global_got_offset,
51         mips_elf_resolve_final_got_entry,
52         mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
53         mips_elf_got_for_ibfd): New functions.
54         (ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
55         (MIPS_ELF_GOT_MAX_SIZE): New macro.
56         (STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
57         (mips_elf_got_entry_hash): Take new fields into account.  Use
58         mips_elf_hash_bfd_vma.
59         (mips_elf_got_entry_eq): Take new fields into account.
60         (mips_elf_create_got_section): Initialize new fields.
61         (mips_elf_calculate_relocation): Pass input_bfd to functions
62         that now take it.  Adjust gp for the input_bfd.
63         (mips_elf_allocate_dynamic_relocation,
64         mips_elf_create_dynamic_relocation,
65         _bfd_mips_elf_create_dynamic_sections): Use...
66         (mips_elf_rel_dyn_section): New function.  Borrow code from...
67         (_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
68         now take it.  Create the got section if needed, even if
69         excluded, before recording a global got symbol.  Move some
70         code to...
71         (mips_elf_record_local_got_symbol): New fn.
72         (_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
73         Compute multi-got global entries offsets.  Move GOT code to...
74         (_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
75         if the GOT is too big.
76         (_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
77         undefweak symbol to zero.  Generate dynamic relocations for
78         non-primary GOT entries for global symbols.
79         (_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
80         case.  Generate dynamic relocations for local got entries.
81         Sort dynamic relocations on N64 too, using...
82         (sort_dynamic_relocs_64): New fns.
83         (_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
84         (_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
85
86 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
87
88         * bfd.c (struct _bfd): Added id field.
89         * opncls.c (_bfd_id_counter): New static variable.
90         (_bfd_new_bfd): Use it.
91         * bfd-in2.h: Rebuilt.
92
93 2003-01-25  Alan Modra  <amodra@bigpond.net.au>
94
95         * elf32-sparc.c (bfd_elf32_new_section_hook): Define.
96
97 2003-01-25  Jakub Jelinek  <jakub@redhat.com>
98
99         * elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
100         (elf32_sparc_rev32_howto): New variable.
101         (sparc_reloc_map): Add TLS relocs.
102         (elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
103         Handle REV32.
104         (sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
105         New functions.
106         (struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
107         struct elf32_sparc_link_hash_table):
108         New structures.
109         (elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
110         elf32_sparc_hash_table): Define.
111         (link_hash_newfunc, elf32_sparc_link_hash_table_create,
112         create_got_section, elf32_sparc_create_dynamic_sections,
113         elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
114         functions.
115         (elf32_sparc_check_relocs): Handle TLS relocs.  Add dynamic reloc
116         reference counting.
117         (elf32_sparc_gc_sweep_hook): Likewise.
118         (elf32_sparc_adjust_dynamic_symbol): Likewise.
119         (elf32_sparc_size_dynamic_sections): Likewise.
120         (elf32_sparc_relocate_section): Likewise.
121         (allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
122         New functions.
123         (elf32_sparc_object_p): Allocate backend private object data.
124         (bfd_elf32_bfd_link_hash_table_create,
125         elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
126         elf_backend_can_refcount): Define.
127         (elf_backend_create_dynamic_sections): Define to
128         elf32_sparc_create_dynamic_sections.
129         * reloc.c: Add SPARC TLS relocs.
130         * bfd-in2.h, libbfd.h: Rebuilt.
131         * elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
132         (sparc_reloc_map): Likewise.
133
134 2003-01-24  Martin Schwidefsky  <schwidefsky@de.ibm.com>
135
136         * bfd-in2.h: Regenerate.
137         * elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
138         s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
139         (elf_howto_table): Add TLS relocs.
140         (elf_s390_reloc_type_lookup): Likewise.
141         (elf_s390_link_hash_entry): Add tls_type.
142         (elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
143         New macros.
144         (elf_s390_link_hash_table): Add tls_ldm_got.
145         (link_hash_newfunc): Initialize tls_type.
146         (elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
147         (elf_s390_copy_indirect_symbol): Copy tls_type information.
148         (elf_s390_check_relocs): Support TLS relocs.
149         (elf_s390_gc_sweep_hook): Likewise.
150         (allocate_dynrelocs): Likewise.
151         (elf_s390_size_dynamic_sections): Likewise.
152         (elf_s390_relocate_section): Likewise.
153         (elf_s390_finish_dynamic_symbol): Likewise.
154         (bfd_elf32_mkobject): Define for TLS.
155         * elf64-s390.c: Same changes as for elf32-s390.c.
156         * libbfd.h: Regenerate.
157         * reloc.c: Add s390 TLS relocations.
158
159 2003-01-24  Charles Lepple clepple.ghz.cc
160
161         * aclocal.m4: Fix name of --enable-install-libbfd switch.
162
163 2003-01-23  Nick Clifton  <nickc@redhat.com>
164
165         * Add sh2e support:
166
167         2002-04-02  Elena Zannoni  <ezannoni@redhat.com>
168
169                 * archures.c (bfd_mach_sh2e): Added.
170                 * bfd-in2.h: Rebuilt.
171                 * cpu-sh.c (arch_info_struct): Added SH2e.
172                 * elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
173
174 2003-01-23  Alan Modra  <amodra@bigpond.net.au>
175
176         * elf-bfd.h (struct bfd_elf_section_data): Remove tdata.  Change
177         dynindx to an int.  Rearrange for better packing.
178         * elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
179         * elf32-mips.c (bfd_elf32_new_section_hook): Define.
180         * elf32-sh64.h: New.  Split out from include/elf/sh.h.
181         (struct _sh64_elf_section_data): New struct.
182         (sh64_elf_section_data): Don't dereference sh64_info (was tdata).
183         * elf32-sh64-com.c: Include elf32-sh64.h.
184         * elf32-sh64.c: Likewise.
185         (sh64_elf_new_section_hook): New function.
186         (bfd_elf32_new_section_hook): Define.
187         (sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
188         (sh64_bfd_elf_copy_private_section_data): Likewise.
189         (sh64_elf_final_write_processing): Likewise.
190         * elf32-sparc.c (struct elf32_sparc_section_data): New.
191         (elf32_sparc_new_section_hook): New function.
192         (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
193         (sec_do_relax): Define.
194         (elf32_sparc_relax_section): Adjust to use sec_do_relax.
195         (elf32_sparc_relocate_section): Likewise.
196         * elf64-mips.c (bfd_elf64_new_section_hook): Define.
197         * elf64-mmix.c (struct _mmix_elf_section_data): New.
198         (mmix_elf_section_data): Define.  Use throughout file.
199         (mmix_elf_new_section_hook): New function.
200         (bfd_elf64_new_section_hook): Define.
201         * elf64-ppc.c (struct _ppc64_elf_section_data): New.
202         (ppc64_elf_section_data): Define.  Use throughout.
203         (ppc64_elf_new_section_hook): New function.
204         (bfd_elf64_new_section_hook): Define.
205         * elf64-sparc.c (struct sparc64_elf_section_data): New.
206         (sparc64_elf_new_section_hook): New function.
207         (SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
208         (sec_do_relax): Define.
209         (sparc64_elf_relax_section): Adjust to use sec_do_relax.
210         (sparc64_elf_relocate_section): Likewise.
211         (bfd_elf64_new_section_hook): Define.
212         * elfn32-mips.c (bfd_elf32_new_section_hook): Define.
213         * elfxx-mips.c (struct _mips_elf_section_data): New.
214         (mips_elf_section_data): Define.  Use throughout.
215         (_bfd_mips_elf_new_section_hook): New function.
216         (mips_elf_create_got_section): Don't alloc used_by_bfd.
217         * elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
218         * elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
219         * Makefile.am: Run "make dep-am".
220         * Makefile.in: Regenerate.
221
222 2003-01-21  Richard Henderson  <rth@redhat.com>
223
224         * elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
225         (struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
226         (elf64_alpha_adjust_dynamic_symbol): Set them.
227         (elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
228         (elf64_alpha_relax_tls_get_addr): Handle LDM relocs.  Frob the
229         symbol index when relaxing LDM to TPREL.
230         (elf64_alpha_relax_section): Likewise.  Allow relaxation of GD
231         relocs, even if the target isn't locally defined.
232         (elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
233         (elf64_alpha_relocate_section): Likewise.  Force TP-relative
234         relocs vs symndx 0 to the tp base.
235
236 2003-01-21  Fabio Alemagna  <falemagn@aros.org>
237
238         * config.bfd: Handle i[3456]86-*-aros*.
239
240 2003-01-21  Andreas Schwab  <schwab@suse.de>
241
242         * elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
243         (struct ppc_elf_link_hash_entry): Define.
244         (ppc_elf_hash_entry): New function.
245         (struct ppc_elf_link_hash_table): Define.
246         (ppc_elf_hash_table): New function.
247         (ppc_elf_link_hash_newfunc): New function.
248         (ppc_elf_link_hash_table_create): New function.
249         (ppc_elf_copy_indirect_symbol): New function.
250         (allocate_dynrelocs): New function.
251         (readonly_dynrelocs): New function.
252         (ppc_elf_size_dynamic_sections): Allocate space for dynamic
253         relocs and determine DT_TEXTREL.
254         (ppc_elf_check_relocs): Don't do that here, just count the
255         dynamic relocs.
256         (ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
257         removed section.
258         (bfd_elf32_bfd_link_hash_table_create): Define.
259         (elf_backend_copy_indirect_symbol): Define.
260
261 2003-01-21  Richard Henderson  <rth@redhat.com>
262
263         * elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
264         TPREL also get a reloc if shared.  Remove SREL support.
265         (elf64_alpha_emit_dynrel): New.
266         (elf64_alpha_relocate_section): Use it.  Resolve dynamic TPREL 
267         and GOTTPREL relocs to local symbols against the tp base.
268         (elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
269
270         * elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
271         use count before clobbering r_type.
272         (elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
273         ordering would mean dataflow inspection is necessary.
274
275 2003-01-20  Svein E. Seldal  <Svein.Seldal@solidas.com>
276
277         * coffcode.h (coff_set_flags): Added get/set arch hooks.
278         
279 2003-01-20  Fabio Alemagna  <falemagn@aros.org>
280
281         * elf32-sh.c: Treat elfNN_bed like other macros defined in
282           elfxx-target.h and #undef it before #define'ing it.
283         * elf32-i386.c: Likewise.
284         * elf32-sh64.c: Likewise.
285         * elf64-alpha.c: Likewise.
286         * elf64-sh64.c: Likewise.
287
288 2003-01-20  Martin Schwidefsky  <schwidefsky@de.ibm.com>
289
290         * bfd-in2.h: Regenerate.
291         * elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
292         (elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
293         R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
294         R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
295         R_390_PLTOFF32 and R_390_PLTOFF64.
296         (elf_s390_reloc_type_lookup): Likewise.
297         (struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
298         of GOTPLT references to a function.
299         (link_hash_newfunc): Initialize gotplt_refcount.
300         (elf_s390_check_relocs): Move allocation of local_got_refcounts array
301         and creation of the got section out of the main switch. Add support
302         for the gotoff, gotplt and pltoff relocations.
303         (elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
304         and pltoff.
305         (elf_s390_adjust_gotplt): New function.
306         (elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
307         plt entries.
308         (allocate_dynrelocs): Add comment.
309         (elf_s390_relocate_section): Change r_type to unsigned. Add support
310         for gotoff, gotplt and pltoff relocations.
311         * elf64-s390.c: Same changes as for elf32-s390.c.
312         * libbfd.h: Regenerate.
313         * reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
314         BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
315         BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
316         and BFD_RELOC_390_PLTOFF64.
317
318 2003-01-18  Jakub Jelinek  <jakub@redhat.com>
319
320         * elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
321         R_IA64_TPREL64[LM]SB against non-global symbol properly.
322
323 2003-01-16  Jakub Jelinek  <jakub@redhat.com>
324
325         * elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
326         self_dtpmod_done and self_dtpmod_offset.
327         (allocate_global_data_got): Only use one got entry for all
328         dtpmod relocs against local symbols.
329         (allocate_dynrel_entries): Only need .rela.got entry for
330         dtpmod against global symbol.
331         (elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
332         Reserve space in .rela.got for the local dtpmod entry.
333         (set_got_entry): Initialize the common local dtpmod .got entry.
334         (elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
335         and R_IA_64_DTPREL64MSB.
336
337 2003-01-16  Alan Modra  <amodra@bigpond.net.au>
338
339         * elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
340         (R_PPC_*): Rename all occurrences to R_PPC64_*.
341         (R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
342         (enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
343         (ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
344         relative relocs, not with absolute ones.
345         * Makefile.am: Run "make dep-am".
346         * Makefile.in: Regenerate.
347         * po/SRC-POTFILES.in: Regenerate.
348
349 2003-01-15  Andreas Schwab  <schwab@suse.de>
350
351         * elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
352         relocation against a non-allocated readonly section.
353
354 2003-01-10  Alan Modra  <amodra@bigpond.net.au>
355
356         * elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
357         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.  PLTGOT16_HA too.
358
359 2002-01-08  Klee Dienes  <kdienes@apple.com>
360
361         * Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
362         (BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
363         * Makefile.in: Regenerate.
364         
365 2003-01-08  Alexandre Oliva  <aoliva@redhat.com>
366
367         * elfn32-mips.c (prev_reloc_section): New.
368         (GET_RELOC_ADDEND): Use it.  Parenthesize macro arguments.
369         (SET_RELOC_ADDEND): Parenthesize macro argument.
370
371 2003-01-07  John David Anglin  <dave.anglin@nrc.gc.ca>
372
373         * elf32-hppa.c (final_link_relocate): For all DP relative relocations,
374         adjust addil instructions if the symbol has no section.
375
376 2003-01-07  DJ Delorie  <dj@redhat.com>
377
378         * elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
379         partial_inplace.
380
381 2003-01-07  Andreas Schwab  <schwab@suse.de>
382
383         * elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
384         PC relative relocations.
385         (elf_m68k_discard_copies): Set it here instead.
386
387 2002-01-02  Ben Elliston  <bje@redhat.com>
388             Jeff Johnston  <jjohnstn@redhat.com>
389
390         * Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
391         (ALL_MACHINES_CFILES): Add cpu-iq2000.c.
392         (BFD32_BACKENDS): Add elf32-iq2000.lo.
393         (BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
394         (cpu-iq2000.lo): New target.
395         * Makefile.in: Regenerate.
396         * config.bfd: Handle iq2000-*-elf.
397         * archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
398         (bfd_archures_list): Add bfd_iq2000_arch.
399         * configure.in: Handle bfd_elf32_iq2000_vec.
400         * configure: Regenerate.
401         * reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21, 
402         and BFD_RELOC_IQ2000_UHI16.
403         * targets.c (bfd_elf32_iq2000_vec): Declare.
404         (bfd_target_vector): Add bfd_elf32_iq2000_vec.
405         * elf.c (prep_headers): Set e_machine to EM_IQ2000.
406         * cpu-iq2000.c: New file.
407         * elf32-iq2000.c: Likewise.
408         * libbfd.h: Regenerate.
409         * bfd-in2.h: Likewise.
410
411 2003-01-02  Richard Sandiford  <rsandifo@redhat.com>
412
413         * elfxx-mips.c: Include libiberty.h.
414         (elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
415         (mips_set_isa_flags): New function, split out from...
416         (_bfd_mips_elf_final_write_processing): ...here.  Only call
417         mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
418         (mips_mach_extensions): New array.
419         (mips_32bit_flags_p): New function.
420         (_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
421         Use mips_32bit_flags_p to check if one binary is 32-bit and the
422         other is 64-bit.  When adopting IBFD's architecture, adopt the
423         bfd_mach as well as the flags.
424
425 2003-01-02  Nick Kelsey  <nickk@ubicom.com>
426
427         * elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
428         fix internal errors, fix bad code generation, fix incorrect stabs
429         information, and improve ability to eliminate redundant page
430         instructions. Added code to ip2k_final_link_relocate to self-verify
431         the linker relaxation.  Fix formatting problems.
432
433 2002-12-30  Chris Demetriou  <cgd@broadcom.com>
434
435         * aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
436         * archures.c (bfd_mach_mipsisa32r2): New define.
437         * bfd-in2.h: Regenerate.
438         * cpu-mips.c (I_mipsisa32r2): New enum value.
439         (arch_info_struct): Add entry for I_mipsisa32r2.
440         * elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
441         (_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
442         (_bfd_mips_elf_final_write_processing): Add
443         bfd_mach_mipsisa32r2 case.
444         (_bfd_mips_elf_merge_private_bfd_data): Handle merging of
445         binaries marked as using MIPS32 Release 2.
446
447 2002-12-30    Dmitry Diky <diwil@mail.ru>
448
449         * Makefile.am: Add msp430 target.
450         * configure.in: Likewise.
451         * Makefile.in: Regenerate.
452         * configure: Regenerate.
453         * archures.c: Add msp430 architecture vector.
454         * config.bfd: Likewise.
455         * reloc.c: Add msp430 relocs.
456         * targets.c: Add msp320 target.
457         * cpu-msp430.c: New file: msp430 cpu detection.
458         * elf32-msp430.c: New file: msp430 reloc processing.
459         * bfd-in2.h: Regenerate.
460         * libbfd.h: Regenerate.
461
462 2002-12-28  Jakub Jelinek  <jakub@redhat.com>
463
464         * elf.c (elf_sort_sections): Don't reorder .tbss.
465         (assign_file_positions_for_segments): Only adjust off/voff
466         for increased alignment in PT_LOAD or PT_NOTE segment,
467         but adjust p_filesz for .tbss too.  in PT_LOAD consider
468         .tbss to have zero memory size.
469         (copy_private_bfd_data) [SECTION_SIZE]: Define.
470         [IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
471         [INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
472         into PT_TLS segment.  Never put SHF_TLS sections in
473         segments other than PT_TLS or PT_LOAD.
474
475         * elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
476         sh_entsize.
477
478 2002-12-23  DJ Delorie  <dj@redhat.com>
479
480         * coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
481
482 2002-12-23  Alan Modra  <amodra@bigpond.net.au>
483
484         * elflink.h (elf_link_output_extsym): Heed strip_discarded.
485
486 2002-12-23  Nick Clifton  <nickc@redhat.com>
487
488         * archures.c (bfd_arch_get_compatible): Add third parameter
489         'accept_unknowns'.  Only accept unknown format BFDs if
490         accept_unknowns is true, or if the format is "binary".
491         * bfd-in2.h: Regenerate.
492
493 2002-12-21  Nick Clifton  <nickc@redhat.com>
494
495         * coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
496         that subtracted 8 from pc relative relocations.
497
498 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
499
500         * coff-h8300.c: Fix comment typos.
501         * coffcode.h: Likewise.
502         * cpu-cris.c: Likewise.
503         * elf32-vax.c: Likewise.
504         * genlink.h: Likewise.
505         * linker.c: Likewise.
506         * som.c: Likewise.
507         * tekhex.c: Likewise.
508         * vms-misc.c: Likewise.
509
510 2002-12-20  DJ Delorie  <dj@redhat.com>
511
512         * reloc.c: Add BFD_RELOC_XSTORMY16_12.
513         * libbfd.h: Regenerate.
514         * bfd-in2.h: Regenerate.
515         * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
516         (xstormy16_reloc_map): Add R_XSTORMY16_12.
517         
518 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
519
520         * doc/bfdint.texi: Fix typos.
521
522 2002-12-20  Paul Eggert  <eggert@twinsun.com>
523
524         Port to POSIX 1003.1-2001.
525         * acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
526         * configure.in (build-warnings): Likewise.
527         (Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
528         * aclocal.m4: Regenerate.
529         * config.in: Regenerate.
530         * configure: Regenerate.
531
532 2002-12-19  Alan Modra  <amodra@bigpond.net.au>
533
534         * coff-h8300.c: Include libiberty.h.
535         (h8300_reloc16_extra_cases): Check the hash table creator before
536         referencing h8300 specific fields.  Stash the hash table pointer
537         in a local var.  Comment typo fixes.
538         (h8300_bfd_link_add_symbols): Likewise.
539
540         * bfd/reloc.c (struct reloc_howto_struct): Revise src_mask and
541         dst_mask comments.
542         * bfd-in2.h: Regenerate.
543
544 2002-12-18  Alan Modra  <amodra@bigpond.net.au>
545
546         * elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
547         code a little.  Comment on dynamic relocs against section symbols.
548
549 2002-12-17  Roger Sayle  <roger@eyesopen.com>
550
551         * configure.host (ia64-*-hpux*): Support 64 bit targets using
552         the HP compiler's "long long".
553
554 2002-12-16  Andrew MacLeod  <amacleod@redhat.com>
555
556         * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
557         and R_XSTORMY16_HI16) howto entries.
558         (xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
559         (xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
560         determine the start of the second reloc table.
561
562 2002-12-16  Nathan Tallent  <eraxxon@alumni.rice.edu>
563
564         * ecofflink.c: Fix the reading of the debugging information
565         of Tru64/Alpha binaries that are produced by recent Compaq
566         compilers.
567         (mk_fdrtab): Fix error in creating the FDR (file descriptor)
568         table.
569         (lookup_line): Because of the strange information sometimes
570         generated by Compaq's recent compilers, change how the FDR
571         table is searched so that PDRs (procedure descriptors) are
572         correctly found.  Note that this change is really more of a hack;
573         however, I have included extensive documentation as to why
574         this is the best solution short of an extensive rewrite or
575         another hack.
576         (fdrtab_lookup): Add comments to explain the algorithm.
577
578 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
579
580         * elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
581         initializers to match struct declaration.
582
583 2002-12-12  Alan Modra  <amodra@bigpond.net.au>
584
585         * dwarf2.c (comp_unit_contains_address): Comment typo fix.
586         * elf.c (get_program_header_size): Likewise.
587         * elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
588         (m32r_elf_generic_reloc): Likewise.
589         * elf32-ppc.c (ppc_elf_howto_init): Likewise.
590         * elflink.h (elf_bfd_discard_info): Likewise.
591
592 2002-12-12  Alan Modra  <amodra@bigpond.net.au>
593
594         * elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
595         to DT_JMPREL.  Use srelplt input section size for DT_PLTRELSZ and
596         DT_RELSZ adjustment, not output section.  Avoid writing tags when
597         unchanged.  Don't assume linker script is sane, adjust DT_REL too.
598         * elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
599         size of srelplt for DT_PLTRELSZ.  Use srelplt input section size for
600         DT_RELASZ adjustment, not output section.  Avoid writing tags when
601         unchanged.  Adjust DT_RELA.
602         * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
603         formatting.  Avoid writing tags when unchanged.  Adjust DT_RELA.
604
605 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
606
607         * elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
608         addend by 4.
609
610 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
611
612         * elfxx-mips.c (struct mips_got_entry): New.
613         (struct mips_got_info): Added got_entries field.
614         (mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
615         (mips_elf_local_got_index, mips_elf_got_page,
616         mips_elf_got16_entry): Re-implement in terms of new...
617         (mips_elf_create_local_got_entry): Rewrite to use got_entries.
618         Change return type.
619         (mips_elf_highest): Warning clean-up.
620         (mips_elf_create_got_section): Initialize got_entries.
621         (_bfd_mips_elf_check_relocs): Use got_entries to estimate
622         local got size.
623         (_bfd_mips_elf_size_dynamic_sections): Do not account for
624         GOT_PAGE entries, since we now reuse GOT16 entries.
625
626 2002-12-10  Jason Thorpe  <thorpej@wasabisystems.com>
627
628         * aoutx.h (set_section_contents): Allow an otherwise unrepresentable
629         read-only section that lies after .text and before .data to be
630         written into the output file and included in a_text.
631         (translate_to_native_sym_flags): If an otherwise unrepresentable
632         section was merged with .text, convert its symbols to N_TEXT
633         symbols.
634         * libaout.h (aout_section_merge_with_text_p): New macro.
635
636 2002-12-08  Alan Modra  <amodra@bigpond.net.au>
637
638         * bfd-in.h: Comment typo fix.  Formatting.
639         * bfd-in2.h: Regenerate.
640         * coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
641         * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
642         * elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
643
644 2002-12-05  Richard Henderson  <rth@redhat.com>
645
646         * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
647         Only send PCREL21B though the plt.  Fix installed reloc type.
648         (elfNN_ia64_relocate_section): Give error for dynamic reloc
649         against PCREL22 or PCREL64I; clean up error messages for
650         branch relocs.
651
652 2002-12-04  Kevin Buettner  <kevinb@redhat.com>
653
654         * elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
655         New functions.
656         (elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
657
658 2002-12-04  David Mosberger  <davidm@hpl.hp.com>
659
660         * cpu-ia64-opc.c: Add operand constant "ar.csd".
661
662 2002-12-04  H.J. Lu <hjl@gnu.org>
663
664         * elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
665         BFD address when constructing local name.
666
667 2002-12-04  Andreas Schwab  <schwab@suse.de>
668
669         * elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
670         member.
671         (elf_m68k_link_hash_table_create): Initialize it.
672         (elf_m68k_check_relocs): Handle symbols that are forced to be
673         local due to visibility changes.
674         (elf_m68k_adjust_dynamic_symbol): Likewise.
675         (elf_m68k_size_dynamic_sections): Likewise.
676         (elf_m68k_discard_copies): Likewise.
677         (elf_m68k_relocate_section): Likewise.
678
679 2002-12-04  Alan Modra  <amodra@bigpond.net.au>
680
681         * elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
682
683 2002-12-04  Alan Modra  <amodra@bigpond.net.au>
684
685         * srec.c (srec_write_symbols): Restore '$' prefix to address
686         accidentally removed in 2002-04-04 change.
687         (srec_get_symtab): Use 0 instead of `(long) FALSE'.
688
689 2002-12-03  Nick Clifton  <nickc@redhat.com>
690
691         * elf32-ppc.c (apuinfo_list_init): New function.
692         (apuinfo_list_add): New function: Add a value to the list.
693         (apuinfo_list_length): New function: Return the number of
694         values on the list.
695         (apuinfo_list_element): New function: Return a value on the
696         list.
697         (apuinfo_list_finish): New function: Free the resources used
698         by the list.
699         (ppc_elf_begin_write_processing): New function.  Scan the
700         input bfds for apuinfo sections.
701         (ppc_elf_write_section): New function: Delay the creation of
702         the contents of an apuinfo section in an output bfd.
703         (ppc_elf_final_write_processing): New function.  Create the
704         contents of an apuinfo section in an output bfd.
705         (elf_backend_begin_write_processing): Define.
706         (elf_backend_final_write_processing): Define.
707         (elf_backend_write_section): Define.
708
709 2002-12-03  Richard Henderson  <rth@redhat.com>
710
711         * cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
712
713 2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
714
715         Fix PR savannah/1417:
716         * elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
717         branch if it goes to the start of the deleted region.
718
719 2002-12-01  Stephane Carrez  <stcarrez@nerim.fr>
720
721         * bfd-in2.h (bfd_mach_m6812): Rebuild.
722         * archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
723         bfd_mach_m6812s): Declare.
724
725         * elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
726         (_bfd_m68hc12_elf_set_private_flags): Call it.
727         (_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
728         (_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
729         report microcontroller incompatibilities (HC12 vs HCS12).
730         (elf_backend_object_p): Update.
731
732 2002-11-30  Alan Modra  <amodra@bigpond.net.au>
733
734         * bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
735         (enum bfd_boolean, boolean): Delete.
736         (bfd_boolean): Typedef to an int.
737         (FALSE, TRUE): Define.
738         * aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
739         aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
740         aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
741         binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
742         coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
743         coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
744         coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
745         coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
746         coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
747         coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
748         corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
749         cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
750         cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
751         cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
752         cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
753         cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
754         cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
755         cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
756         cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
757         cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
758         dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
759         elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
760         elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
761         elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
762         elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
763         elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
764         elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
765         elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
766         elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
767         elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
768         elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
769         elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
770         elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
771         elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
772         elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
773         elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
774         hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
775         i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
776         libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
777         libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
778         m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
779         mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
780         nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
781         pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
782         pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
783         pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
784         reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
785         som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
786         syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
787         vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
788         xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
789         bfd_boolean, true with TRUE, false with FALSE.  Simplify comparisons
790         of bfd_boolean vars with TRUE/FALSE.  Formatting.
791         * bfd-in2.h, libbfd.h, libcoff.h: Regenerate
792
793 2002-11-28  Alan Modra  <amodra@bigpond.net.au>
794
795         * elf-bfd.h: Replace occurrences of Elf32_Internal_* and
796         Elf64_Internal_* with Elf_Internal_*.  Replace Elf_Internal_Rel
797         with Elf_Internal_Rela.
798         * elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
799         elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
800         elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
801         elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
802         elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
803         elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
804         elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
805         elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
806         elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
807         elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
808         elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
809         * elf-hppa.h (elf_hppa_internal_shdr): Delete.  Use Elf_Internal_Shdr
810         throughout instead.
811         * elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
812         * elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
813         Remove INLINE keyword.
814         (elf_swap_reloc_in): Likewise.  Also clear r_addend.
815         (elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
816         as a bfd_byte *.
817         (elf_write_relocs): Consolidate REL and RELA code.
818         (elf_slurp_reloc_table_from_section): Simplify REL code.
819         (NAME(_bfd_elf,size_info)): Populate reloc swap entries.
820         * elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
821         * elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
822         RELA code.
823         (elf_link_adjust_relocs): Likewise.  Don't malloc space for temp
824         reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
825         (elf_link_output_relocs): Likewise.
826         (elf_reloc_link_order): Likewise.
827         (elf_finish_pointer_linker_section): Likewise.
828         (struct elf_link_sort_rela): Remove union.
829         (elf_link_sort_cmp1): Update to suit.
830         (elf_link_sort_cmp2): Here too.
831         (elf_link_sort_relocs): Consolidate REL and RELA code.  Fix memory
832         over-allocation for int_rels_per_ext_rel != 1 case.
833         * elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
834         * elf32-i386.c: Likewise.
835         * elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
836         * elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
837         elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
838         * elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
839         * elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
840         elf64-sparc.c, elf64-x86-64.c: Likewise.
841         * elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
842         * elfxx-mips.c (sort_dynamic_relocs): Likewise for
843         bfd_elf32_swap_reloc_in.
844
845         * elf32-arm.h: Update elf32_arm_info_to_howto calls.
846         * elf32-mips.c: Likewise for mips_info_to_howto_rel.
847         (mips_elf64_swap_reloc_in): Zero r_addend.
848         (mips_elf64_be_swap_reloc_in): Likewise.
849         (mips_elf64_slurp_one_reloc_table): Simplify.
850
851         * elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
852         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
853         * elf64-sparc.c (sparc64_elf_size_info): Likewise.
854
855 2002-11-28  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
856
857         * elf32-sh.c (sh_elf_relocate_section): Don't complain about
858         unresolved debugging relocs in dynamic applications.
859         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
860
861 2002-11-26  Alan Modra  <amodra@bigpond.net.au>
862
863         * elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
864         (_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
865         on a relocatable link.  Comment typos.
866         * elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
867         in the order they are declared.  Clear elf_hash_value too.
868         (_bfd_elf_link_hash_table_init): Likewise assign in order.  Clear
869         eh_info and tls_segment.
870         * elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
871         sorted when discarding relocs by turning them into R_*_NONE.
872
873         * libbfd.c (warn_deprecated): Comment spelling.
874         * po/SRC-POTFILES.in: Regenerate.
875
876 2002-11-21  Richard Henderson  <rth@redhat.com>
877
878         * elflink.h (elf_link_add_object_symbols): Don't overwrite the
879         arch's st_other bits when merging visibilities.
880         (elf_link_output_extsym): Tidy clearing of visibility field.
881
882 2002-11-21  Alan Modra  <amodra@bigpond.net.au>
883
884         * coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
885         (SWAP_OUT_RELOC_OFFSET): Define.
886
887 2002-11-20  Alexandre Oliva  <aoliva@redhat.com>
888
889         * elf.c (_bfd_elf_link_hash_table_init): Make sure
890         can_refcount is properly extended to the type of
891         init_refcount.
892
893 2002-11-19  Alexandre Oliva  <aoliva@redhat.com>
894
895         * elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
896         (_bfd_mips_elf_relocate_section): Use it.
897
898         * elfxx-mips.c (MNAME): New macro.
899         (_bfd_mips_elf_check_relocs): Use it.
900         (_bfd_mips_elf_discard_info): Likewise.
901         (_bfd_mips_elf_final_link): Likewise.
902
903 2002-11-19  Alan Modra  <amodra@bigpond.net.au>
904
905         * elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
906         rel_hdr.sh_size too.
907
908 2002-11-18  Klee Dienes  <kdienes@apple.com>
909
910         * Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
911         (BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
912         (BFD_H_FILES): Add bfdwin.c, bfdio.c.
913         (LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
914         Add dependencies for bfdwin.c, bfdio.c.
915         * bfd.c: Remove bfd_get_mtime, bfd_get_size.
916         * libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
917         bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
918         bfd_tell, bfd_flush, bfd_stat, bfd_seek.
919         * bfdio.c: New file.  Contains real_read, bfd_bread, bfd_write,
920         bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
921         bfd_get_size (moved from libbfd.c and bfd.c).
922         * bfdwin.c New file.  Contains _bfd_window_internal,
923         bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
924         libbfd.c and bfd.c).
925         * po/SRC-POTFILES.in: Regenerate.
926         * po/bfd.pot: Regenerate.
927         * libbfd.h: Regenerate.
928         * bfd-in2.h: Regenerate.
929         * aclocal.m4: Regenerate.
930         * Makefile.in: Regenerate.
931         * configure: Regenerate.
932
933 2002-11-18  Klee Dienes  <kdienes@apple.com>
934
935         * bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
936
937 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
938
939         * coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
940         jsr after a short jump.
941         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
942
943 2002-11-15  Klee Dienes  <kdienes@apple.com>
944
945         * pef.c (bfd_pef_convert_architecture): Move declaration of
946         ARCH_POWERPC and ARCH_M68K to the start of the function.
947
948 2002-11-14  Svein E. Seldal  <Svein.Seldal@solidas.com>
949
950         * coff-tic4x.c (tic4x_howto_table): Formatting fixup
951
952 2002-11-14  Hans-Peter Nilsson  <hp@bitrange.com>
953
954         * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
955         For bpo_gregs_section->contents, allocate _raw_size, not
956         _cooked_size.
957
958 2002-11-13  Klee Dienes  <kdienes@apple.com>
959
960         * config.bfd: Add entries for powerpc-*-darwin and cousins.
961
962 2002-11-13  H.J. Lu <hjl@gnu.org>
963
964         * elfcode.h (elf_object_p): Don't restore abfd->arch_info.
965
966 2002-11-13  Klee Dienes  <kdienes@apple.com>
967             Alan Modra  <amodra@bigpond.net.au>
968
969         * bfd.c (struct bfd_preserve): New.
970         (bfd_preserve_save): New function.
971         (bfd_preserve_restore): Ditto.
972         (bfd_preserve_finish): Ditto.
973         * bfd-in2.h: Regenerate.
974         * mach-o.c: Formatting.
975         (bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
976         (bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
977         (bfd_mach_o_core_p): Ditto.
978         (bfd_mach_o_scan): Pass in mdata.
979         * mach-o.h (bfd_mach_o_scan): Update prototype.
980         * pef.c: Formatting.
981         (bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
982         (bfd_pef_xlib_object_p): Ditto.
983         (bfd_pef_scan): Pass in mdata.  Move version check to bfd_pef_object_p.
984         * pef.h (bfd_pef_scan): Update prototype.
985         * xsym.c: Formatting, K&R fixes.
986         (bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
987         (bfd_sym_scan): New function split out from bfd_sym_object_p.
988         * xsym.h (bfd_sym_scan): Declare.
989         * elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
990         * elfcore.h (elf_core_file_p): Likewise.
991         * targets.c (_bfd_target_vector): Revert 2002-11-08 change.
992
993 2002-11-12  Nick Clifton  <nickc@redhat.com>
994
995         * po/da.po: Updated Danish translation.
996
997 2002-11-12  Alan Modra  <amodra@bigpond.net.au>
998
999         * elflink.h (elf_link_add_object_symbols): Optimize stabs for
1000         relocatable link too.
1001         (elf_link_input_bfd): When emitting relocs, adjust offsets for
1002         eh_frame and stab sections.  Zap deleted relocs.
1003         (elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
1004         (elf_bfd_discard_info): Run for relocatable link too.
1005         * elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd.  Make global.
1006         Handle ld -r case.
1007         (ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
1008         * elf64-ppc.h (ppc64_elf_edit_opd): Declare.
1009
1010         * elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
1011         (struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
1012         (struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
1013         (enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
1014         (struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
1015         (struct elf_link_hash_table): Add eh_info.
1016         (struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
1017         (_bfd_elf_discard_section_eh_frame): Update prototype.
1018         (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
1019         (_bfd_elf_write_section_eh_frame): Likewise.
1020         (_bfd_elf_write_section_eh_frame_hdr): Likewise.
1021         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
1022         param.  Get "hdr_info" from link hash table.
1023         (_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param.  Get
1024         header section from link hash table.  Save header section to elf_tdata.
1025         (_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec".  Use
1026         header section from link hash table.  Don't alloc hdr_info.  Clear
1027         hdr_sec instead of setting "strip".
1028         (_bfd_elf_eh_frame_section_offset): Formatting.
1029         (_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
1030         Get header section from link hash table.
1031         (_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
1032         Get header section from link hash table.
1033         * elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
1034         (get_program_header_size): Likewise.
1035         (_bfd_elf_section_offset): Formatting.
1036         * elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
1037         section pointer in link hash table.
1038         (elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
1039         and _bfd_elf_write_section_eh_frame calls.  Update comment about
1040         eh_frame entries.
1041         (elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
1042         _bfd_elf_discard_section_eh_frame_hdr calls.  Remove "ehdr".
1043
1044         * po/SRC-POTFILES.in: Regenerate.
1045
1046         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
1047         relocs for discarded FDEs.  Remove dead code.
1048         (_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
1049         * elflink.h (elf_bfd_discard_info): Don't save edited relocs.
1050         Tidy conditions under which stabs are edited.  Formatting.
1051         * elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
1052         from discarded relocs.
1053         * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
1054         section adjustments after testing magic values.
1055
1056 2002-11-12  Thomas Moestl <tmm@FreeBSD.org>
1057
1058         * elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
1059         references to large plt symbols.
1060
1061 2002-11-12  Klee Dienes  <kdienes@apple.com>
1062
1063         * mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
1064         looking for an unused section name.
1065
1066 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1067
1068         * coff-h8300.c: Fix formatting.
1069         * elf32-h8300.c: Likewise.
1070         * reloc16.c: Likewise.
1071
1072 2002-11-09  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
1073
1074         * elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
1075         section when dynamic section unused;  _bfd_strip_section_from_output
1076         instead.
1077
1078 2002-11-08  Alan Modra  <amodra@bigpond.net.au>
1079
1080         * targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
1081         and sym_vec.
1082
1083         * dwarf2.c: Revert last change.
1084
1085 2002-11-07  Michal Ludvig  <mludvig@suse.cz>
1086
1087         * dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
1088         _bfd_dwarf2_find_nearest_line): Use
1089         bfd_simple_get_relocated_section_contents() instead of
1090         bfd_get_section_contents().
1091         * reloc.c (bfd_perform_relocation): Add sanity check.
1092         * simple.c (simple_get_relocated_section_contents): If the section
1093         does not have any relocs associated with it, just return the
1094         unadjusted contents.
1095
1096 2002-11-07  Hans-Peter Nilsson  <hp@axis.com>
1097
1098         * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
1099         case R_CRIS_32_GOT>: Correct test for filling in constant .got
1100         contents, enabling for a non-DSO, for symbols defined in the
1101         program with --export-dynamic.
1102
1103 2002-11-07  Alan Modra  <amodra@bigpond.net.au>
1104
1105         * elf64-ppc.c: Comment typo fixes.
1106         (ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
1107
1108 2002-11-07  Nick Clifton  <nickc@redhat.com>
1109
1110         * po/da.po: Updated Danish translation.
1111
1112 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
1113
1114         * elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
1115         exactly three internal relocs per external reloc.  Set reloc_count
1116         to the external reloc count.
1117
1118 2002-11-06  Klee Dienes  <kdienes@apple.com>
1119
1120          * coff-stgo32.c (stub_bytes): Mark as const.
1121          Fix comment formatting.
1122
1123 2002-11-06  Klee Dienes  <kdienes@apple.com>
1124
1125         * Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
1126         xsym.lo.
1127         (BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
1128         (SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
1129         * archures.c (enum bfd_architecture): Add bfd_arch_m98k.
1130         * bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
1131         * targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
1132         sym.
1133         (_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
1134         * Makefile.in: Regenerate.
1135         * doc/Makefile.in: Regenerate.
1136         * bfd-in2.h: Regenerate.
1137         * xsym.c: New file.  Contains support for the Apple/Metrowerks
1138         xSYM debugging format.
1139         * xsym.h: New file.
1140         * pef.c: New file.  Contains support for the Apple Code Fragment
1141         Manager Preferred Executable Format
1142         * pef.h: New file.
1143         * pef-traceback.h: New file.  Contains support for parsing PowerPC
1144         traceback tables as used by PEF executables (and perhaps other
1145         systems as well).
1146         * mach-o.c: New file.  Contains support for the Mach-O object file
1147         format.
1148         * mach-o.h: New file.
1149         * mach-o-target.c: New file.  Declares the mach-o targets
1150         themselves.  Included three times by mach-o.c; each time with a
1151         different set of macros set.
1152
1153 2002-11-06  Graeme Peterson  <gp@qnx.com>
1154
1155         * Makefile.am: Remove entries for elf32-qnx.[ch].
1156         * Makefile.in: Regenerate.
1157         * config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
1158         ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
1159         bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
1160         * configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
1161         bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
1162         and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
1163         bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
1164         * configure: Regenerate.
1165         * elf32-qnx.c: Remove.
1166         * elf32-qnx.h: Remove.
1167         * elf.c: Remove calls to QNX specific set_nonloadable_filepos,
1168         is_contained_by_filepos, and copy_private_bfd_data_p.
1169         * elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
1170         is_contained_by_filepos, and copy_private_bfd_data_p.
1171         * elf32-i386.c: Remove QNX extended bfd support.
1172         * elf32-ppc.c: Remove QNX extended bfd support.
1173         * elf32-sh.c: Remove QNX extended bfd support.
1174         * elfarm-nabi.c: Remove QNX extended bfd support.
1175         * targets.c: Remove qnx vectors.
1176         * elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
1177         (elf_backend_is_contained_by_filepos): Remove.
1178         (elf_backend_copy_private_bfd_data_p): Remove.
1179         * po/SRC-POTFILES.in: Regenerate.
1180
1181 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
1182             Alan Modra  <amodra@bigpond.net.au>
1183
1184         * elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
1185         dynamic relocs against section symbols for the output section vma.
1186
1187 2002-11-05  Alan Modra  <amodra@bigpond.net.au>
1188
1189         * elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
1190         t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
1191
1192 2002-11-05  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1193             Alan Modra  <amodra@bigpond.net.au>
1194
1195         * config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
1196         vectors in target_selvecs.
1197         (shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
1198         in target_selvecs.
1199         (sh-*-netbsdelf*): Likewise.
1200         * configure.in (assocvecs): New variable.  Handle assocvecs like
1201         selvecs.
1202         * configure: Regenerate.
1203         * format.c (bfd_check_format_matches): Store bfd_target pointers
1204         in matching_vector instead of target names.  Select first target
1205         from bfd_associated_vector that matches a list of ambiguous targets.
1206         * targets.c (_bfd_associated_vector): New array.
1207         (bfd_associated_vector): New variable.
1208         (_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
1209         * libbfd-in.h (bfd_associated_vector): Declare.
1210         * libbfd.h: Regenerate.
1211
1212 2002-11-05  Elias Athanasopoulos  <eathan@otenet.gr>
1213
1214         * vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
1215         non-NULL before dereferencing.
1216
1217 2002-11-04  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1218
1219         * vms.c (vms_object_p): Restore the start address when returning
1220         NULL.
1221
1222 2002-11-04  Alan Modra  <amodra@bigpond.net.au>
1223             Hans-Peter Nilsson  <hp@axis.com>
1224
1225         * elflink.h (struct elf_final_link_info): Add shndxbuf_size.
1226         (elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
1227         Set up a larger symshndxbuf, and write it out.  Free it on
1228         exit rather than freeing symbuf twice.  Correct section index
1229         on output section symbol loop.
1230         (elf_link_output_sym): Accumulate symbol extension section
1231         indices, reallocating symshndxbuf rather than writing it out.
1232         (elf_link_flush_output_syms): Don't flush symshndxbuf.
1233         * elf.c (assign_section_numbers): Init i_shdrp to all zero.
1234         Use bfd_zalloc to clear i_shdrp[0] too.
1235
1236 2002-11-03  Stephen Clarke <stephen.clarke@earthling.net>
1237
1238          * elf32-sh64-com.c (sh64_address_in_cranges): Use
1239         _raw_size of cranges section if _cooked_size not yet set.
1240
1241 2002-11-03  Hans-Peter Nilsson  <hp@axis.com>
1242
1243         * elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
1244         for bfd_elf32_swap_symbol_out.
1245
1246 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
1247
1248         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
1249         signed and unsigned in comparison.
1250
1251 2002-10-30  Daniel Jacobowitz  <drow@mvista.com>
1252
1253         * coffcode.h: Remove extraneous '\'.
1254
1255 2002-10-28  H.J. Lu <hjl@gnu.org>
1256
1257         * Makefile.am (targets.lo): Depend on Makefile instead of
1258         config.status.
1259         (archures.lo): Likewise.
1260         * Makefile.in: Regenerated.
1261
1262 2002-10-25  Jason Thorpe  <thorpej@wasabisystems.com>
1263
1264         * config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
1265         bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
1266         targ_selvecs.
1267
1268 2002-10-25  Jim Wilson  <wilson@redhat.com>
1269
1270         * elf64-sh64.c (sh_elf64_relocate_section): Call
1271         _bfd_elf_rela_local_sym.  Handle relocs against STT_SECTION symbol
1272         of SHF_MERGE section.
1273
1274 2002-10-25  Hans-Peter Nilsson  <hp@axis.com>
1275
1276         * simple.c: Correct placement of ATTRIBUTE_UNUSED.
1277
1278 2002-10-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1279
1280         * aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
1281         unsigned int.  Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
1282         unsigned int.
1283         (NAME(aout,final_link)): Cast enum used in assignment.
1284         (aout_link_write_symbols): Cast enums in comparisons, int values to
1285         boolean, enums in assignments to int.
1286         (aout_link_input_section_std): Cast rel->r_index to unsigned int.
1287         (aout_link_input_section_ext): Likewise.  Cast enums used in comparisons
1288         with unsigned ints.
1289         (aout_link_reloc_link_order): Cast enum to int in assignment.
1290         * archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
1291         calls to char *.
1292         * bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
1293         assignment.
1294         * bfd-in2.h (bfd_set_section_vma): Likewise.
1295         * bfd.c (bfd_record_phdr): Cast enums in assignments.
1296         * binary.c (bfd_alloc): Cast enum to long.
1297         * coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
1298         * dwarf2.c (read_abbrevs): Add casts to enum types.
1299         (read_attribute_value): Likewise.
1300         (arange_add): Cast result of bfd_zalloc call.
1301         (comp_unit_contains_address): Return true and false.
1302         (comp_unit_find_nearest_line): Cast return to boolean.
1303         * format.c (bfd_check_format_matches, bfd_set_format): Likewise.
1304         * gen-aout.c: define macro '_' if not defined.
1305         * libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
1306         (bfd_bwrite): Cast bfd_realloc to bfd_byte *.
1307         (bfd_write_bigendian_4byte_int): Cast return to boolean.
1308         (bfd_seek): Cast bfd_realloc to bfd_byte *.
1309         (bfd_generic_is_local_label_name): Cast return to boolean.
1310         * libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
1311         * linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
1312         struct bfd_hash_entry *.
1313         (_bfd_generic_link_hash_newfunc): likewise.
1314         (_bfd_generic_final_link): Cast enum to unsigned int.
1315         * merge.c (sec_merge_emit): Cast return to boolean.
1316         (merge_strings): Add casts to const unsigned char *.
1317         * reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
1318         (bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
1319         * section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result to
1320         struct bfd_hash_entry *.
1321         (bfd_set_section_content): Add cast to PTR in comparison.
1322         * simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
1323         simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
1324         simple_dummy_unattached_reloc,
1325         bfd_simple_get_relocated_section_contents): Add K&R declarations and
1326         function definitions.
1327         * srec.c (S3Forced): Initialize to false.
1328         (srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
1329         * stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
1330         (_bfd_discard_section_stabs): Likewise.  Also cast return to boolean.
1331         * syms.c (bfd_is_undefined_symclass): Cast return to boolean.
1332         (_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
1333         comparisons.
1334
1335 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
1336
1337         * elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
1338         relocs into shared lib non-allocated reloc sections.
1339
1340 2002-10-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
1341
1342         * dwarf2.c (add_line_info): Ensure that the line_info_table is
1343         sorted even when given an out-of-order line sequence.
1344         (lookup_address_in_line_info_table): When an exact VMA match is
1345         not found, return line information with the closest VMA.
1346
1347 2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
1348
1349         * elf64-hppa.c: Force DT_FLAGS to always be set.  Required by
1350         HPUX 11.00 patch PHSS_26559.
1351
1352 2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
1353
1354         * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
1355         the options section into a separate section unless IRIX 6
1356         compatibility is enabled.
1357
1358 2002-10-22  Alexandre Oliva  <aoliva@redhat.com>
1359
1360         * elflink.h (struct elf_link_sort_rela): Turn rel and rela
1361         into arrays.
1362         (elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
1363         (elf_link_sort_relocs): Likewise.  Take int_rels_per_ext_rel
1364         into account.
1365         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
1366         R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
1367
1368 2002-10-21  Graeme Peterson  <gp@qnx.com>
1369
1370         * targets.c (_bfd_target_vector): Add missing qnx vectors.
1371
1372 2002-10-21  Alan Modra  <amodra@bigpond.net.au>
1373
1374         * targets.c (bfd_target_list): Don't return the default target twice.
1375
1376 2002-10-21  Elias Athanasopoulos  <eathan@otenet.gr>
1377
1378         * archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
1379         perror with bfd_perror.
1380
1381 2002-10-19  H.J. Lu <hjl@gnu.org>
1382
1383         * elflink.h (elf_link_add_object_symbols): Correctly handle
1384         DT_RPATH and DT_RUNPATH.
1385
1386 2002-10-19  Mark Kettenis  <kettenis@gnu.org>
1387
1388         * elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
1389
1390 2002-10-17  Denis Chertykov  <denisc@overta.ru>
1391
1392         * elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
1393         for ip2k port.
1394
1395 2002-10-17  Alan Modra  <amodra@bigpond.net.au>
1396
1397         * elfxx-target.h (USE_REL): Don't define as 1.
1398         * elf32-arm.h (USE_REL): Provide a default define of 0.
1399         Use #if rather than #ifdef when testing USE_REL.
1400         * elf32-m32r.c: Likewise.
1401
1402         * elf32-arc.c (USE_REL): Define as 1.
1403         * elf32-d10v.c (USE_REL): Likewise.
1404         * elf32-m32r.c (USE_REL): Likewise.
1405         * elf32-m68hc11.c (USE_REL): Likewise.
1406         * elf32-m68hc12.c (USE_REL): Likewise.
1407         * elf32-or32.c (USE_REL): Likewise.
1408         * elfarm-nabi.c (USE_REL): Likewise.
1409
1410 2002-10-16  Jakub Jelinek  <jakub@redhat.com>
1411
1412         * config.bfd (s390-*-linux*): Add targ64_selvecs.
1413         (s390x-*-linux*): Add targ_selvecs.
1414
1415 2002-10-16  Alan Modra  <amodra@bigpond.net.au>
1416
1417         * Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
1418         elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
1419         elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
1420         elf32-sh64-nbsd.lo, elf32-shqnx.lo.  Add elf32-qnx.lo.
1421         (BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
1422         (BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
1423         (BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
1424         (SOURCE_HFILES): Add elf32-qnx.h.
1425         (BUILD_HFILES): Add bfdver.h.
1426         Run "make dep-am".
1427         * Makefile.in: Regenerate.
1428         * configure.in Update bfd vector dependencies.
1429         * configure: Regenerate.
1430         * elf32-i386-fbsd.c: Delete.  Move code to elf32-i386.c.
1431         * elf32-i386qnx.c: Likewise.
1432         * elf32-ppcqnx.c: Delete.  Move code to elf32-ppc.c.
1433         * elf32-sh-nbsd.c: Delete.  Move code to elf32-sh.c.
1434         * elf32-sh-lin.c: Likewise.
1435         * elf32-shqnx.c: Likewise.
1436         * elf32-sh64-lin.c: Delete.  Move code to elf32-sh64.c.
1437         * elf32-sh64-nbsd.c: Likewise.
1438         * elf64-sh64-lin.c: Delete.  Move code to elf64-sh64.c.
1439         * elf64-sh64-nbsd.c: Likewise.
1440         * elfarmqnx-nabi.c: Delete.  Move code to elfarm-nabi.c.
1441         * elf32-arm.h (ELF_MAXPAGESIZE): Always define.
1442         * elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
1443         * elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
1444         * elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
1445         (elf_backend_is_contained_by_filepos): Likewise.
1446         (elf_backend_copy_private_bfd_data_p): Likewise.
1447         Globalize and move functions to..
1448         * elf32-qnx.c: ..here.  New file.
1449         * elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests.  Don't
1450         emit target vectors when INCLUDE_SHMEDIA.
1451         * elf32-sh64.c: Remove ELF_ARCH test.  Move TARGET_* etc. defines to
1452         end of file.
1453         * elf64-sh64.c: Remove ELF_ARCH test.
1454         * elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
1455         * po/BLD-POTFILES.in: Regenerate.
1456         * po/SRC-POTFILES.in: Regenerate.
1457
1458 2002-10-16  Alan Modra  <amodra@bigpond.net.au>
1459
1460         * elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
1461         loaded with --just-symbols.
1462
1463         * elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
1464         * elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
1465         * elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
1466         * elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
1467
1468 2002-10-15  Richard Henderson  <rth@redhat.com>
1469
1470         * Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
1471         (BFD64_BACKENDS_CFILES): Likewise.
1472         * configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
1473         * elf64-alpha-fbsd.c: Remove file, move code ...
1474         * elf64-alpha.c: ... here.
1475         * Makefile.in, configure: Rebuild.
1476
1477 2002-10-14  Richard Henderson  <rth@redhat.com>
1478
1479         * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
1480         VALUE, not ADDEND.
1481
1482 2002-10-14  Stephen Clarke <stephen.clarke@superh.com>
1483
1484         * elf32-sh.c (elf_sh_link_hash_entry): Replace
1485         datalabel_got_offset with union of datalabel_got
1486         offset and refcount.
1487         (sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
1488         (allocate_dynrelocs): Delete unnecessary code for
1489         STT_DATALABEL type.  Create entry in got for
1490         datalabel version of symbol if datalabel_got.refcount > 0.
1491         (sh_elf_relocate_section): Use datalabel_got union.
1492         (sh_elf_gc_sweep_hook): Pull common code to initialize
1493         h and eh out of switch statement.  Declare seen_stt_datalabel.
1494         Initialize it.  Decrement datalabel_got.refcount for
1495         got relocs when seen_stt_datalabel is true.
1496         Decrement local_got_refcounts entry for datalabel got relocs
1497         of local symbols.
1498         (sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
1499         (sh_elf_check_relocs): Declare seen_stt_datalabel.
1500         Initialize it.  When seen_stt_datalabel is true, increment
1501         datalabel_got refcount rather than got.refcount.
1502         (sh_elf_finish_dynamic_symbol): Create relocs to
1503         initialize got entry for datalabel version of symbol.
1504
1505 2002-10-14  Alan Modra  <amodra@bigpond.net.au>
1506
1507         * Makefile.am: Run "make dep-am".
1508         (BFD_H_FILES): Remove version.h.
1509         * bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
1510         * version.h: ..to here.
1511         * configure.in (bfd_version_date): Remove.
1512         (AC_OUTPUT): Make bfdver.h from version.h.
1513         * bfd.c: #include "bfdver.h".
1514         * vms-hdr.c: Likewise.
1515         * Makefile.in: Regenerate.
1516         * bfd-in2.h: Regenerate.
1517         * configure: Regenerate.
1518         * po/SRC-POTFILES.in: Regenerate.
1519
1520 2002-10-14  Alan Modra  <amodra@bigpond.net.au>
1521
1522         * archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
1523         bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
1524         bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
1525         bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
1526         bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
1527         bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
1528         bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
1529         bfd_mach_ip2022, bfd_mach_ip2022ext,
1530         bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
1531         * bfd-in2.h: Regenerate.
1532
1533 2002-10-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1534
1535         * config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
1536         endian vector to targ_selvecs.
1537
1538 2002-10-13  Alexandre Oliva  <aoliva@redhat.com>
1539
1540         * elfxx-mips.c (mips_elf_calculate_relocation): Take
1541         save_addend argument.  Don't apply the 32-bit mask to a
1542         GPREL32 value if it's to be used in another relocation.  Don't
1543         use forced-check computation of local_p to decide whether to
1544         add gp0 to GPREL16 value.  Don't use only the lowest 16 bits
1545         of the addend of a non-in-place GPREL16 relocation.
1546         (_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
1547         mips_elf_calculate_relocation().
1548
1549 2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
1550
1551         * elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
1552         with symbols in other sections if we relaxed something;  the sections
1553         output offsets must be re-computed before.
1554
1555 2002-10-12  Stephane Carrez  <stcarrez@nerim.fr>
1556
1557         * elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
1558         handling to use Elf_Internal_Sym.
1559         (m68hc11_elf_relax_delete_bytes): Likewise.
1560
1561 2002-10-11  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
1562
1563         * elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
1564         sh_elf_object_p, dtpoff_base): New functions.
1565         (sh_elf_howto_table): Add TLS relocs.
1566         (sh_reloc_map): Likewise.
1567         (sh_elf_info_to_howto): Support TLS relocs.
1568         (elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
1569         (sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
1570         New macros.
1571         (sh_elf_obj_tdata): New.
1572         (elf_sh_link_hash_table): Add tls_ldm_got.
1573         (sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
1574         (allocate_dynrelocs): Support TLS relocs.
1575         (sh_elf_size_dynamic_sections): Likewise.
1576         (sh_elf_relocate_section): Support TLS relocs.  Don't try to find
1577         .rela.got section when found already.  Return false after printing
1578         error about unresolvable relocation.
1579         (sh_elf_gc_sweep_hook): Support TLS relocs.
1580         (sh_elf_check_relocs): Likewise.
1581         (sh_elf_finish_dynamic_symbol): Likewise.
1582         (bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
1583         * reloc.c: Add SH TLS relocs.
1584         * bfd-in2.h, libbfd.h: Regenerate.
1585
1586 2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
1587
1588         * Makefile.in: Regenerated.
1589
1590 2002-10-11  Daniel Jacobowitz  <drow@mvista.com>
1591
1592         * Makefile.am: Run dep-am.
1593         (BFD_H_DEP): Add simple.c and linker.c.
1594         (BFD32_LIBS): Add simple.lo.
1595         (BFD32_LIBS_CFILES): Add simple.c.
1596         * Makefile.in: Regenerated.
1597         * bfd-in2.h: Regenerated.
1598         * simple.c: New file.
1599
1600 2002-10-11  Alan Modra  <amodra@bigpond.net.au>
1601
1602         * coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
1603         (record_thumb_to_arm_glue): Likewise.
1604         * ecoff.c (ecoff_link_add_externals): Likewise.
1605         * elf32-arm.h (record_arm_to_thumb_glue): Likewise.
1606         (record_thumb_to_arm_glue): Likewise.
1607         * elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
1608         * elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
1609         * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
1610         * elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
1611         * elf64-ppc.c (func_desc_adjust): Likewise.
1612         * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
1613         (sh64_elf64_create_dynamic_sections): Likewise.
1614         * elflink.c (_bfd_elf_create_got_section): Likewise.
1615         (_bfd_elf_create_dynamic_sections): Likewise.
1616         (_bfd_elf_create_linker_section): Likewise.
1617         * elflink.h (elf_add_default_symbol): Likewise.
1618         (elf_link_create_dynamic_sections): Likewise.
1619         (NAME(bfd_elf,size_dynamic_sections)): Likewise.
1620         * elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
1621         * elfxx-mips.c (mips_elf_create_got_section): Likewise.
1622         (_bfd_mips_elf_add_symbol_hook): Likewise.
1623         (_bfd_mips_elf_create_dynamic_sections): Likewise.
1624         * linker.c (generic_link_add_symbol_list): Likewise.
1625         * xcofflink.c (xcoff_link_add_symbols): Likewise.
1626
1627         * elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
1628
1629         * elf64-ppc.c (edit_opd): Only zero opd syms when function is
1630         completely removed.  Correct local sym adjustment.
1631
1632 2002-10-10  Stephen Clarke <stephen.clarke@superh.com>
1633
1634         * elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
1635         Correct mistake in calculation of address of .got.
1636         * elf64-sh64.c (elf_sh64_pic_plt_entry_be,
1637         elf_sh64_pic_plt_entry_le): Likewise.
1638
1639 2002-10-09  Richard Shann <richard.shann@superh.com>
1640             Stephen Clarke <stephen.clarke@superh.com>
1641
1642         * Makefile.am: Add entries for elf32-sh64-lin.c and
1643         elf64-sh64-lin.c. Regenerate.
1644         * Makefile.in: Regenerate.
1645         * config.bfd:  Change sh64eb-*-linux* and sh64-*-linux*
1646         to use sh64 vectors rather than sh vectors.
1647         * configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
1648         bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
1649         * configure: Regenerate.
1650         * elf32-sh64-lin.c: New file.
1651         * elf64-sh64-lin.c: New file.
1652         * targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
1653         bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
1654
1655 2002-10-08  H.J. Lu <hjl@gnu.org>
1656
1657         * elf32-i386.c (elf_i386_relocate_section): Re-arrange the
1658         IE->LE transition for R_386_TLS_IE.
1659
1660 2002-10-08  Alan Modra  <amodra@bigpond.net.au>
1661
1662         * elf64-ppc.c (edit_opd): Correct test for discarded sections.
1663
1664 2002-10-07  Mark Elbrecht  <snowball3@softhome.net>
1665
1666         * cofflink.c (mark_relocs): Don't mark relocations in excluded
1667         sections.
1668
1669 2002-10-07  Alan Modra  <amodra@bigpond.net.au>
1670
1671         * elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
1672         code.
1673
1674         * elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
1675
1676 2002-10-06  Alan Modra  <amodra@bigpond.net.au>
1677
1678         * opncls.c: Formatting.
1679         (_bfd_new_bfd): Use a smaller section hash table.
1680
1681 2002-10-05  Alexandre Oliva  <aoliva@redhat.com>
1682
1683         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
1684         of the other two relocations packed with a REL32 to NONE.
1685
1686 2002-10-02  Stephen Clarke <stephen.clarke@superh.com>
1687
1688         * elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
1689         (sh_elf_link_hash_newfunc): Initialize it.
1690         (allocate_dynrelocs): Transfer gotplt refs from plt.refcount
1691         to got.refcount for symbols that are forced local or when
1692         we have direct got refs.
1693         (sh_elf_gc_sweep_hook): Adjust gotplt_refcount.  Use it
1694         to correctly adjust got.refcount and plt.refcount.
1695         (sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
1696         (sh_elf_check_relocs): Increment gotplt_refcount.
1697
1698 2002-10-01  Jakub Jelinek  <jakub@redhat.com>
1699
1700         * elf32-i386.c (elf_i386_relocate_section): Fix
1701         movl foo@indntpoff, %eax IE->LE transition.
1702
1703 2002-10-01  Jakub Jelinek  <jakub@redhat.com>
1704
1705         * elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
1706         sequence and its transitions.
1707
1708 2002-10-01  Jakub Jelinek  <jakub@redhat.com>
1709
1710         * elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
1711         to st_value + addend in non-code sections.
1712         * elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
1713         R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
1714
1715 2002-09-30  Gavin Romig-Koch  <gavin@redhat.com>
1716             Ken Raeburn  <raeburn@cygnus.com>
1717             Aldy Hernandez  <aldyh@redhat.com>
1718             Eric Christopher  <echristo@redhat.com>
1719             Richard Sandiford  <rsandifo@redhat.com>
1720
1721         * archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
1722         (bfd_mach_mips5500): New.
1723         * cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
1724         (arch_info_struct): Add corresponding entries here.
1725         * elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
1726         E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
1727         (_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
1728         bfd_mach_mips5400 and bfd_mach_mips5500.
1729         (_bfd_mips_elf_mach_extends_p): New function.
1730         (_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
1731         the EF_MIPS_MACH flags.
1732         * bfd-in2.h: Regenerate.
1733
1734 2002-09-28  Jason Thorpe  <thorpej@wasabisystems.com>
1735
1736         * elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
1737         .got sections.
1738
1739 2002-09-28  Alan Modra  <amodra@bigpond.net.au>
1740
1741         * elf.c (map_sections_to_segments): Correct test for start of
1742         writable section in the same page as end of read-only section.
1743
1744 2002-09-27  Matt Thomas  <matt@3am-software.com>
1745
1746         * elf32-vax.c (elf_vax_check_relocs): Remove unused
1747         local_got_refcounts usage.  Remove allocation of got slot.
1748         (elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
1749         Remove de-allocation of got slot.
1750         (elf_vax_size_dynamic_section): Fix some indentation.  Add hash
1751         traversal for elf_vax_instantiate_got_entries.  Allow empty .got
1752         sections to be GC'ed.
1753         (elf_vax_instantiate_got_entries): New function.
1754         (elf_vax_relocate_section): Simplify R_VAX_GOT32 handling.  Remove
1755         tests that are now handled by elf_vax_instantiate_got_entries.
1756         Assert GOT entry falls within .got section size.  Remove redundant
1757         comparisions.  Fix comments.
1758
1759 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
1760
1761         * reloc.c: Add x86-64 TLS relocs.
1762         * bfd-in2.h, libbfd.h: Rebuilt.
1763         * elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
1764         relocs.  Add TLS relocs.
1765         (x86_64_reloc_map): Add TLS relocs.
1766         (elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
1767         (struct elf64_x86_64_link_hash_entry): Add tls_type field.
1768         (GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
1769         (elf64_x86_64_hash_entry): Define.
1770         (struct elf64_x86_64_obj_tdata): New.
1771         (elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
1772         (struct elf64_x86_64_link_hash_table): Add tls_ld_got.
1773         (link_hash_newfunc): Initialize tls_type.
1774         (elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
1775         (elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
1776         (elf64_x86_64_mkobject): New.
1777         (elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
1778         (elf64_x86_64_tls_transition): New.
1779         (elf64_x86_64_check_relocs): Add r_type variable and use it.
1780         Handle TLS relocs.
1781         (elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
1782         (allocate_dynrelocs): Allocate GOT space for TLS relocs.
1783         (elf64_x86_64_size_dynamic_sections): Likewise.
1784         (dtpoff_base, tpoff): New.
1785         (elf64_x86_64_relocate_section): Handle TLS relocs.
1786         (elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
1787         entries.
1788         (bfd_elf64_mkobject): Define.
1789
1790         * elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
1791         DF_STATIC_TLS if shared.
1792
1793 2002-09-26  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1794
1795         * elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
1796         empty relocation sections.
1797
1798 2002-09-26  Alan Modra  <amodra@bigpond.net.au>
1799
1800         * elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
1801         (ppc64_elf_build_stubs): Build them here instead.
1802
1803 2002-09-24  Jakub Jelinek  <jakub@redhat.com>
1804
1805         * elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
1806         addend into r_addend, not *r_offset.
1807         (elf32_sparc_finish_dynamic_symbol): Likewise.
1808         * elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
1809         R_SPARC_RELATIVE's r_offset.
1810
1811 2002-09-23  Nathan Tallent  <eraxxon@alumni.rice.edu>
1812
1813         * dwarf2.c (decode_line_info): Update to correctly decode
1814         the (non-standard DWARF2) out-of-order address sequences
1815         generated by the Intel C++ 6.0 compiler for ia64-Linux.
1816
1817 2002-09-23  Mark Elbrecht  <snowball3@softhome.net>
1818
1819         * config.bfd: For DJGPP targets, match with any cpu and any machine.
1820
1821 2002-09-23  Alan Modra  <amodra@bigpond.net.au>
1822
1823         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
1824         for discarded FDEs.  Remove redundant assignment.
1825         * elflink.h (elf_bfd_discard_info): Save edited relocs.
1826
1827 2002-09-22  H.J. Lu <hjl@gnu.org>
1828
1829         * elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
1830         the relocation count between different .reloc sections.
1831
1832 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
1833
1834         * elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
1835         ".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
1836         R_PPC_EMB_SDA2REL.  Similarly for R_PPC_EMB_SDA21 and
1837         R_PPC_EMB_RELSDA.
1838
1839         * elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
1840         unsigned.  Move "symcount" assignment out of loop.
1841         * Makefile.am: Run "make dep-am".
1842         * Makefile.in: Regenerate.
1843         * configure: Regenerate.
1844         * po/SRC-POTFILES.in: Regnerate.
1845
1846 2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
1847
1848         * dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
1849         zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
1850         (e.g. IRIX64).
1851
1852 2002-09-19  Jakub Jelinek  <jakub@redhat.com>
1853
1854         * elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
1855         even if generating R_PPC_RELATIVE reloc.
1856         (ppc_elf_relocate_section): Make sure relocation is performed
1857         if skip == -2.  Clear memory at r_offset when creating dynamic
1858         relocation.
1859
1860 2002-09-19  Jakub Jelinek  <jakub@redhat.com>
1861
1862         * reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
1863         BFD_RELOC_386_TLS_GOTIE): Add.
1864         * bfd-in2.h, libbfd.h: Rebuilt.
1865         * elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
1866         and R_386_TLS_GOTIE.
1867         (elf_i386_reloc_type_lookup): Handle it.
1868         (struct elf_i386_link_hash_entry): Change tls_type type to unsigned
1869         char instead of enum, change GOT_* into defines.
1870         (GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
1871         (elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
1872         (elf_i386_check_relocs): Likewise.  Avoid crash if local symbol is
1873         accessed both as normal and TLS symbol.  Move R_386_TLS_LDM and
1874         R_386_PLT32 cases so that R_386_TLS_IE can fall through.
1875         Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
1876         (elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
1877         Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
1878         (allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
1879         tls_type is GOT_TLS_IE_BOTH.
1880         (elf_i386_size_dynamic_sections): Likewise.
1881         (elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
1882         Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
1883         (elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
1884         all 4 GOT_TLS_* TLS types.
1885
1886 2002-09-19  Nick Clifton  <nickc@redhat.com>
1887
1888         * elflink.h (elf_fix_symbol_flags): When examining weak symbols,
1889         follow indirect links.
1890
1891 2002-09-19  Nathan Tallent  <eraxxon@alumni.rice.edu>
1892
1893         * ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
1894         correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
1895         on 64 bit machines.
1896         (ecoff_swap_sym_in) <iss>: Likewise.
1897         * ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
1898         ECOFF information: 'ioptMax' refers to the actual *size*
1899         of the optimization symtab, not the number of entries.
1900
1901 2002-09-19  Daniel Jacobowitz  <drow@mvista.com>
1902
1903         * elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
1904         ELF_LINK_HASH_NEEDS_PLT logic.
1905
1906 2002-09-18  Daniel Jacobowitz  <drow@mvista.com>
1907
1908         * elfcode.h (elf_slurp_reloc_table_from_section): Check
1909         correct relocation count.
1910
1911 2002-09-17  Daniel Jacobowitz  <drow@mvista.com>
1912
1913         * bfd-in.h (bfd_get_dynamic_symcount): Define.
1914         * bfd.c (struct _bfd): Add dynsymcount.
1915         * bfd-in2.h: Regenerated.
1916         * elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
1917         abfd->dynsymcount.
1918         * elfcode.h (elf_slurp_reloc_table_from_section): Check
1919         for overflow.
1920
1921 2002-09-17  Stan Cox <scox@redhat.com>
1922
1923         * elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
1924         (mips_elf64_final_gp): Don't make up gp value.
1925         * elfn32-mips.c (mips_elf_final_gp): Likewise.
1926         * elfxx-mips.c (_bfd_mips_elf_final_link): Always create
1927         .MIPS.options/.options section.
1928
1929 2002-09-17  David O'Brien  <obrien@FreeBSD.org>
1930
1931         * elf32-i386-fbsd.c: Always label using the EI_OSABI method.
1932         It is benign for FreeBSD < 4.1.  Minor reformatting.
1933         * elf64-alpha-fbsd.c: Likewise.
1934
1935 2002-09-17  Jakub Jelinek  <jakub@redhat.com>
1936
1937         * elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
1938         addend.
1939
1940 2002-09-17  Alan Modra  <amodra@bigpond.net.au>
1941
1942         * elf64-alpha.c (alpha_elf_size_info): Make static.
1943
1944 2002-09-17  Svein E. Seldal  <Svein.Seldal@solidas.com>
1945
1946         * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
1947         * cpu-tic4x.c: Ditto.
1948
1949 2002-09-17  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1950
1951         * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
1952         duplicate define.
1953
1954 2002-09-16  Bruno Haible  <bruno@clisp.org>
1955
1956         * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
1957         by a target variant implementation.
1958         * elf64-alpha.c: Likewise.
1959         * elf32-i386-fbsd.c: New file.
1960         * elf64-alpha-fbsd.c: New file.
1961         * targets.c: Support bfd_elf32_i386_freebsd_vec and
1962         bfd_elf64_alpha_freebsd_vec.
1963         * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
1964         bfd_elf64_alpha_freebsd_vec.
1965         * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
1966         (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
1967         (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
1968         (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
1969         (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
1970         * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
1971         specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
1972
1973 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
1974
1975         * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
1976         NULL.
1977         (elf_i386_relocate_section): Return false after printing error about
1978         unresolvable relocation.
1979
1980 2002-09-12  Nick Clifton  <nickc@redhat.com>
1981
1982         * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
1983         R_ARM_THM_PC11.
1984
1985 2002-09-11  Jeffrey Law  <law@redhat.com>
1986
1987         * elf32-h8300.c (elf32_h8_relax_section): Fix typo.
1988
1989 2002-09-11  Andrew Haley  <aph@cambridge.redhat.com>
1990
1991         * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
1992         line_ptr before deciding we've found a symbol.
1993
1994 2002-09-11  Nick Clifton  <nickc@redhat.com>
1995
1996         * po/da.po: New Danish translation file.
1997         * configure.in (LINGUAS): Add 'da'.
1998         * configure: Regenerate.
1999
2000 2002-09-10  Michael Snyder  <msnyder@redhat.com>
2001
2002         * irix-core.c (do_sections, do_sections64): New functions.
2003         (irix_core_core_file_p): Call new functions do_sections,
2004         do_sections64, depending on corefile (32-bit or 64-bit).
2005
2006 2002-09-09  Richard Henderson  <rth@redhat.com>
2007
2008         * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
2009         and PCREL21F like PCREL21B.
2010
2011 2002-09-04  Kevin Buettner  <kevinb@redhat.com>
2012
2013         * config.bfd (mips*-*-irix6*): Add new ABI vectors.  Make n32 default
2014         vector.
2015
2016 2002-09-02  Nick Clifton  <nickc@redhat.com>
2017
2018         * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
2019         names instead of cryptically overloaded bfd_reloc error
2020         codes.
2021         (v850_elf_relocate_section): Likewise.
2022         (v850_elf_relax_section): Replace caching of external symbols
2023         with caching of internal symbols obtained from calling
2024         bfd_elf_get_elf_syms().
2025         Fixup problems with freeing cached allocated memory blocks.
2026
2027 2002-09-02  Alan Modra  <amodra@bigpond.net.au>
2028
2029         * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
2030         (bfd_pj_arch): Use bfd_default_scan.
2031         * cpu-v850.c (scan): Remove.
2032         (N): Use bfd_default_scan.
2033         * cpu-z8k.c (scan_mach): Remove.
2034         (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
2035         first.  Use bfd_default_scan.
2036
2037         * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
2038         bfd_mach constants.
2039         (ecoff_get_magic): Likewise.
2040         * elf32-v850.c (v850_elf_object_p): Likewise.
2041         (v850_elf_final_write_processing): Likewise.
2042         * mipsbsd.c (MY(set_arch_mach)): Likewise.
2043         (MY(write_object_contents)): Likewise.
2044         * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
2045         * coffcode.h (coff_write_object_contents): Likewise.
2046         (coff_set_arch_mach_hook): Add comment describing machine == 0.
2047         Remove unnecessary "machine" assignments.
2048         (coff_write_relocs): Test for the absolute section sym by testing
2049         section and flags.
2050
2051         * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
2052         and bfd_mach_i386_i386_intel_syntax.
2053         * pdp11.c (NAME(aout,machine_type)): Likewise.
2054
2055 2002-08-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2056
2057         * bfd-in.h (align_power): Cast constants to bfd_vma type.
2058         * bfd-in2.h (align_power): Likewise.
2059
2060 2002-08-30  Alan Modra  <amodra@bigpond.net.au>
2061
2062         * Makefile.am: Run "make dep-am".
2063         * Makefile.in: Regenerate.
2064
2065         * cpu-avr.c (compatible): Don't use hard-coded mach constants.
2066         * cpu-powerpc.c (powerpc_compatible): Likewise.
2067         * cpu-rs6000.c (rs6000_compatible): Likewise.
2068
2069 2002-08-28  Catherine Moore  <clm@redhat.com>
2070
2071         * elf32-v850.c (v850_elf_reloc_map):  Add new relocs.
2072         (v850-elf-reloc): Don't resolve pc relative relocs.
2073         (v850_elf_ignore_reloc): New routine.
2074         (v850_elf_final_link_relocate): Handle new relocs.
2075         (v850_elf_relax_delete_bytes ): New routine.
2076         (v850_elf_relax_section): New routine.
2077         (bfd_elf32_bfd_relax_section): Define.
2078         (HOWTO): New entries for new relocs.
2079         * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
2080         (BFD_RELOC_V850_LONGJUMP): New reloc.
2081         (BFD_RELOC_V850_ALIGN): New reloc.
2082         * archures.c: Remove redundant v850ea architecture.
2083         * cpu-v850.c: Remove redundant v850ea support.
2084         * libbfd.h: Regenerate.
2085         * bfd-in2.h: Regenerated.
2086
2087 2002-08-28  Svein E. Seldal  <Svein.Seldal@solidas.com>
2088
2089         * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
2090         * configure.in: Add tic4x_coff vector files.
2091         * configure: Regenerate.
2092         * Makefile.am: Add tic4x target.
2093         * Makefile.in: Regenerate.
2094
2095 2002-08-27  Michael Hayes <m.hayes@elec.canterbury.ac.nz>
2096
2097         * archures.c: Add the BFD arch type tic4x.
2098         * bfd-in.h: Add BFD_IN_MEMORY flag.
2099         * coff-tic4x.c: New file.
2100         * coffswap.h (coff_swap_sym_out): Add preadjuster.
2101         * cpu-tic4x.c: New file.
2102         * targets.c: Added tic4x- in list of xvecs.
2103         * ticoff.h: New file.
2104         * bfd-in2.h: Regenerate.
2105
2106 2002-08-27  Adam Nemet  <anemet@lnxw.com>
2107
2108         * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
2109         bit of DT_INIT and DT_FINI for Thumb functions.
2110
2111 2002-08-26  Alan Modra  <amodra@bigpond.net.au>
2112
2113         * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
2114
2115 2002-08-26  Alan Modra  <amodra@bigpond.net.au>
2116
2117         * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
2118
2119 2002-08-24  Kaz Kojima  <kkojima@rr.iij4u.or.jp>
2120
2121         * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
2122         (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
2123         Likewise.
2124         (struct elf_sh_pcrel_relocs_copied): Removed.
2125         (struct elf_sh_dyn_relocs): New.
2126         (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
2127         field with dyn_relocs.
2128         (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
2129         sections and sym_sec.
2130         (sh_elf_link_hash_newfunc): Clear dyn_relocs.
2131         (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
2132         (sh_elf_create_dynamic_sections): Use create_got_section instead
2133         of _bfd_elf_create_got_section.
2134         (sh_elf_check_relocs): Likewise.
2135         (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
2136         sections.
2137         (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
2138         sh_elf_relocate_section, sh_elf_check_relocs,
2139         sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
2140         Likewise.
2141         (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
2142         dynamic relocations and avoiding the copy relocation when we
2143         didn't find any dynamic relocations in the section which has
2144         contents or is read-only.
2145         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
2146         (sh_elf_size_dynamic_sections): Don't reset the size of
2147         .rela.got section even if dynamic_sections_created flag is off.
2148         Don't use sh_elf_discard_copies. Scan all input bfd and use
2149         allocate_dynrelocs. Call readonly_dynrelocs to determine
2150         whether we need DT_TEXTREL.
2151         (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
2152         whether the symbol was never referred to.
2153         (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
2154         (sh_elf_gc_sweep_hook): Fill with the real sweep function.
2155         (sh_elf_check_relocs): Call create_got_section if the short-cut
2156         to .got is null. Increment reference counters only instead of
2157         allocating space on dynamic sections here. Don't conditionalize
2158         uninitialized got.offset value when marking the symbol as a
2159         global offset table entry. Keep relocations for symbols satisfied
2160         by a dynamic library to avoid copy relocations for the symbol.
2161         Set dynobj field of an elf hash table if needed.
2162         (sh_elf_finish_dynamic_sections): Handle null section pointer
2163         correctly.
2164         (elf_backend_copy_indirect_symbol): Defined.
2165         (elf_backend_can_refcount): Defined.
2166
2167 2002-08-23  Nick Clifton  <nickc@redhat.com>
2168
2169         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
2170         previous change.  Add comment explaining why.
2171
2172 2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
2173
2174         * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
2175         contents of .got.plt[2] to tr0, not address of .got.plt.
2176         (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
2177         patching absolute plt entry. For shmedia plt entry, set bottom bit
2178         of branch to plt0 as this is a branch to an shmedia instruction.
2179         * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
2180         Copy contents of .got.plt[2] to tr0, not address of .got.plt.
2181         (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
2182         branch to plt0.
2183         (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
2184         patching absolute plt entry. For shmedia plt entry, branch to
2185         plt0 is now ptrel, so use relative offset.  Set bottom bit of
2186         branch target as it is a branch to an shmedia instruction.
2187
2188 2002-08-23  Stephen Clarke <stephen.clarke@superh.com>,
2189             Richard Shann <richard.shann@superh.com>
2190
2191         * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
2192         value if .init is an SHmedia function.  Similarly for DT_FINI.
2193         * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
2194
2195 2002-08-23  Stephen Clarke <stephen.clarke@superh.com>
2196
2197         * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
2198         dynamic section.
2199         * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
2200
2201 2002-08-22  Kaz Kojima <kkojima@rr.iij4u.or.jp>
2202
2203         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
2204         byte read when reading the return address register column.
2205
2206 2002-08-22  Nick Clifton  <nickc@redhat.com>
2207
2208         * config.bfd: Add powepc64-*-*bsd* target.
2209
2210 2002-08-22  Graeme Peterson  <gp@qnx.com>
2211
2212         * Makefile.am: Add entries for elf32-shqnx.c
2213         * Makefile.in: Regenerate.
2214         * config.bfd: Add support sh-*-nto* target.
2215         * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
2216         * configure: Regenerate.
2217         * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
2218         * elf32-sh.c: Do not include elf32-target.h if
2219         ELF32_SH_C_INCLUDED is defined.
2220         * elf32-shqnx.c: New file: Support for QNX.
2221         * targets.c: Add bfd_elf32_sh{l}qnx_vec.
2222
2223 2002-08-22  Nick Clifton  <nickc@redhat.com>
2224
2225         * po/tr.po: Updated Turkish translation.
2226
2227         * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
2228         symbols are not read.
2229
2230 2002-08-22  Alan Modra  <amodra@bigpond.net.au>
2231
2232         * elf32-m68hc11.c: Formatting fixes.
2233         (elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
2234         * elf32-m68hc12.c: Formatting fixes.
2235         (elf32_m68hc11_gc_mark_hook): Correct params.  Remove unnecessary test.
2236
2237 2002-08-22  Alan Modra  <amodra@bigpond.net.au>
2238
2239         * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
2240         SEC_DATA.
2241         (pmac_xcoff_vec): Likewise.
2242         * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2243         (aix5coff64_vec): Likewise.
2244
2245 2002-08-22  Alan Modra  <amodra@bigpond.net.au>
2246
2247         * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
2248         param to elf_backend_copy_indirect_symbol.
2249         (_bfd_elf_link_hash_copy_indirect): Likewise.
2250         * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
2251         calls to copy_indirect_symbol.
2252         * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
2253         * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
2254         * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
2255         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
2256         * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
2257         * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
2258         * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
2259         * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
2260         * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
2261         * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise.  Properly
2262         test refcounts for "used" values.
2263
2264 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2265
2266         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
2267         argument declaration.
2268
2269 2002-08-19  Elena Zannoni <ezannoni@redhat.com>
2270
2271         * archures.c (bfd_mach_ppc_e500): Added.
2272         * bfd-in2.h: Rebuilt.
2273         * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
2274
2275 2002-08-19  Alan Modra  <amodra@bigpond.net.au>
2276
2277         * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
2278
2279 2002-08-17  Andrew Cagney  <ac131313@redhat.com>
2280
2281         * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
2282         `bfd_byte'.
2283
2284 2002-08-17  Stan Cox  <scox@redhat.com>
2285
2286         * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
2287         IRIX 6 segment layout for NEWABI.
2288
2289 2002-08-16  Stephen Clarke <stephen.clarke@superh.com>
2290
2291         * bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
2292         symbols when looking for section referred to by a relocation.
2293         * bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
2294
2295 2002-08-15  Alan Modra  <amodra@bigpond.net.au>
2296
2297         * elf32-i370.c: Move reloc enum to include/elf/i370.h.
2298
2299 2002-08-15  Hans-Peter Nilsson  <hp@axis.com>
2300
2301         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
2302         missing check for whether the symbol is referenced by DSO before
2303         unexporting it as an unneeded dynamic symbol.
2304
2305 2002-08-14  H.J. Lu <hjl@gnu.org>
2306
2307         * libbfd.h: Regenerate.
2308
2309 2002-08-14  H.J. Lu <hjl@gnu.org>
2310
2311         * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
2312
2313 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
2314
2315         * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
2316         instructions.
2317         (m68hc11_direct_relax): New to define table of relaxable instructions.
2318         (find_relaxable_insn): New, find a relaxable insn.
2319         (compare_reloc): New to compare two relocs.
2320         (m68hc11_elf_relax_section): New, relax text sections.
2321         (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
2322         (elf32_m68hc11_check_relocs): New function for GC support.
2323         (elf32_m68hc11_relocate_section): New function for GC support.
2324         (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
2325         (elf_backend_check_relocs): Likewise.
2326         (elf_backend_relocate_section): Likewise.
2327
2328 2002-08-13  H.J. Lu <hjl@gnu.org>
2329
2330         * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
2331         definitions in shared objects when checking symbol with
2332         undefined version.
2333
2334 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
2335
2336         * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
2337         (elf32_m68hc11_gc_sweep_hook): Likewise.
2338         (elf_backend_gc_mark_hook): Define for GC section support.
2339         (elf_backend_gc_sweep_hook): Likewise.
2340         (elf_backend_can_gc_sections): Likewise.
2341
2342         * elf32-m68hc12.c: Likewise.
2343
2344 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
2345
2346         * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
2347         (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
2348         (_bfd_m68hc11_elf_set_private_flags): New function.
2349         Use them to set/check/print ELF flags specific to 68HC11.
2350
2351         * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
2352         (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
2353         (_bfd_m68hc12_elf_set_private_flags): New function.
2354         Use them to set/check/print ELF flags specific to 68HC12.
2355
2356 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
2357
2358         * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
2359         fix masks for PC-rel relocs.
2360         (m68hc11_elf_ignore_reloc): New function.
2361
2362         * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
2363         68HC12 banked addressing relocs.
2364         (m68hc12_phys_addr): New to compute physical address of banked memory.
2365         (m68hc12_phys_page): Likewise for page.
2366         (m68hc12_addr_is_banked): New to see if address is in banked area.
2367         (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
2368
2369 2002-08-13  Stephane Carrez  <stcarrez@nerim.fr>
2370
2371         * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
2372         BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
2373         BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
2374         * bfd-in2.h: Regenerate.
2375
2376 2002-08-12  H.J. Lu <hjl@gnu.org>
2377
2378         * elflink.h (elf_add_default_symbol): Preserve section across
2379         elf_merge_symbol.
2380
2381 2002-08-09  Graeme Peterson  <gp@qnx.com>
2382
2383         * Makefile.am: Add entries for elf32-ppcqnx.c, and add
2384         elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
2385         * Makefile.in: Regenerate.
2386         * config.bfd: Add support for powerpc{le}-*-nto targets.
2387         * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
2388         * configure: Regenerate.
2389         * elf32-i386qnx.c: Moved backend functions into a QNX specific
2390         common file "elf32-qnx.h", and now include that file.
2391         * elf32-qnx.h: New file: QNX specific common elf backend.
2392         * elf32-ppc.c: Do not include elf32-target.h if
2393         ELF32_PPC_C_INCLUDED is defined.
2394         * elf32-ppcqnx.c: New file: Support for QNX.
2395         * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
2396         * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
2397
2398 2002-08-09  Nick Clifton  <nickc@redhat.com>
2399
2400         * po/sv.po: Updated Swedish translation.
2401
2402 2002-08-09  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2403
2404         * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
2405         g->global_gotsym is NULL.
2406
2407 2002-08-08  H.J. Lu <hjl@gnu.org>
2408
2409         * elflink.h (elf_add_default_symbol): Don't warn if a definition
2410         overrides an indirect versioned symbol.
2411
2412 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
2413
2414         * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
2415         for R_386_TLS_TPOFF32 relocs against symndx 0.
2416
2417 2002-08-07  H.J. Lu <hjl@gnu.org>
2418
2419         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
2420         with undefined version if needed.
2421         (elf_link_assign_sym_version): Match a default symbol with a
2422         version without definition. No need to hide the default
2423         definition separately.
2424
2425 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
2426
2427         * elflink.h (elf_link_output_extsym): Don't output symbols from
2428         SEC_EXCLUDE sections.
2429
2430         * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
2431
2432 2002-08-07  Alan Modra  <amodra@bigpond.net.au>
2433
2434         * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
2435         entries.
2436
2437 2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2438
2439         * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
2440         mismatch.
2441
2442 2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2443
2444         * elfxx-mips.c (ABI_64_P): Remove superfluous check.
2445
2446 2002-08-07  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2447
2448         * elf32-mips.c (mips_reloc_map): Fix typo.
2449
2450 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
2451
2452         * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
2453
2454 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
2455
2456         * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
2457
2458 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
2459
2460         * libxcoff.h: Use PARAMS on function declarations.
2461         * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
2462         * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
2463
2464         * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
2465         addend.
2466         * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
2467
2468 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
2469
2470         * coff-rs6000.c: Formatting fixes.
2471         (xcoff_calculate_relocation): Use PARAMS in declaration.
2472         (xcoff_complain_overflow): Likewise.
2473         (xcoff_ppc_relocate_section): Use old-style function pointer call.
2474         (bfd_xcoff_backend_data): Remove useless comments.
2475         (rs6000coff_vec): Likewise.
2476         (bfd_pmac_xcoff_backend_data): Likewise.
2477         (pmac_xcoff_vec): Likewise.
2478
2479         * coff64-rs6000.c: Formatting fixes.
2480         (xcoff64_calculate_relocation): Use PARAMS in declaration.
2481         (xcoff64_ppc_relocate_section): Use old-style function pointer call.
2482         (bfd_xcoff_backend_data): Remove useless comments.
2483         (rs6000coff64_vec): Likewise.
2484         (bfd_xcoff_aix5_backend_data): Likewise.
2485         (aix5coff64_vec): Likewise.
2486
2487 2002-08-06  Alan Modra  <amodra@bigpond.net.au>
2488
2489         * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
2490         mask entries.  Use complain_overflow_dont for R_REF.
2491         (xcoff_reloc_type_ba): Revert last change.
2492         (xcoff_reloc_type_br): Likewise.
2493         (xcoff_reloc_type_crel): Likewise.
2494         (xcoff_ppc_relocate_section): Likewise.
2495         * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
2496         (xcoff64_ppc_relocate_section): Likewise.
2497         (xcoff64_howto_table): Revert some of last change to mask entries.
2498         Use complain_overflow_dont for R_REF.
2499
2500         * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries.  Make all
2501         relocs with bitsize == 16 have size = 1.
2502         (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
2503         (xcoff_reloc_type_br): Likewise.
2504         (xcoff_reloc_type_crel): Likewise.
2505         (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
2506         * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
2507         dst_mask adjustment.
2508         (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
2509         (xcoff64_howto_table): Fix src_mask entries.  Make all relocs with
2510         bitsize == 16 have size = 1.
2511
2512 2002-08-01  Denis Chertykov  <denisc@overta.ru>
2513
2514         * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
2515         (struct misc): New field isymbuf. All free_* fields removed.
2516         (symbol_value): Pass in internal syms. No need to swap syms in.
2517         (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
2518         possibly cached info.
2519         (tidyup_after_error): Removed.
2520         (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
2521         misc. Use new field.
2522         (adjust_all_relocations): Use internal syms. No need to swap syms
2523         in and out.
2524         (add_page_insn): Don't use removed fields of struct misc.
2525
2526 2002-08-01  Nick Clifton  <nickc@redhat.com>
2527
2528         * elf32-arm.h: Revert previous delta.
2529
2530 2002-08-01  Nick Clifton  <nickc@redhat.com>
2531
2532         * configure.in (AM_INIT_AUTOMAKE): Bump version number.
2533         * configure: Regenerate.
2534
2535 2002-07-31  H.J. Lu <hjl@gnu.org>
2536
2537         * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
2538         selected.
2539
2540 2002-07-31  H.J. Lu <hjl@gnu.org>
2541
2542         * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
2543         is selected.
2544
2545 2002-07-31  Jakub Jelinek  <jakub@redhat.com>
2546
2547         * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
2548         if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
2549
2550 2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2551
2552         * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
2553         There is no 8 byte relocation type for this architecture.
2554         (do_ns32k_reloc): Use bfd_vma instead of native types.
2555         (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
2556         returns void.
2557         (_bfd_ns32k_put_displacement): Don't check for overflow. We can
2558         rely on generic code to do that.
2559         * aout-ns32k.c (howto_table): Add appropriate overflow detection
2560         to all table entries.
2561         (_bfd_ns32k_relocate_contents): put_data returns void.
2562         * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
2563         (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
2564         return void.
2565
2566 2002-07-31  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
2567
2568         * aoutx.h (aout_link_check_ar_symbols): Whether to include an
2569         archive object is target dependant.
2570
2571 2002-07-31  Adam Nemet  <anemet@lnxw.com>
2572
2573         * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
2574         (THUMB_PLT_ENTRY_SIZE): New macro.
2575         (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
2576         (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
2577         ARM_PLT_ENTRY_SIZE.
2578         (elf32_arm_plt_entry): Likewise.
2579         (elf_backend_plt_header_size): Likewise.
2580         (elf32_thumb_plt0_entry): New global.
2581         (elf32_arm_finish_dynamic_sections): Use it.  Put Thumb entries
2582         into .plt.thumb.
2583         (elf32_thumb_plt_entry): New global.
2584         (elf32_arm_finish_dynamic_symbol): Use it.  Use .thumb.plt for
2585         Thumb entries.  Set the bottom bit of the corresponding GOT entry
2586         for a Thumb PLT entry.
2587         (struct elf32_arm_plt_entry_info): New structure.
2588         (struct elf32_arm_link_hash_entry, plt_info): New member of this
2589         type.
2590         (elf32_arm_link_hash_newfunc): Initialize new member.
2591         (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
2592         relocations against the PLT.
2593         (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
2594         first_rel_type if this is the first time we encounter the symbol.
2595         (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
2596         Determine if relocation needs a PLT entry.  Set first_rel_type if
2597         this is the first time we encounter the symbol
2598         (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
2599         functions as well.
2600         (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
2601         (elf32_arm_create_dynamic_sections): New function.  Create the
2602         .plt.thumb section.
2603         (elf_backend_create_dynamic_sections): Call it.
2604
2605 2002-07-31  Nick Clifton  <nickc@redhat.com>
2606
2607         * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
2608         'alternative' in order to avoid shadowing global symbol of the
2609         same name.
2610         * bfd-in2.h: Regenerate.
2611         * libbfd.h: Regenerate.
2612         * libcoff.h: Regenerate.
2613
2614 2002-07-31  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2615
2616         * Makefile.am: Add n32 ABI support.
2617         * Makefile.in: Regenerate.
2618         * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
2619         bit vectors for mips*-*-linux targets as optional.
2620         * configure.in: Add n32 ABI vectors.
2621         * configure: Regenerate.
2622         * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
2623         * elfn32-mips.c: New file, n32 ABI support.
2624         * targets.c: Add n32 ABI vectors.
2625
2626 2002-07-30  Graeme Peterson  <gp@qnx.com>
2627
2628         * elfarmqnx-nabi.c: New file: Support for QNX.
2629         * config.bfd: Add support for arm-*-nto target.
2630         * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
2631         * configure: Regenerate.
2632         * Makefile.am: Add entries for elfarmqnx-nabi.c.
2633         * Makefile.in: Regenerate.
2634         * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
2635         Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
2636         * elfarm-nabi.c: Do not include elf32-arm.h if
2637         ELFARM_NABI_C_INCLUDED is defined.
2638         * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
2639
2640 2002-07-30  Nick Clifton  <nickc@redhat.com>
2641
2642         * po/sv.po: Updated Swedish translation.
2643
2644 2002-07-30  Jakub Jelinek  <jakub@redhat.com>
2645
2646         * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
2647
2648 2002-07-30  Alan Modra  <amodra@bigpond.net.au>
2649
2650         * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
2651         * archive.c (bfd_generic_archive_p): Likewise.
2652         * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
2653         (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
2654         * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
2655         (xcoff64_archive_p): Likewise.
2656         (xcoff64_openr_next_archived_file): Likewise.
2657         (xcoff64_archive_p): Clean up tdata properly on error.
2658         * coffgen.c (coff_real_object_p): Likewise.
2659         (coff_object_p): Release filehdr and opthdr.
2660         * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
2661         * ieee.c (ieee_archive_p): Likewise.
2662         * ihex.c (ihex_object_p): Likewise.
2663         (ihex_mkobject): Always allocate tdata.
2664         * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
2665         * srec.c (srec_mkobject): Always allocate tdata.
2666         (srec_object_p): Clean up tdata properly on error.
2667         (symbolsrec_object_p): Likewise.
2668         * versados.c (versados_object_p): Likewise.
2669         * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
2670         and bfd_realloc instead of realloc.
2671         (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
2672         * vms.c (vms_initialize): Always allocate tdata.  Use bfd_alloc in
2673         place of bfd_malloc, simplifying error freeing.  Free hash table too.
2674         (vms_object_p): Clean up tdata on error.
2675         (vms_mkobject): Don't complain on stderr if vms_initialize fails.
2676         (vms_close_and_cleanup): Adjust for bfd_alloc use.
2677
2678 2002-07-30  Alan Modra  <amodra@bigpond.net.au>
2679
2680         * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
2681
2682 2002-07-26  Chris Demetriou  <cgd@broadcom.com>
2683
2684         * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
2685         flags into resulting BFD.
2686
2687 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
2688
2689         From John Reiser <jreiser@BitWagon.com>
2690         * elf32-i386.c (elf_i386_link_hash_table_create): Clear
2691         tls_ldm_got.refcount.
2692
2693 2002-07-25  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2694
2695         * elf64-mips.c: Update TODO comment.
2696         (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
2697         mips_elf64_gprel16_reloca): Remove prototypes.
2698         (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
2699         (UNUSED_RELOC): Replace by EMPTY_RELOC.
2700         (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
2701         wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
2702         R_MIPS_HIGHEST.
2703         (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
2704         R_MIPS_GOT16. Remove wrong comments.
2705         (elf_mips16_jump_howto,elf_mips16_gprel_howto,
2706         elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
2707         from elf32-mips.c.
2708         (mips_elf64_hi16_reloc): Fix formatting.
2709         (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
2710         (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
2711         Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
2712         (mips_elf64_gprel16_reloc): Make static. Add check for
2713         partial_inplace.
2714         (mips_elf64_gprel16_reloca): Remove.
2715         (mips_elf64_literal_reloc): New function.
2716         (mips_elf64_gprel32_reloc): Fix formatting.
2717         (mips_elf64_shift6_reloc): Fix comment. Make static.
2718         (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
2719         elf32-mips.c.
2720         (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
2721         elf32-mips.c
2722         (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
2723         specific relocations.
2724         (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
2725         (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
2726         (ELF_MAXPAGESIZE): Add comment.
2727
2728 2002-07-25  Nick Clifton  <nickc@redhat.com>
2729
2730         * po/sv.po: Updated Swedish translation.
2731         * po/es.po: Updated Spanish translation.
2732         * po/fr.po: Updated French translation.
2733
2734 2002-07-25  Alan Modra  <amodra@bigpond.net.au>
2735
2736         * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
2737         as elf_link_record_local_dynamic_symbol.
2738         (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
2739         (elf_link_record_local_dynamic_symbol): Declare.  Now returns int.
2740         * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
2741         * elflink.c: .. here.  Use bfd_elf_get_elf_syms.  Check whether an
2742         attempt is made to record a symbol in a discarded section, and
2743         return `2' in that case.
2744
2745 2002-07-24  Nick Clifton  <nickc@redhat.com>
2746
2747         * po/sv.po: Updated Swedish translation.
2748         * po/es.po: Updated Spanish translation.
2749
2750 2002-07-23  Alan Modra  <amodra@bigpond.net.au>
2751
2752         * po/SRC-POTFILES.in: Regenerate.
2753
2754         * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
2755         immediately.  Remove code handling relocatable linking.
2756         * elf32-avr.c (elf32_avr_relocate_section): Likewise.
2757         * elf32-cris.c (cris_elf_relocate_section): Likewise.
2758         * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
2759         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2760         * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
2761         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
2762         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2763         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2764         * elf32-v850.c (v850_elf_relocate_section): Likewise.
2765         * elf32-vax.c (elf_vax_relocate_section): Likewise.
2766         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2767         * elf32-avr.c (elf_backend_rela_normal): Define.
2768         * elf32-cris.c: Likewise.
2769         * elf32-fr30.c: Likewise.
2770         * elf32-frv.c: Likewise.
2771         * elf32-h8300.c: Likewise.
2772         * elf32-hppa.c: Likewise.
2773         * elf32-ip2k.c: Likewise.
2774         * elf32-sparc.c: Likewise.
2775         * elf32-v850.c: Likewise.
2776         * elf32-vax.c: Likewise.
2777         * elf64-hppa.c: Likewise.
2778         * elf64-sparc.c: Likewise.
2779         * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
2780         * elf32-frv.c (elf32_frv_relocate_section): Likewise.
2781         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2782         * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
2783         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2784         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2785         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2786         * elf-m10200.c (USE_RELA): Don't define.
2787         * elf-m10300.c: Likewise.
2788         * elfarm-oabi.c: Likewise.
2789         * elf32-i370.c: Likewise.
2790         * elf32-ip2k.c: Likewise.
2791         * elf32-m68k.c: Likewise.
2792         * elf32-mcore.c: Likewise.
2793         * elf32-ppc.c: Likewise.
2794         * elf32-s390.c: Likewise.
2795         * elf32-vax.c: Likewise.
2796         * elf64-ppc.c: Likewise.
2797         * elf64-s390.c: Likewise.
2798         * elf64-x86-64.c: Likewise.
2799         * elfxx-ia64.c: Likewise.
2800         * elf32-avr.c (USE_REL): Don't undef.
2801         * elf32-ip2k.c: Likewise.
2802
2803 2002-07-23  Nick Clifton  <nickc@redhat.com>
2804
2805         * elf-bfd.h (struct elf_backend_data): Add new bitfield
2806         'want_p_paddr_set_to_zero'.
2807         * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
2808         to false;
2809         * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
2810         * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
2811
2812 2002-07-23  Gabor Keresztfalvi  <keresztg@mail.com>
2813
2814         * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
2815         the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
2816         show the Copyright string.
2817         Minor formatting tidy ups.
2818
2819 2002-07-23  Nick Clifton  <nickc@redhat.com>
2820
2821         * po/fr.po: Updated French translation.
2822         * po/sv.po: Updated Swedish translation.
2823
2824 2002-07-23  Alan Modra  <amodra@bigpond.net.au>
2825
2826         * elflink.h (elf_link_input_bfd): Don't change internal symbols
2827         when outputting relocs.
2828
2829 2002-07-20  Jason Thorpe  <thorpej@wasabisystems.com>
2830
2831         * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
2832         DT_PLTGOT into the dynamic section if there is a PLT.
2833
2834 2002-07-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2835
2836         * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
2837         elf32-mips.c.
2838         (_bfd_mips_elf_write_section): Likewise.
2839         * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
2840         (_bfd_mips_elf_write_section): Likewise.
2841         * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
2842         (elf32_mips_write_section): Likewise.
2843         * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
2844         (_bfd_mips_elf_write_section): Likewise.
2845
2846 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
2847
2848         * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
2849         PT_IA_64_UNWIND segments for a given section.
2850
2851 2002-07-17  H.J. Lu <hjl@gnu.org>
2852
2853         * Makefile.am: Fix a typo.
2854         * Makefile.in: Regenerate.
2855
2856 2002-07-15  Denis Chertykov  <denisc@overta.ru>
2857             Frank Ch. Eigler  <fche@redhat.com>
2858             Ben Elliston  <bje@redhat.com>
2859             Alan Lehotsky  <alehotsky@cygnus.com>
2860             John Healy  <jhealy@redhat.com>
2861             Graham Stott  <grahams@redhat.com>
2862             Jeff Johnston  <jjohnstn@redhat.com>
2863
2864         * Makefile.am: Add support for ip2k.
2865         * Makefile.in: Regenerate.
2866         * doc/Makefile.in: Regenerate.
2867         * archures.c: Add support for ip2k.
2868         * config.bfd: Add support for ip2k.
2869         * configure.in: Add support for ip2k.
2870         * configure: Regenerate.
2871         * reloc.c: Add support for ip2k.
2872         * targets.c: Add support for ip2k.
2873         * bfd-in2.h: Regenerate.
2874         * libbfd.h: Regenerate.
2875         * cpu-ip2k.c: New file.
2876         * elf32-ip2k.c: New file.
2877
2878 2002-07-17  Ian Rickards  <irickard@arm.com>
2879
2880         * dwarf2.c (concat_filename): If we can't establish the directory
2881         just return the filename.
2882
2883 2002-07-16  Moritz Jodeit  <moritz@jodeit.org>
2884
2885         * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
2886
2887 2002-07-16  Alan Modra  <amodra@bigpond.net.au>
2888
2889         * elflink.h: Formatting fixes, tidy prototypes.
2890         (elf_link_assign_sym_version): Move common code out of loop.
2891
2892 2002-07-16  Alan Modra  <amodra@bigpond.net.au>
2893
2894         * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
2895         reloc section size is zero.  Correct reloc output location.
2896
2897 2002-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2898
2899         * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
2900         the final type for the e_fsel selector when generating PA2.0W code.
2901         (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
2902         relocations.
2903
2904 2002-07-14  H.J. Lu <hjl@gnu.org>
2905
2906         * elflink.h (elf_link_assign_sym_version): Hide the default
2907         definition if there is a hidden versioned definition.
2908
2909 2002-07-12  Hans-Peter Nilsson  <hp@axis.com>
2910
2911         * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
2912         dynamic reference test in assertion when initializing GOT with
2913         static contents.  Just assert that there are either no dynamic
2914         sections, the symbol is defined in the regular objects or that the
2915         symbol is undef weak.  Tweak comment.
2916         (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
2917         only if the symbol isn't defined in the program and isn't undef
2918         weak.
2919         (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
2920         rid of PLT entry: only do it if the symbol isn't defined in a DSO.
2921         When doing so, clear ELF_LINK_HASH_NEEDS_PLT.  Tweak comments.
2922         (elf_cris_discard_excess_program_dynamics): Don't consider
2923         ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
2924
2925 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
2926
2927         * elf32-i386.c (elf_i386_relocate_section): Don't complain about
2928         unresolved debugging relocs in dynamic applications.
2929         * elf32-s390.c (elf_s390_relocate_section): Likewise.
2930         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
2931         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2932         * elf64-s390.c (elf_s390_relocate_section): Likewise.
2933         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
2934         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2935
2936 2002-07-10  Alan Modra  <amodra@bigpond.net.au>
2937
2938         * elf64-ppc.c (ONES): Define.
2939         (ppc64_elf_howto_table): Use ONES here to avoid warnings.  Fill in
2940         missing src_mask fields.  Tweak R_PPC64_NONE, R_PPC64_COPY.  Fill
2941         in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
2942
2943         * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
2944         (ppc64_elf_set_private_flags): Delete.
2945         (ppc64_elf_section_from_shdr): Delete.
2946         (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
2947         (ppc64_elf_fake_sections): Delete.
2948         (bfd_elf64_bfd_set_private_flags): Don't define.
2949         (bfd_elf64_get_symbol_info): Likewise.
2950         (elf_backend_section_from_shdr): Likewise.
2951         (elf_backend_fake_sections): Likewise.
2952
2953 2002-07-10  Marco Walther  <Marco.Walther@sun.com>
2954
2955         * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
2956         when not already set.
2957         * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
2958         (elf_backend_fake_sections): Define.
2959
2960 2002-07-10  Alan Modra  <amodra@bigpond.net.au>
2961
2962         * merge.c (_bfd_merge_section): Remove redundant output_section check.
2963         Formatting.
2964         (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
2965
2966 2002-07-09  Hans-Peter Nilsson  <hp@axis.com>
2967
2968         * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
2969         NULL sym_hashes to just before use.
2970         <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
2971         symbol with non-default visibility.
2972         <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
2973         <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
2974         Ditto.
2975         (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
2976         symbol with non-default visibility.
2977         (cris_elf_check_relocs): At tests for local symbol before
2978         increasing h->plt.refcount, also check for non-default
2979         visibility.  Ditto when checking for local symbol to eliminate
2980         pc-relative runtime relocs.
2981
2982 2002-07-08  Alan Modra  <amodra@bigpond.net.au>
2983
2984         * elf.c: Formatting.
2985         (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
2986         (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
2987         (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
2988         segments.
2989
2990 2002-07-07  Mark Mitchell  <mark@codesourcery.com>
2991             Alan Modra  <amodra@bigpond.net.au>
2992
2993         * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
2994         account the impact of relocation count overflow when computing
2995         section offsets.
2996         * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
2997         or not to apply the PE COFF reloc overflow handling.  Fix a
2998         fencepost error in deciding whether or not to use that technique.
2999
3000 2002-07-07  Alan Modra  <amodra@bigpond.net.au>
3001
3002         * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
3003         change type of locsyms.
3004         (bfd_elf_get_elf_syms): Declare.
3005         * elf.c (bfd_elf_get_elf_syms): New function.
3006         (group_signature): Use bfd_elf_get_elf_syms.
3007         (bfd_section_from_r_symndx): Likewise.
3008         * elfcode.h (elf_slurp_symbol_table): Likewise.
3009         * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
3010         (elf_link_add_object_symbols): Likewise.  Reorganise to increase
3011         locality of various data structures.  Properly free internal relocs.
3012         (elf_bfd_final_link): Properly free internal relocs.
3013         (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
3014         (elf_link_input_bfd): Likewise.
3015         (elf_gc_mark): Likewise.  Properly free internal relocs.
3016         (elf_gc_sweep): Properly free internal relocs.
3017         (elf_reloc_symbol_deleted_p): No need to swap syms in.
3018         (elf_bfd_discard_info): Use bfd_elf_get_elf_syms.  Properly free
3019         internal relocs.
3020         * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
3021         Properly free possibly cached info.
3022         (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
3023         (mn10200_elf_symbol_address_p): Pass in internal syms.  Remove
3024         symbol swapping code.
3025         (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
3026         Properly free possibly cached info.
3027         * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
3028         (mn10300_elf_relax_delete_bytes): Likewise.
3029         (mn10300_elf_symbol_address_p): Likewise.
3030         (mn10300_elf_get_relocated_section_contents): Likewise.
3031         * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
3032         (elf32_h8_relax_delete_bytes): Likewise.
3033         (elf32_h8_symbol_address_p): Likewise.
3034         (elf32_h8_get_relocated_section_contents): Likewise.
3035         * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
3036         (m32r_elf_relax_delete_bytes): Likewise.
3037         (m32r_elf_get_relocated_section_contents): Likewise.
3038         * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
3039         elf_section_data to determine whether cached.
3040         (sh_elf_relax_section): As above for elf-m10200.c.
3041         (sh_elf_relax_delete_bytes): Likewise.
3042         (sh_elf_get_relocated_section_contents): Likewise.
3043         * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
3044         * elf64-alpha.c (elf64_alpha_relax_section): As above.  Also delay
3045         reading of local syms.
3046         * elf64-mmix.c (mmix_elf_relax_section): Likewise.
3047         * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
3048         * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
3049         * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
3050         relocs.
3051         * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
3052         free internal relocs and section contents.  Don't read symbols.
3053         * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
3054         (elf32_hppa_size_stubs): Don't free local syms.
3055         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
3056         reading of local syms.  Use bfd_elf_get_elf_syms.  Properly free
3057         possibly cached info.
3058         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
3059         * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
3060         * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
3061         all_local_syms.
3062         (get_local_syms): Delete function.
3063         (edit_opd): Use bfd_elf_get_elf_syms.  Free on error exit.  Cache
3064         on exit.
3065         (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms.  Free/cache on exit.
3066
3067 2002-07-05  Jim Wilson  <wilson@redhat.com>
3068
3069         * syms.c (decode_section_type): New.
3070         (bfd_decode_symclass): Call decode_section_type.
3071
3072 2002-07-04  Jakub Jelinek  <jakub@redhat.com>
3073
3074         * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
3075         section content start.
3076         Reported by Michael Schumacher <mike@hightec-rt.com>.
3077
3078 2002-07-04  Alan Modra  <amodra@bigpond.net.au>
3079
3080         * section.c (_bfd_strip_section_from_output):  Remove unnecessary
3081         link order code.  Don't actually remove the output section here;
3082         Just set a flag for the linker to do so.
3083         * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
3084         sections when setting up output section dynsyms.
3085
3086 2002-07-04  Alan Modra  <amodra@bigpond.net.au>
3087
3088         * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
3089         fudge.
3090         * elf.c (bfd_section_from_shdr): Work around broken hpux shared
3091         libs here instead.
3092
3093 2002-07-02  Martin Schwidefsky  <schwidefsky@de.ibm.com>
3094
3095         * elf64-s390.c (create_got_section): Set .got section alignment to
3096         8 bytes.
3097         (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
3098
3099 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
3100
3101         * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
3102
3103 2002-07-01  Matt Thomas  <matt@3am-software.com>
3104
3105         * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
3106         to EF_VAX_*.
3107
3108 2002-07-01  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3109
3110         * elfxx-mips.c (ABI_64_P): Fix comment.
3111         (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
3112         new section names for N64 ABI.
3113         (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
3114         (mips_elf_calculate_relocation): Code formatting.
3115         (mips_elf_create_dynamic_relocation): Likewise.
3116         (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
3117         (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
3118         (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
3119         in any NewABI.
3120         (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
3121         for NewABI.
3122         (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
3123         (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
3124         here, too.
3125
3126 2002-07-01  Andreas Schwab  <schwab@suse.de>
3127
3128         * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
3129         R_X86_64_64 to R_X86_64_RELATIVE.
3130
3131 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3132
3133         * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
3134         * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
3135         Run "make dep-am".
3136         * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
3137         host_aout_vec.
3138         * configure.in (vaxbsd_vec): Add.
3139         * targets.c (vaxbsd_vec): Add.
3140         * Makefile.in: Rebuild.
3141         * configure: Rebuild.
3142         * po/SRC-POTFILES.in: Rebuild.
3143
3144 2002-07-01  Alan Modra  <amodra@bigpond.net.au>
3145
3146         * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
3147         examining to gc_mark_hook, rather than the bfd.
3148         (elf_gc_sections): Adjust.
3149         * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
3150         * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
3151         * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
3152         * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
3153         * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
3154         * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
3155         * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
3156         * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
3157         * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
3158         * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
3159         * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
3160         * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
3161         * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
3162         * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
3163         * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
3164         * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
3165         * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
3166         * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
3167         * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
3168         * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
3169         * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
3170         * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
3171         * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
3172         * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
3173         * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
3174         * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
3175         * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
3176         * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise.  Also remove
3177         redundant local sym tests.
3178         * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
3179         (link_hash_newfunc): Init is_entry.
3180         (ppc64_elf_copy_indirect_symbol): Copy is_entry.
3181         (ppc64_elf_link_hash_table_create): Init all_local_syms.
3182         (create_linkage_sections): Use bfd_make_section_anyway rather than
3183         bfd_make_section.
3184         (ppc64_elf_mark_entry_syms): New function.
3185         (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab.  Set
3186         up opd entry to function section map.
3187         (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
3188         relocs that reference the opd section.
3189         (edit_opd): New function.
3190         (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
3191         (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
3192         (get_local_syms): Do so here.  Exit if we already have local syms.
3193         Remove bogus comment imported from elf32-hppa.c.  Don't attempt to
3194         read local syms on non-ELF input.
3195         (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
3196         than duplicating it's function here.  Adjust free of internal
3197         relocs to suit.
3198         (ppc64_elf_relocate_section): Adjust local syms in opd section.
3199         * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
3200         * elf32-hppa.c (elf32_hppa_size_stubs): Call
3201         _bfd_elf32_link_read_relocs rather than duplicating it's function
3202         here.  Adjust free of internal relocs to suit.
3203
3204 2002-07-01  Andreas Jaeger  <aj@suse.de>
3205
3206         * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
3207         are not allowed in shared libs code, enforce -fPIC.
3208
3209 2002-06-29  Hans-Peter Nilsson  <hp@bitrange.com>
3210
3211         * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
3212         trailing zero-sequences when there's previous left-over data.
3213
3214 2002-06-27  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3215
3216         * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
3217         (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
3218         and opd_rel_sec in order for starting rela section.  Check _raw_size.
3219         (elf_backend_reloc_type_class): Define.
3220
3221 2002-06-27  Kevin Buettner <kevinb@redhat.com>
3222
3223         * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
3224         DWARF2 formats.
3225
3226 2002-06-27  Alan Modra  <amodra@bigpond.net.au>
3227
3228         * cpu-powerpc.c: Comment on ordering of arch_info.
3229         * elf32-ppc.c (ppc_elf_object_p): New function.
3230         (elf_backend_object_p): Define.
3231         * elf64-ppc.c (ppc64_elf_object_p): New function.
3232         (elf_backend_object_p): Define.
3233
3234 2002-06-26  Jason Thorpe  <thorpej@wasabisystems.com>
3235
3236         * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
3237         * configure: Regenerate.
3238
3239 2002-06-25  Jason Eckhardt  <jle@rice.edu>
3240
3241         * dwarf2.c (decode_line_info): Check unit->addr_size
3242         to read in the proper number of prologue bytes.
3243
3244 2002-06-25  Nick Clifton  <nickc@cambridge.redhat.com>
3245
3246         * config.bfd (powerpc-*-aix5*): Only create a selvecs for
3247         aix5coff64_vec if 64-bit bfd support has been enabled.
3248         (powerpc64-*-aix5*): Only define if 64-bit bfd support has
3249         been enabled.
3250
3251         * targets.c (_bfd_target_vector[]): Only include
3252         aix5coff64_vec if 64-bit bfd support has been enabled.
3253
3254 2002-06-25  Alan Modra  <amodra@bigpond.net.au>
3255
3256         * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
3257         * elf32-hppa.c (hppa_add_stub): Likewise.
3258         * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
3259         * elflink.h (elf_add_default_symbol): Fix comment typo.
3260         (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
3261         (elf_link_add_object_symbols): Likewise.
3262         (elf_link_assign_sym_version): Likewise.
3263         * hash.c (bfd_hash_lookup): Likewise.
3264         * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
3265         * section.c (bfd_get_unique_section_name): Likewise.
3266         * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
3267         * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
3268         (assign_section_numbers): Likewise.
3269         (_bfd_elfcore_make_pseudosection): Likewise.
3270         (elfcore_grok_lwpstatus): Likewise.
3271         (elfcore_grok_win32pstatus): Likewise.
3272         (elfcore_write_note): Constify input params.  Use PTR instead of
3273         void *.  Include terminating NUL in namesz.  Correct padding.
3274         Support NULL "name" param.  Use memcpy instead of strcpy.
3275         (elfcore_write_prpsinfo): Constify input params.
3276         (elfcore_write_prstatus): Likewise.  Use PTR instead of void *.
3277         (elfcore_write_lwpstatus): Likewise.
3278         (elfcore_write_pstatus): Likewise.
3279         (elfcore_write_prfpreg): Likewise.
3280         (elfcore_write_prxfpreg): Likewise.
3281         * elf-bfd.h (elfcore_write_note): Update declaration.
3282         (elfcore_write_prpsinfo): Likewise.
3283         (elfcore_write_prstatus): Likewise.
3284         (elfcore_write_pstatus): Likewise.
3285         (elfcore_write_prfpreg): Likewise.
3286         (elfcore_write_prxfpreg): Likewise.
3287         (elfcore_write_lwpstatus): Likewise.
3288
3289 2002-06-25  Jason Eckhardt  <jle@rice.edu>
3290
3291         * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
3292         symbols of type stProc and stStaticProc.
3293
3294 2002-06-25  Nick Clifton  <nickc@redhat.com>
3295
3296         * ecoff.c: VArious formatting fixes.
3297
3298 2002-06-25  Alan Modra  <amodra@bigpond.net.au>
3299
3300         * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
3301
3302 2002-06-25  Alan Modra  <amodra@bigpond.net.au>
3303
3304         * aout-adobe.c: Don't compare against "true" or "false.
3305         * aout-target.h: Likewise.
3306         * aoutx.h: Likewise.
3307         * archive.c: Likewise.
3308         * bout.c: Likewise.
3309         * cache.c: Likewise.
3310         * coff-a29k.c: Likewise.
3311         * coff-alpha.c: Likewise.
3312         * coff-i386.c: Likewise.
3313         * coff-mips.c: Likewise.
3314         * coff-or32.c: Likewise.
3315         * coff64-rs6000.c: Likewise.
3316         * coffcode.h: Likewise.
3317         * coffgen.c: Likewise.
3318         * cpu-ns32k.c: Likewise.
3319         * ecoff.c: Likewise.
3320         * ecofflink.c: Likewise.
3321         * elf.c: Likewise.
3322         * elf32-arm.h: Likewise.
3323         * elf32-cris.c: Likewise.
3324         * elf32-d30v.c: Likewise.
3325         * elf32-i386.c: Likewise.
3326         * elf32-mcore.c: Likewise.
3327         * elf32-ppc.c: Likewise.
3328         * elf32-sh.c: Likewise.
3329         * elf32-sh64.c: Likewise.
3330         * elf32-v850.c: Likewise.
3331         * elf64-alpha.c: Likewise.
3332         * elf64-sh64.c: Likewise.
3333         * elfcode.h: Likewise.
3334         * elfcore.h: Likewise.
3335         * elflink.h: Likewise.
3336         * elfxx-mips.c: Likewise.
3337         * i386os9k.c: Likewise.
3338         * ieee.c: Likewise.
3339         * libbfd.c: Likewise.
3340         * linker.c: Likewise.
3341         * mmo.c: Likewise.
3342         * nlm32-alpha.c: Likewise.
3343         * nlm32-i386.c: Likewise.
3344         * nlm32-ppc.c: Likewise.
3345         * nlm32-sparc.c: Likewise.
3346         * nlmcode.h: Likewise.
3347         * oasys.c: Likewise.
3348         * pdp11.c: Likewise.
3349         * peicode.h: Likewise.
3350         * reloc.c: Likewise.
3351         * som.c: Likewise.
3352         * srec.c: Likewise.
3353         * tekhex.c: Likewise.
3354         * vms.c: Likewise.
3355         * xcofflink.c: Likewise.
3356         * elf64-sparc.c: Edit comment to not use "== false".
3357
3358         * aoutf1.h: Don't use "? true : false".
3359         * ecoff.c: Likewise.
3360         * format.c: Likewise.
3361         * ieee.c: Likewise.
3362         * linker.c: Likewise.
3363         * mmo.c: Likewise.
3364         * oasys.c: Likewise.
3365
3366 2002-06-23  H.J. Lu  <hjl@gnu.org>
3367
3368         * elflink.h (elf_link_add_archive_symbols): For the default
3369         version, check references with only one `@' first.
3370
3371 2002-06-23  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3372
3373         * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
3374         function.
3375         (allocate_global_data_dlt):  Don't add millicode symbols to dynamic
3376         symbol table.
3377         (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
3378         (elf64_hppa_size_dynamic_sections): Revise to use
3379         elf64_hppa_mark_milli_and_exported_functions.
3380         (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
3381         symbols out of dynamic symbol table.
3382
3383 2002-06-23  Alan Modra  <amodra@bigpond.net.au>
3384
3385         * Makefile.in: Regenerate.
3386         * libbfd.h: Regenerate.
3387         * bfd-in2.h: Regenerate.
3388         * configure: Regenerate.
3389         * po/SRC-POTFILES.in: Regenerate.
3390
3391         * elflink.h: Comment typo fixes.
3392
3393 2002-06-23  H.J. Lu  <hjl@gnu.org>
3394
3395         * elf-bfd.h (elf_link_loaded_list): New structure.
3396         (elf_link_hash_table): Add "loaded".
3397         * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
3398         * elflink.h (elf_link_check_versioned_symbol): New function.
3399         (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
3400
3401 2002-06-19  Nick Clifton  <nickc@cambridge.redhat.com>
3402
3403         * elflink.h (size_dynamic_sections): If the target does not
3404         support an ELF style hash table, return true, indicating that
3405         nothing needed to be done, rather than false, indicating that the
3406         section's size could not be computed.
3407
3408 2002-06-18  Dave Brolley  <brolley@redhat.com>
3409
3410         From Catherine Moore, Michael Meissner, Dave Brolley:
3411         * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
3412         * targets.c: Support bfd_elf32_frv_vec.
3413         * reloc.c: Add FRV relocs.
3414         * configure.in: Add support for bfd-elf32-frv-vec.
3415         * config.bfd (targ_cpu): Add support for frv-*-elf.
3416         * archures.c: Add frv arch and machines.
3417         * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
3418         (ALL_MACHINES_CFILES): Add cpu-frv.c.
3419         (BFD32_BACKENDS): Add elf32-frv.lo.
3420         (BFD32_BACKENDS_CFILES): Add elf32-frv.c
3421         (cpu-frv.lo): New target.
3422         (elf32-frv.lo): New target.
3423         * cpu-frv.c: New file.
3424         * elf32-frv.c: New file.
3425
3426 2002-06-18  Jakub Jelinek  <jakub@redhat.com>
3427
3428         * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
3429         e_shnum == 0.
3430         Only read the first section header if e_shoff is non-zero.
3431         Don't consider e_shstrndx if there are no sections.
3432
3433 2002-06-17  Tom Rix <trix@redhat.com>
3434
3435         * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
3436         R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
3437         complain_overflow_bitfield.
3438
3439 2002-06-17  Alan Modra  <amodra@bigpond.net.au>
3440
3441         * opncls.c (bfd_openr): Remove redundant bfd_set_error.
3442         (bfd_fdopenr): Likewise.
3443         (bfd_openstreamr): Likewise.
3444         (bfd_openw): Likewise.
3445
3446         * targets.c: Sort target vecs.
3447         (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
3448         bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
3449         bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
3450         bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
3451         * configure.in: Sort target vecs.  Add m88kmach3_vec.
3452         * configure: Regenerate.
3453
3454 2002-06-16  Hans-Peter Nilsson  <hp@bitrange.com>
3455
3456         * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
3457         bpo_reloc_no to break sort order ties, not address of items.
3458
3459 2002-06-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3460
3461         * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
3462         Skip excluded sections in determing __gp value.
3463         (elf_hppa_final_link_relocate): Use the symbol's address in
3464         R_PARISC_FPTR64 relocations that don't need an opd entry.
3465         * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
3466         (elf64_hppa_finalize_dynreloc): Likewise.
3467         (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
3468         (elf64_hppa_finish_dynamic_symbol): Break up assert.
3469
3470 2002-06-14  Sergey Grigoriev  <serge@leopold.Physik.Uni-Augsburg.DE>
3471
3472         * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
3473         alignment for .bss, .data and .text sections so that sse and sse2
3474         code will work.
3475         * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
3476
3477 2002-06013  J"orn Rennecke  <joern.rennecke@superh.com>
3478
3479         config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
3480         sh[1234]*-elf*.
3481
3482 2002-06-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3483
3484         * elflink.h (elf_bfd_final_link): Improve error handling for missing
3485         dynamic sections.
3486
3487         * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
3488         for a symbol that has no output section.
3489         (allocate_dynrel_entries): Correct comment.
3490         (elf64_hppa_finalize_dynreloc): Likewise.  Don't create an opd entry
3491         unless we want one.
3492         (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
3493         (elf64_hppa_finalize_dlt): Likewise.  Prevent segfault for symbols
3494         with no section.  Remove unnecessary parentheses.
3495
3496 2002-06-11  Tom Rix  <trix@redhat.com>
3497
3498         * coffcode.h (coff_compute_section_file_positions): Add data
3499         section to AIX loader alignment check.
3500
3501         * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
3502         alignment to 4 bytes.
3503         (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
3504         power accessor macro.
3505         (do_shared_object_padding): Remove invalid assertion.
3506
3507 2002-06-10  Richard Sandiford  <rsandifo@redhat.com>
3508
3509         * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
3510         for removed output sections.
3511
3512 2002-06-10  Geoffrey Keating  <geoffk@redhat.com>
3513
3514         * merge.c (merge_strings): Use htab_create_alloc with calloc, not
3515         htab_alloc.
3516         * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
3517
3518 2002-06-08  H.J. Lu <hjl@gnu.org>
3519
3520         * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
3521         work around a long long bug in gcc 2.96 on mips.
3522
3523 2002-06-08  Jason Thorpe  <thorpej@wasabisystems.com>
3524
3525         * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
3526         (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
3527         Regenerate dependency lists.
3528         * Makefile.in: Regenerate.
3529         * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
3530         vax1knetbsd_vec to targ_selvecs.
3531         * configure.in: Add vax1knetbsd_vec.
3532         * configure: Regenerate.
3533         * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
3534         * vax1knetbsd.c: New file.
3535         * vaxnetbsd.c: Update copyright years.
3536         (TARGET_PAGE_SIZE): Set to 0x1000.
3537         (DEFAULT_MID): Set to M_VAX4K_NETBSD.
3538
3539 2002-06-08  Matt Thomas  <matt@3am-software.com>
3540
3541         * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
3542
3543 2002-06-08  Alan Modra  <amodra@bigpond.net.au>
3544
3545         * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
3546
3547 2002-06-08  Alan Modra  <amodra@bigpond.net.au>
3548
3549         * Makefile.am: Run "make dep-am".
3550         * Makefile.in: Regenerate.
3551
3552         * armnetbsd.c: Replace CONST with const.
3553         * corefile.c: Likewise.
3554         * elf32-dlx.c: Likewise.
3555         * elf64-mips.c: Likewise.
3556         * mmo.c: Likewise.
3557         * ns32knetbsd.c: Likewise.
3558
3559         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
3560         table is elf64-sparc.
3561
3562 2002-06-08  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3563
3564         * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
3565         Fix RELA addends to get not shifted in the result. Don't do special
3566         handling of R_MIPS_64 for NewABI.
3567
3568 2002-06-07  Alan Modra  <amodra@bigpond.net.au>
3569
3570         * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
3571         (NAME(aout,slurp_reloc_table)): Likewise.
3572         * coff-mips.c (mips_relax_section): Use bfd_zalloc.
3573         * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
3574         (xcoff_write_archive_contents_big): Likewise.
3575         (xcoff_generate_rtinit): Likewise.
3576         (xcoff_generate_rtinit): Likewise, and check error return.
3577         * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
3578         * coffgen.c (coff_section_symbol): Use bfd_zalloc.
3579         (coff_get_normalized_symtab): Likewise.
3580         (coff_make_empty_symbol): Likewise.
3581         (bfd_coff_set_symbol_class): Likewise.
3582         * cofflink.c (coff_link_add_symbols): Likewise.
3583         * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
3584         * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
3585         (bfd_ecoff_write_accumulated_debug): Likewise.
3586         * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
3587         * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
3588         * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
3589         * ieee.c (do_with_relocs): Use bfd_zalloc.
3590         * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
3591         * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
3592         (NAME(aout,slurp_reloc_table)): Likewise.
3593         (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
3594         * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
3595         * som.c (som_build_and_write_symbol_table): Likewise.
3596         (som_slurp_string_table): Likewise.
3597         (som_slurp_symbol_table): Likewise.
3598         (som_bfd_ar_write_symbol_stuff): Likewise.
3599         * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
3600         * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
3601         * tekhex.c (find_chunk): Likewise.  Get rid of unused "sname".
3602         * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
3603         * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
3604
3605 2002-06-07  Alan Modra  <amodra@bigpond.net.au>
3606
3607         * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
3608         "group" union.
3609         (elf_group_name): Update.
3610         (elf_group_id): Define.
3611         (bfd_elf_set_group_contents): Declare.
3612         * elf.c (elf_fake_sections): Qualify use of elf_group_name.
3613         (set_group_contents): Rename to bfd_elf_set_group_contents.  Remove
3614         ATTRIBUTE_UNUSED from failedptrarg.  If elf_group_id is set, use
3615         that sym for the signature.
3616         (_bfd_elf_compute_section_file_positions): Don't call
3617         set_group_contents for "ld -r" case.
3618         (swap_out_syms): Use bfd_zalloc.
3619         * elflink.h (elf_link_add_archive_symbols): Likewise.
3620         (NAME(bfd_elf,size_dynamic_sections)): Likewise.
3621         (elf_bfd_final_link): Call bfd_elf_set_group_contents.
3622
3623 2002-06-07  Alan Modra  <amodra@bigpond.net.au>
3624
3625         * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
3626         relocs in opd for non-shared too.
3627
3628 2002-06-06  Jeffrey Law  <law@redhat.com>
3629
3630         * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
3631         relocations.
3632
3633 2002-06-06  Nick Clifton  <nickc@cambridge.redhat.com>
3634
3635         * merge.c: Include libiberty.h.
3636         * elf-strtab.c: Include libiberty.h.
3637
3638 2002-06-06  Elias Athanasopoulos  <eathan@otenet.gr>
3639
3640         * peXXigen.c (pe_print_idata): Remove unused variable.
3641
3642 2002-06-06  David Heine <dlheine@tensilica.com>
3643
3644         * elf.c (assign_file_positions_for_segments): Remove unallocated
3645         sections from the section to segment mapping for PT_LOAD segments.
3646         Update comment about empty loadable segments.
3647
3648 2002-06-06  Richard Sandiford  <rsandifo@redhat.com>
3649
3650         * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
3651         is within the .stabstr section.
3652
3653 2002-06-06  Alan Modra  <amodra@bigpond.net.au>
3654
3655         * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
3656         are "const PTR", not "const PTR *".
3657         (bfd_elf32_swap_symbol_in): Likewise.
3658         (bfd_elf64_swap_symbol_in): Likewise.
3659         * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
3660         (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
3661         * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
3662         (elf_link_add_object_symbols): Likewise.
3663         (elf_link_record_local_dynamic_symbol): Likewise.
3664         (elf_link_input_bfd): Likewise.
3665         (elf_gc_mark): Likewise.
3666         (elf_reloc_symbol_deleted_p): Likewise.
3667         * elf-m10200.c (mn10200_elf_relax_section): Likewise.
3668         (mn10200_elf_relax_delete_bytes): Likewise.
3669         (mn10200_elf_symbol_address_p): Likewise.
3670         (mn10200_elf_get_relocated_section_contents): Likewise.
3671         * elf-m10300.c (mn10300_elf_relax_section): Likewise.
3672         (mn10300_elf_relax_section): Likewise.
3673         (mn10300_elf_relax_delete_bytes): Likewise.
3674         (mn10300_elf_symbol_address_p): Likewise.
3675         (mn10300_elf_get_relocated_section_contents): Likewise.
3676         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
3677         (elf32_h8_relax_delete_bytes): Likewise.
3678         (elf32_h8_symbol_address_p): Likewise.
3679         (elf32_h8_get_relocated_section_contents): Likewise.
3680         * elf32-hppa.c (get_local_syms): Likewise.
3681         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
3682         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
3683         * elf32-sh.c (sh_elf_relax_section): Likewise.
3684         (sh_elf_relax_delete_bytes): Likewise.
3685         (sh_elf_get_relocated_section_contents): Likewise.
3686         * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
3687         * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
3688         * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
3689         * elf64-mmix.c (mmix_elf_relax_section): Likewise.
3690         * elf64-ppc.c (get_local_syms): Likewise.
3691         * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
3692         * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
3693
3694 2002-06-05  J"orn Rennecke <joern.rennecke@superh.com>
3695
3696         * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
3697
3698 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
3699
3700         * elf.c (group_signature): Swap in the whole symbol, and handle
3701         extracting section symbol names.
3702         (setup_group): Add comment.
3703         (set_group_contents): When called from objcopy or ld, arrange for
3704         section contents to be written.  Write group member output section
3705         indices to allow objcopy to reorganize sections.
3706         (_bfd_elf_copy_private_section_data): Copy group info.
3707
3708         * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
3709         (bfd_elf32_swap_symbol_in): Update prototype.
3710         (bfd_elf64_swap_symbol_in): Likewise.
3711         * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
3712         (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
3713         * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
3714         (elf_link_add_object_symbols): Likewise.
3715         (elf_link_record_local_dynamic_symbol): Likewise.
3716         (elf_link_input_bfd): Likewise.
3717         (elf_gc_mark): Likewise.
3718         (elf_reloc_symbol_deleted_p): Likewise.
3719         * elf-m10200.c (mn10200_elf_relax_section): Likewise.
3720         (mn10200_elf_relax_delete_bytes): Likewise.
3721         (mn10200_elf_symbol_address_p): Likewise.
3722         (mn10200_elf_get_relocated_section_contents): Likewise.
3723         * elf-m10300.c (mn10300_elf_relax_section): Likewise.
3724         (mn10300_elf_relax_section): Likewise.
3725         (mn10300_elf_relax_delete_bytes): Likewise.
3726         (mn10300_elf_symbol_address_p): Likewise.
3727         (mn10300_elf_get_relocated_section_contents): Likewise.
3728         * elf32-h8300.c (elf32_h8_relax_section): Likewise.
3729         (elf32_h8_relax_delete_bytes): Likewise.
3730         (elf32_h8_symbol_address_p): Likewise.
3731         (elf32_h8_get_relocated_section_contents): Likewise.
3732         * elf32-hppa.c (get_local_syms): Likewise.
3733         * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
3734         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
3735         * elf32-sh.c (sh_elf_relax_section): Likewise.
3736         (sh_elf_relax_delete_bytes): Likewise.
3737         (sh_elf_get_relocated_section_contents): Likewise.
3738         * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
3739         * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
3740         * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
3741         * elf64-mmix.c (mmix_elf_relax_section): Likewise.
3742         * elf64-ppc.c (get_local_syms): Likewise.
3743         * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
3744         * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
3745         * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
3746         * elf64-alpha.c (alpha_elf_size_info): Likewise.
3747         * elf64-hppa.c (hppa64_elf_size_info): Likewise.
3748         * elf64-mips.c (mips_elf64_size_info): Likewise.
3749         * elf64-s390.c (s390_elf64_size_info): Likewise.
3750         * elf64-sparc.c (sparc64_elf_size_info): Likewise.
3751
3752 2002-06-05  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
3753
3754         * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
3755         elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
3756         elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
3757         _bfd_mips_elf_ignore_discarded_relocs.
3758         elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
3759
3760 2002-06-05  H.J. Lu <hjl@gnu.org>
3761
3762         * elfxx-mips.c (mips_elf_calculate_relocation): Call
3763         _bfd_elf_rel_local_sym for STT_SECTION relocations against
3764         the SEC_MERGE section.
3765
3766 2002-06-05  Alan Modra  <amodra@bigpond.net.au>
3767
3768         * coff-alpha.c: Update copyright date.
3769         * coff-mips.c: Likewise.
3770         * xcoff-target.h: Likewise.
3771
3772         * bfd-in.h: Remove "taken from the source" comment.
3773         * libbfd-in.h: Likewise.
3774         * libcoff-in.h: Likewise.
3775         * bfd-in2.h: Regenerate.
3776         * libbfd.h: Regenerate.
3777         * libcoff.h: Regenerate.
3778
3779         * elf.c (bfd_elf_discard_group): Return true.
3780         * elf-bfd.h (bfd_elf_discard_group): Declare.
3781         * bfd-in.h (bfd_elf_discard_group): Don't declare here.
3782         * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
3783         * bfd.c (bfd_discard_group): Define.
3784         * targets.c (struct bfd_target): Add _bfd_discard_group.
3785         (BFD_JUMP_TABLE_LINK): Here too.
3786         * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
3787         * aout-adobe.c (aout_32_bfd_discard_group): Define.
3788         * aout-target.h (MY_bfd_discard_group): Define.
3789         * aout-tic30.c (MY_bfd_discard_group): Define.
3790         * binary.c (binary_bfd_discard_group): Define.
3791         * bout.c (b_out_bfd_discard_group): Define.
3792         * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
3793         * coffcode.h (coff_bfd_discard_group): Define.
3794         * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
3795         * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
3796         * i386msdos.c (msdos_bfd_discard_group): Define.
3797         * i386os9k.c (os9k_bfd_discard_group): Define.
3798         * ieee.c (ieee_bfd_discard_group): Define.
3799         * ihex.c (ihex_bfd_discard_group): Define.
3800         * mmo.c (mmo_bfd_discard_group): Define.
3801         * nlm-target.h (nlm_bfd_discard_group): Define.
3802         * oasys.c (oasys_bfd_discard_group): Define.
3803         * ppcboot.c (ppcboot_bfd_discard_group): Define.
3804         * som.c (som_bfd_discard_group): Define.
3805         * srec.c (srec_bfd_discard_group): Define.
3806         * tekhex.c (tekhex_bfd_discard_group): Define.
3807         * versados.c (versados_bfd_discard_group): Define.
3808         * vms.c (vms_bfd_discard_group): Define.
3809         * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
3810         * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
3811         (aix5coff64_vec): Likewise.
3812         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
3813
3814 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
3815
3816         * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
3817         (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
3818         (elf32-sh64-com.lo): New dependency list.
3819         * Makefile.in: Regenerate.
3820         * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
3821         (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
3822         elf32-sh64-com.lo.
3823         * configure: Regenerate.
3824         * elf32-sh64.c (sh64_address_in_cranges)
3825         (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
3826         (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
3827         (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
3828         * elf32-sh64-com.c: ...here.  New file.
3829
3830 2002-06-04  Alan Modra  <amodra@bigpond.net.au>
3831
3832         * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
3833         ATTRIBUTE_UNUSED on used params.
3834         * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
3835         before calling bfd_section_from_elf_index on local syms.
3836         * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
3837
3838 2002-06-04  Jason Thorpe  <thorpej@wasabisystems.com>
3839
3840         * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
3841         (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
3842         (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
3843         (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
3844         (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
3845         * Makefile.in: Regenerate.
3846         * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
3847         (sh64-*-netbsd*): New targets.
3848         * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
3849         bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
3850         * configure: Regenerate.
3851         * elf32-sh64-nbsd.c: New file.
3852         * elf64-sh64-nbsd.c: New file.
3853         * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
3854         bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
3855         bfd_elf64_sh64lnbsd_vec.
3856
3857 2002-06-04  Alan Modra  <amodra@bigpond.net.au>
3858
3859         * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
3860         (bfd_section_from_shdr): Likewise.  Set section name of group
3861         sections from signature.
3862         (group_signature): Split out from setup_group.  Ensure symbol table
3863         is available.
3864         (bfd_elf_discard_group): New function.
3865         (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
3866         .gnu.linkonce* sections if they are members of a group.
3867         (set_group_contents): Set GRP_COMDAT flag.
3868         * section.c (bfd_discard_group): New function.
3869         * bfd-in.h (bfd_elf_discard_group): Declare.
3870         * bfd-in2.h: Regenerate.
3871         * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
3872         (elf_linkonce_p): Define.
3873
3874 2002-06-04  Alan Modra  <amodra@bigpond.net.au>
3875
3876         * elf.c (bfd_section_from_shdr): Make "name" const.
3877         * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
3878         * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
3879         * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
3880         * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
3881         * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
3882         * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
3883         * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
3884         * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
3885         * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
3886         * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
3887         * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
3888
3889 2002-06-03  Maciej W. Rozycki  <macro@ds2.pg.gda.pl>
3890
3891         * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
3892         ABI.
3893
3894 2002-06-02  Kazu Hirata  <kazu@cs.umass.edu>
3895
3896         * elf32-arc.c: Fix formatting.
3897         * elf32-arm.h: Likewise.
3898         * elf32-cris.c: Likewise.
3899         * elf32-dlx.c: Likewise.
3900         * elf32-hppa.c: Likewise.
3901         * elf32-i386.c: Likewise.
3902         * elf32-i386qnx.c: Likewise.
3903         * elf32-or32.c: Likewise.
3904         * elf32-s390.c: Likewise.
3905         * elf32-sh64.c: Likewise.
3906         * elf32-vax.c: Likewise.
3907         * elf32-xstormy16.c: Likewise.
3908         * elf64-alpha.c: Likewise.
3909         * elf64-mmix.c: Likewise.
3910         * elf64-ppc.c: Likewise.
3911         * elf64-s390.c: Likewise.
3912         * elf64-sh64.c: Likewise.
3913         * elf64-x86-64.c: Likewise.
3914
3915 2002-06-02  Richard Henderson  <rth@redhat.com>
3916
3917         * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
3918         null when there are no got entries for a symbol.
3919         (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
3920         uninitialized variable warning.
3921
3922 2002-06-01  Richard Henderson  <rth@redhat.com>
3923
3924         * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
3925         undefined symbols here.
3926         (elf64_alpha_relax_section): Do it here.  Also test for not
3927         defined in the current module.
3928         (elf64_alpha_relocate_section_r): Split out of ...
3929         (elf64_alpha_relocate_section): ... here.  Don't dereference
3930         NULL when looking up local got entries.
3931
3932 2002-06-01  Richard Henderson  <rth@redhat.com>
3933
3934         * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
3935         symbols from JSR relaxation.
3936         (elf64_alpha_size_plt_section_1): New.
3937         (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
3938         (elf64_alpha_size_rela_got_1): ... here.
3939         (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
3940         (elf64_alpha_size_rela_got_section): ... here.
3941         (elf64_alpha_size_plt_section): New.
3942         (elf64_alpha_relax_section): Call them.
3943         (elf64_alpha_size_got_sections): Remove output_bfd arg.
3944         (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
3945
3946 2002-06-01  Richard Henderson  <rth@redhat.com>
3947
3948         * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
3949         (elf64_alpha_relocate_section): Use them.  Reject LE TLS relocs
3950         in shared libraries.  Fix DTPRELHI and TPRELHI value.
3951         (INSN_ADDQ, INSN_RDUNIQ): New.
3952         (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
3953         (elf64_alpha_relax_with_lituse): Return boolean.  Remove irelend
3954         argument.  Reject dynamic symbols.  Use LITUSE symbolic constants.
3955         (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
3956         Handle GOTDTPREL and GOTTPREL relocations.
3957         (elf64_alpha_relax_gprelhilo): New.
3958         (elf64_alpha_relax_tls_get_addr): New.
3959         (elf64_alpha_relax_find_tls_segment): New.
3960         (elf64_alpha_relax_section): Handle TLS relocations.
3961         (ALPHA_ELF_LINK_HASH_TLS_IE): New.
3962         (elf64_alpha_check_relocs): Set it.
3963
3964 2002-06-01  Richard Henderson  <rth@redhat.com>
3965
3966         * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
3967
3968         * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
3969         check; don't suppress dynamic relocs for non-allocated sections.
3970
3971         * elf64-alpha.c: Remove dead code.
3972
3973 2002-05-31  Alan Modra  <amodra@bigpond.net.au>
3974
3975         * bfd-in2.h: Regenerate.
3976         * libbfd.h: Regenerate.
3977         * po/SRC-POTFILES.in: Regenerate.
3978
3979         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
3980         space for bss .plt.
3981
3982 2002-05-31  Graeme Peterson  <gp@qnx.com>
3983
3984         * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
3985         (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
3986         Run "make dep-am".
3987         * Makefile.in: Regenerate.
3988         * config.bfd: Add i[3456]86-*-nto-qnx* support.
3989         * configure.in: Add bfd_elf32_i386qnx_vec support.
3990         * configure: Regenerate.
3991         * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
3992         is_contained_by_filepos, and copy_private_bfd_data_p.
3993         * elf.c (assign_file_positions_for_segments): Call backend
3994         set_nonloadable_filepos.  Fix non-K&R call to _bfd_error_handler.
3995         (IS_CONTAINED_BY_FILEPOS): Define.
3996         (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
3997         (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS.  Typo fix.
3998         Fix non-K&R call to _bfd_error_handler.
3999         (_bfd_elf_copy_private_section_data): Use backend
4000         copy_private_bfd_data_p.
4001         * elf32-i386.c: Don't include elfxx-target.h when
4002         ELF32_I386_C_INCLUDED is defined.
4003         * elf32-i386qnx.c: New QNX elf backend file.
4004         * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
4005         elf_backend_is_contained_by_filepos, and
4006         elf_backend_do_copy_private_bfd_data.
4007         * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
4008
4009 2002-05-31  Alan Modra  <amodra@bigpond.net.au>
4010
4011         * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
4012         Move other similar defines to start of file.
4013
4014 2002-05-30  Tom Rix  <trix@redhat.com>
4015
4016         * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
4017         * coff64-rs6000.c (xcoff64_rtype2howto): Same.
4018
4019 2002-05-30  Richard Henderson  <rth@redhat.com>
4020
4021         * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
4022         ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
4023         (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
4024         (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
4025         (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
4026         (struct alpha_elf_obj_tdata): Rename total_got_entries and
4027         n_local_got_entries to total_got_size and local_got_size.
4028         (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
4029         (alpha_got_entry_size): New.
4030         (elf64_alpha_relax_with_lituse): Use it.
4031         (elf64_alpha_relax_without_lituse): Likewise.
4032         (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
4033         (get_got_entry): New.
4034         (elf64_alpha_check_relocs): Handle TLS relocs.  Reorganize.
4035         (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
4036         (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
4037         (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
4038         (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
4039         (elf64_alpha_calc_got_offsets): Likewise.
4040         (alpha_dynamic_entries_for_reloc): New.
4041         (elf64_alpha_calc_dynrel_sizes): Use it.
4042         (elf64_alpha_size_dynamic_sections): Likewise.
4043         (elf64_alpha_relocate_section): Handle TLS relocations.
4044         * reloc.c: Add Alpha TLS relocations.
4045         * bfd-in2.h, libbfd.h: Rebuild.
4046
4047 2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
4048
4049         * peXXigen.c (pe_print_idata): Remove double printed
4050         import table lines; add Bound-To comment.
4051
4052 2002-05-29  Matt Thomas  <matt@3am-software.com>
4053
4054         * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
4055         (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
4056         (elf32-vax.lo): New rule.
4057         * Makefile.in: Regenerate.
4058         * configure.in (bfd_elf32_vax_vec)
4059         (vaxnetbsd_vec): New vectors.
4060         * configure: Regenerate.
4061         * config.bfd (vax-*-netbsdelf*)
4062         (vax-*-netbsdaout*)
4063         (vax-*-netbsd*): New targets.
4064         * elf32-vax.c: New file.
4065         * reloc.c: Add VAX relocations.
4066         * bfd-in2.h: Regenerate.
4067         * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
4068
4069 2002-05-29  Jason Thorpe  <thorpej@wasabisystems.com>
4070
4071         * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
4072         and bfd_elf32_bigarm_vec to targ_selvecs.
4073
4074 2002-05-29  Ralf Habacker  <ralf.habacker@freenet.de>
4075
4076         * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
4077         with auto-imported symbols.
4078
4079 2002-05-29  Adam Nemet  <anemet@lnxw.com>
4080
4081         * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
4082         sections only record bfd.
4083         (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
4084         * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
4085         * bfd-in2.h: Regenerate.
4086
4087 2002-05-28  Nick Clifton  <nickc@cambridge.redhat.com>
4088
4089         * syms.c (_bfd_stab_section_find_nearest_line): Move
4090         declaration and initialisation of saw_line and saw_func out of
4091         for loop.
4092
4093 2002-05-29  Alan Modra  <amodra@bigpond.net.au>
4094
4095         * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
4096         (bfd_elf64_get_symbol_info): Define.
4097         * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
4098
4099 2002-05-29  Andrey Volkov  <avolkov@transas.com>
4100
4101         * cpu-h8300.c: Make default h8300 machine first in machine list.
4102
4103 2002-05-28  Kuang Hwa Lin <kuang@sbcglobal.net>
4104
4105         * config.bfd: Added DLX configuraton.
4106         * Makefile.am: Added DLX configuraton.
4107         * configure.in: Added DLX configuraton.
4108         * archures.c: Add DLX architecure.
4109         * reloc.c: Add DLX relocs.
4110         * targets.c: Added DLX target vector.
4111         * configure: Regenerate.
4112         * Makefile.in: Regenreate.
4113         * bfd-in2.h: Regenreate.
4114         * elf32-dlx.c: New file: Support DLX target.
4115         * cpu-dlx.c: New file: Support DLX target.
4116
4117 2002-05-25  Alan Modra  <amodra@bigpond.net.au>
4118
4119         * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
4120
4121         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
4122         (ppc64_elf_check_relocs): Don't set up function descriptor symbol
4123         strings to point inside function code sym string.
4124         (func_desc_adjust): Likewise.
4125         (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
4126
4127 2002-05-24  Michal Ludvig  <mludvig@suse.cz>
4128
4129         * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
4130         (elf64_x86_64_grok_psinfo): Added.
4131
4132 2002-05-24  TAMURA Kent <kent@netbsd.org>
4133
4134         * config.bfd: Add a target for i386-netbsdpe.
4135
4136 2002-05-24  Alan Modra  <amodra@bigpond.net.au>
4137
4138         * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
4139         and is_func_descriptor.
4140         (func_desc_adjust): Hide function code sym in shared libs unless
4141         there is a matching exported function descriptor sym.
4142
4143 2002-05-23  Jakub Jelinek  <jakub@redhat.com>
4144
4145         * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
4146         for symbols from SHF_TLS section.
4147         (_bfd_elf_print_private_bfd_data): Add PT_TLS.
4148         (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
4149         (map_sections_to_segments): Build PT_TLS segment if necessary.
4150         (assign_file_positions_for_segments): Likewise.
4151         (get_program_header_size): Account for PT_TLS segment.
4152         (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
4153         SEC_THREAD_LOCAL sections to STT_TLS.
4154         * reloc.c: Add 386 and IA-64 TLS relocs.
4155         * section.c (SEC_THREAD_LOCAL): Define.
4156         (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
4157         Remove.
4158         * elflink.h (elf_link_add_object_symbols): Support .tcommon.
4159         (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
4160         unconditionally.
4161         (struct elf_final_link_info): Add first_tls_sec.
4162         (elf_bfd_final_link): Set first_tls_sec.
4163         Compute elf_hash_table (info)->tls_segment.
4164         (elf_link_output_extsym): Handle STT_TLS symbols.
4165         (elf_link_input_bfd): Likewise.
4166         * syms.c (BSF_THREAD_LOCAL): Define.
4167         * bfd-in2.h: Rebuilt.
4168         * libbfd.h: Rebuilt.
4169         * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
4170         elf_i386_mkobject, elf_i386_object_p): New functions.
4171         (elf_howto_table): Add TLS relocs.
4172         (elf_i386_reloc_type_lookup): Support TLS relocs.
4173         (elf_i386_info_to_howto_rel): Likewise.
4174         (struct elf_i386_link_hash_entry): Add tls_type.
4175         (struct elf_i386_obj_tdata): New.
4176         (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
4177         New macros.
4178         (struct elf_i386_link_hash_table): Add tls_ldm_got.
4179         (link_hash_newfunc): Clear tls_type.
4180         (elf_i386_check_relocs): Support TLS relocs.
4181         (elf_i386_gc_sweep_hook): Likewise.
4182         (allocate_dynrelocs): Likewise.
4183         (elf_i386_size_dynamic_sections): Likewise.
4184         (elf_i386_relocate_section): Likewise.
4185         (elf_i386_finish_dynamic_symbol): Likewise.
4186         (bfd_elf32_mkobject, elf_backend_object_p): Define.
4187         * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
4188         dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
4189         want_tprel, want_dtpmod, want_dtprel.
4190         (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
4191         (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
4192         R_IA64_LTOFF_TPREL22.
4193         (elf_code_to_howto_index): Add TLS relocs.
4194         (elfNN_ia64_check_relocs): Support TLS relocs.
4195         (allocate_global_data_got): Account for TLS .got data.
4196         (allocate_dynrel_entries): Account for TLS dynamic relocations.
4197         (elfNN_ia64_install_value): Supprt TLS relocs.
4198         (set_got_entry): Support TLS relocs.
4199         (elfNN_ia64_relocate_section): Likewise.
4200
4201 2002-05-23  Nick Clifton  <nickc@cambridge.redhat.com>
4202
4203         * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
4204         BLX reloc round the relocation up rather than down.
4205         * coff-arm.c (coff_arm_relocate_section): Likewise.
4206
4207 2002-05-21  H.J. Lu  (hjl@gnu.org)
4208
4209         * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
4210         definition.
4211
4212 2002-05-22  Alan Modra  <amodra@bigpond.net.au>
4213
4214         * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
4215         (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
4216
4217 2002-05-22  Alan Modra  <amodra@bigpond.net.au>
4218
4219         * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
4220         unresolved relocs.
4221         (ppc64_elf_size_dynamic_sections): Check for splt NULL.
4222
4223 2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4224
4225         * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
4226         non-ELF targets.
4227
4228 2002-05-21  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4229
4230         * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
4231         an error value.
4232         * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
4233         return with false on error.
4234         (elf_link_input_bfd): Check reloc_emitter return value.
4235
4236 2002-05-21  Jason Thorpe  <thorpej@wasabisystems.com>
4237
4238         * config.bfd (armeb-*-netbsdelf*): New target.
4239
4240 2002-05-20  Alan Modra  <amodra@bigpond.net.au>
4241
4242         * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
4243         at the plt call stub.
4244
4245 2002-05-19  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4246
4247         * cpu-mips.c (mips_compatible): Don't try to check machine
4248         compatibility.
4249
4250 2002-05-18  Tom Rix  <trix@redhat.com>
4251
4252         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out):  Fix C_FILE auxent.
4253
4254 2002-05-17  Alan Modra  <amodra@bigpond.net.au>
4255
4256         * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
4257         (ppc64_elf_relocate_section): Don't warn about reloc overflow when
4258         we've already warned about an undefined symbol.  Report more
4259         detail on reloc errors.
4260
4261 2002-05-17  Alan Modra  <amodra@bigpond.net.au>
4262
4263         * acinclude.m4 (AM_INSTALL_LIBBFD): New.
4264         * configure.in: Invoke AM_INSTALL_LIBBFD.
4265         * Makefile.am (install-data-local): Revert 2002-05-13.  Move to..
4266         (install_libbfd): .. New target.
4267         (uninstall_libbfd): Likewise.
4268         (install-bfdlibLTLIBRARIES): Likewise.
4269         (uninstall-bfdlibLTLIBRARIES): Likewise.
4270         (bfdlibdir): New.
4271         (bfdincludedir): New.
4272         (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
4273         * aclocal.m4: Regenerate.
4274         * configure: Regenerate.
4275         * Makefile.in: Regenerate.
4276
4277 2002-05-17  Stuart Balfour <sbalfour@cisco.com>
4278
4279         * hash.c (bfd_hash_lookup): Remove computation of len from inside
4280         hash loop.
4281
4282 2002-05-16  Nick Clifton  <nickc@cambridge.redhat.com>
4283
4284         * config.bfd: Add targets for sh64-linux (little endian and
4285         big endian).
4286
4287 2002-05-15  Laurent Pinchart <laurent.pinchart@skynet.be>
4288
4289         * peXXigen.c (pe_print_idata): Do not assume that the first thunk
4290         is located in the same section as the import table.  Instead
4291         check, and if necessary load the section containing the thunk.
4292
4293 2002-05-15  Nick Clifton  <nickc@cambridge.redhat.com>
4294
4295         * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
4296         bfd_bread.
4297         (xcoff64_core_file_matches_executable_p): Replace bfd_read
4298         with bfd_bread.
4299
4300 2002-05-15  Alan Modra  <amodra@bigpond.net.au>
4301
4302         * aix5ppc-core.c: Warning fixes.
4303         * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
4304         * aout-target.h (MY_bfd_link_just_syms): Define.
4305         * aout-tic30.c (MY_bfd_link_just_syms): Define.
4306         * bfd.c (bfd_link_just_syms): Define.
4307         * binary.c (binary_bfd_link_just_syms): Define.
4308         * bout.c (b_out_bfd_link_just_syms): Define.
4309         * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
4310         * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
4311         * coffcode.h (coff_bfd_link_just_syms): Define.
4312         * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
4313         (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
4314         (_bfd_elf_link_just_syms): Declare.
4315         * elf.c (_bfd_elf_link_just_syms): New function.
4316         * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
4317         sections haven't already been discarded by the linker.
4318         * elflink.h (elf_link_add_object_symbols): Likewise for stab
4319         sections and SEC_MERGE sections.
4320         (elf_bfd_discard_info): Similarly here.
4321         * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
4322         * i386msdos.c (msdos_bfd_link_just_syms): Define.
4323         * i386os9k.c (os9k_bfd_link_just_syms): Define.
4324         * ieee.c (ieee_bfd_link_just_syms): Define.
4325         * ihex.c (ihex_bfd_link_just_syms): Define.
4326         * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
4327         (_bfd_generic_link_just_syms): Declare.
4328         * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
4329         * linker.c (_bfd_generic_link_just_syms): New function.
4330         * mmo.c (mmo_bfd_link_just_syms): Define.
4331         * nlm-target.h (nlm_bfd_link_just_syms): Define.
4332         * oasys.c (oasys_bfd_link_just_syms): Define.
4333         * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
4334         * som.c (som_bfd_link_just_syms): Define.
4335         * srec.c (srec_bfd_link_just_syms): Define.
4336         * targets.c (struct bfd_target): Add _bfd_link_just_syms.
4337         (BFD_JUMP_TABLE_LINK): And here.
4338         * tekhex.c (tekhex_bfd_link_just_syms): Define.
4339         * versados.c (versados_bfd_link_just_syms): Define.
4340         * vms.c (vms_bfd_link_just_syms): Define.
4341         * libbfd.h: Regenerate.
4342         * bfd-in2.h: Regenerate.
4343
4344 2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4345
4346         * elf32-mips.c: Remove superfluous definitions copied from
4347         elfxx-mips.c.
4348         (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
4349         SGIish vectors to check the special case.
4350         (mips_elf_hi16_reloc): Fix comment.
4351         (mips_elf_got16_reloc): Likewise.
4352         (_bfd_mips_elf32_gprel16_reloc): Likewise.
4353         (elf_reloc_map): Code cleanup.
4354         (mips_reloc_map): Add comment.
4355         (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
4356         (mips_elf32_rtype_to_howto): Likewise.
4357         (mips_elf32_discard_info): Likewise.
4358         (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
4359         lead to IRIX compatibility now.
4360
4361 2002-05-15  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4362
4363         * elfxx-mips.c: Call it IRIX, not Irix in comments.
4364
4365 2002-05-13  Jason Thorpe  <thorpej@wasabisystems.com>
4366
4367         * config.bfd (shle-*-netbsdelf*): Add target which includes
4368         sh64 support.
4369
4370 2002-05-13  David Edelsohn  <edelsohn@gnu.org>
4371
4372         * configure.in: Revert 2002-04-07.  Instead, auto-configure
4373         HAVE_ST_C_IMPL.
4374         * configure: Regenerate.
4375         * config.in: Regenerate.
4376         * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
4377         or AIX_5_CORE.
4378
4379 2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
4380
4381         * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
4382         corefiles as well.2
4383         * configure: Regenerate.
4384
4385 2002-05-13  Alan Modra  <amodra@bigpond.net.au>
4386
4387         * Makefile.am (install-data-local): Install headers to
4388         $(exec_prefix)/include.
4389         * Makefile.in: Regenerate.
4390
4391 2002-05-11  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
4392             Daniel Jacobowitz  <drow@mvista.com>
4393
4394         * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE.  Don't
4395         map BFD_RELOC_RVA.
4396
4397 2002-05-11  Federico G. Schwindt <fgsch@olimpo.com.br>
4398
4399         * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
4400         hppa*-*-openbsd*): New targets.
4401         * configure.in (alpha*-*-openbsd*): Set COREFILE.
4402         * configure: Regenerate.
4403
4404 2002-05-10  Tom Rix  <trix@redhat.com>
4405
4406         * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
4407         xcoff64_ppc_relocate_section.
4408         * coff-rs6000.c : Extern common xcoff_reloc_type functions.
4409         * libxcoff.h: Common xcoff_reloc_type function declaration.
4410
4411 2002-05-10  Alan Modra  <amodra@bigpond.net.au>
4412
4413         * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
4414         added in 2002-05-09 commit.
4415
4416         * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
4417         don't look for stubs on all undefined syms.
4418
4419 2002-05-09  Alan Modra  <amodra@bigpond.net.au>
4420
4421         * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
4422         (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
4423         pcrel_offset.
4424
4425         * elf32-i386.c (elf_howto_table): Comments.
4426         (elf_i386_relocate_section): Handle more relocs for relocatable
4427         linking and against SEC_MERGE sections.
4428
4429 2002-05-08  Alan Modra  <amodra@bigpond.net.au>
4430
4431         * elf32-ppc.c (ppc_elf_create_got): New function.
4432         (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
4433         _bfd_elf_create_dynamic_sections.  Correct .plt flags.
4434         (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
4435         _bfd_elf_create_got_section.
4436
4437 2002-05-07  Alan Modra  <amodra@bigpond.net.au>
4438
4439         * elf-bfd.h (struct elf_backend_data): Add rela_normal.
4440         * elfxx-target.h (elf_backend_rela_normal): Define.
4441         (elfNN_bed): Init rela_normal.
4442         * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
4443         for section symbols here if rela_normal.  Simplify abs section test.
4444         * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
4445         return immediately.  Remove code handling relocatable linking.
4446         * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
4447         * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
4448         * elf32-i370.c (i370_elf_relocate_section): Likewise.
4449         * elf32-i860.c (elf32_i860_relocate_section): Likewise.
4450         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
4451         * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
4452         * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
4453         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
4454         * elf32-s390.c (elf_s390_relocate_section): Likewise.
4455         * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
4456         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
4457         * elf64-s390.c (elf_s390_relocate_section): Likewise.
4458         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
4459         * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
4460         * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
4461         * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
4462         * elf-m10200.c (elf_backend_rela_normal): Define.
4463         * elf-m10300.c (elf_backend_rela_normal): Define.
4464         * elf32-fr30.c (elf_backend_rela_normal): Define.
4465         * elf32-i370.c (elf_backend_rela_normal): Define.
4466         * elf32-i860.c (elf_backend_rela_normal): Define.
4467         * elf32-m68k.c (elf_backend_rela_normal): Define.
4468         * elf32-mcore.c (elf_backend_rela_normal): Define.
4469         * elf32-openrisc.c (elf_backend_rela_normal): Define.
4470         * elf32-ppc.c (elf_backend_rela_normal): Define.
4471         * elf32-s390.c (elf_backend_rela_normal): Define.
4472         * elf32-xstormy16.c (elf_backend_rela_normal): Define.
4473         * elf64-ppc.c (elf_backend_rela_normal): Define.
4474         * elf64-s390.c (elf_backend_rela_normal): Define.
4475         * elf64-x86-64.c (elf_backend_rela_normal): Define.
4476         * elfxx-ia64.c (elf_backend_rela_normal): Define.
4477         * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
4478         * elf32-m32r.c (elf_backend_rela_normal): Likewise.
4479
4480 2002-05-06  Nick Clifton  <nickc@cambridge.redhat.com>
4481
4482         * elf32-arm.h (elf32_arm_final_link_relocate): Convert
4483         'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
4484
4485 2002-05-06  Alan Modra  <amodra@bigpond.net.au>
4486
4487         * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
4488         when not relocatable.  Fix reloc_emitter call for K&R.
4489
4490 2002-05-04  Alan Modra  <amodra@bigpond.net.au>
4491
4492         * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
4493         reloading local sym addend mistakenly removed in 2002-05-01 change.
4494
4495         * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
4496         (read_abbrevs): Change "offset" param to bfd_vma.
4497         (parse_comp_unit): Change "version" and addr_size to unsigned ints.
4498         Change "abbrev_offset" to bfd_vma.
4499         (read_indirect_string): Use correct conversion chars in error
4500         message format string, cast bfd_vma's to unsigned long.
4501         (read_abbrevs): Likewise.
4502         (read_attribute_value): Likewise.
4503         (decode_line_info): Likewise.
4504         (scan_unit_for_functions): Likewise.
4505         (parse_comp_unit): Likewise.
4506
4507 2002-05-04  Tom Rix  <trix@redhat.com>
4508
4509         * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
4510         (coff_swap_reloc_out): Same.
4511         * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
4512         (xcoff_swap_reloc_out): Same.
4513         (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
4514         case some 16 bit relocs. Add reloc value to output.
4515         (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
4516         R_RBR. Improve names.
4517         (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
4518         (bfd_xcoff_backend_data): Update with new reloc swap names.
4519         (bfd_pmac_xcoff_backend_data) : Same.
4520         * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
4521         (xcoff64_swap_reloc_out): Same.
4522         (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
4523         R_POS. Add reloc value to output.
4524         (xcoff64_howto_table): Move 64 bit R_POS to first entry.  Add 16
4525         bit R_RBR. Improve names, masks.
4526         (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
4527         (bfd_xcoff_backend_data): Update with new reloc swap names.
4528         (bfd_xcoff_aix5_backend_data) : Same.
4529
4530 2002-05-04  Alan Modra  <amodra@bigpond.net.au>
4531
4532         * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
4533         bfd_count top_index, input_list, all_local_syms.
4534         (elf32_hppa_setup_section_lists): New function, split from
4535         elf32_hppa_size_stubs.
4536         (elf32_hppa_next_input_section): Likewise.
4537         (group_sections): Likewise.
4538         (get_local_syms): Likewise.
4539         (elf32_hppa_size_stubs): Adjust for split out functions.  Look for
4540         stubs on undefined syms too.
4541         (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
4542         Only access htab elf fields when we have an elf hash table.
4543         * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
4544         (elf32_hppa_next_input_section): Declare.
4545
4546 2002-05-04  Bob Byrnes  <byrnes@curl.com>
4547
4548         * opncls.c (_bfd_new_bfd_contained_in): Check return value of
4549         _bfd_new_bfd.
4550
4551 2002-05-03  H.J. Lu  (hjl@gnu.org)
4552
4553         * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
4554         (mips_elf_link_hash_newfunc): Initialize forced_local to false.
4555         (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
4556         to hide a global symbol.
4557         (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
4558         forced_local to true.
4559
4560 2002-05-02  Richard Henderson  <rth@redhat.com>
4561
4562         * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
4563         vs SHN_UNDEF to zero.
4564
4565 2002-05-02  Alan Modra  <amodra@bigpond.net.au>
4566
4567         * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
4568         16 bit reloc.
4569         <R_PPC64_SECTOFF_DS>: Likewise.
4570         (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
4571         SECTOFF reloc.
4572         * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
4573         (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
4574         SECTOFF reloc.
4575
4576         * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
4577         (ppc64_elf_ha_reloc): New function.
4578         (ppc64_elf_brtaken_reloc): New function.
4579         (ppc64_elf_sectoff_reloc): New function.
4580         (ppc64_elf_sectoff_ha_reloc): New function.
4581         (ppc64_elf_toc_reloc): New function.
4582         (ppc64_elf_toc_ha_reloc): New function.
4583         (ppc64_elf_toc64_reloc): New function.
4584         (ppc64_elf_unhandled_reloc): New function.
4585         (ppc64_elf_howto_raw): Use the above.
4586         <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
4587         <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset.  Fix dst_mask.
4588         <R_PPC64_SECTOFF_DS>: Likewise.
4589         (IS_ABSOLUTE_RELOC): Update.
4590         (struct ppc_link_hash_table): Add have_undefweak.
4591         (ppc64_elf_link_hash_table_create): Init.
4592         (func_desc_adjust): Set have_undefweak.
4593         (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier.  Only
4594         add the .sfpr blr when have_undefweak.
4595         (ppc64_elf_setup_section_lists): Check hash table flavour.
4596         (ppc64_elf_next_input_section): Move output_section->owner test to
4597         ppc64elf.em.
4598         (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
4599         and relocatable test.  Return TOCstart and don't set elf_gp.
4600         (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
4601         offset calculation.  Add assert on weak sym branch tweaks.
4602         * elf64-ppc.h (ppc64_elf_set_toc): Delete.
4603         (ppc64_elf_toc): Declare.
4604         (ppc64_elf_next_input_section): Update.
4605
4606 2002-05-01  Alan Modra  <amodra@bigpond.net.au>
4607
4608         * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
4609         file_name.
4610
4611 2002-05-01  Alan Modra  <amodra@bigpond.net.au>
4612
4613         * elf64-ppc.c (CROR_151515, CROR_313131): Define.
4614         (ppc64_elf_relocate_section): Use them.  Don't look for plt calls
4615         on R_PPC64_ADDR24 relocs.  Require a nop or no link reg on plt
4616         call branches.  Correct undefined weak destination.
4617         (ppc64_elf_func_desc_adjust): Always create at least one blr in
4618         .sfpr, and correct case where either only savef* or restf* is
4619         needed.
4620
4621         Long branch stubs, multiple stub sections.
4622         * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
4623         (ppc64_elf_next_input_section): Declare.
4624         * elf64-ppc.c: Move linker-only prototypes.
4625         (STUB_SUFFIX): Define.
4626         (enum ppc_stub_type): New.
4627         (struct ppc_stub_hash_entry): New.
4628         (struct ppc_branch_hash_entry): New.
4629         (struct ppc_link_hash_entry): Add stub_cache, oh.
4630         (struct ppc_link_hash_table): Add stub_hash_table etc.  Remove
4631         sstub.  Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
4632         Rename plt_overflow to stub_error.
4633         (ppc_stub_hash_lookup): Define.
4634         (ppc_branch_hash_lookup): Define.
4635         (stub_hash_newfunc): New function.
4636         (branch_hash_newfunc): New function.
4637         (link_hash_newfunc): Init new fields.
4638         (ppc64_elf_link_hash_table_create): Likewise.
4639         (ppc64_elf_link_hash_table_free): New function.
4640         (ppc_stub_name): New function.
4641         (ppc_get_stub_entry): New function.
4642         (ppc_add_stub): New function.
4643         (create_linkage_sections): Use bfd_make_section_anyway.  Create
4644         .branch_lt and .rela.branch_lt sections.  Don't create .stub.
4645         (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
4646         and set up for plt call stubs.  Link func and func desc syms.
4647         (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
4648         (func_desc_adjust): Avoid hash lookup when func desc sym available
4649         via shortcut, and set links when processing.
4650         (ppc64_elf_hide_symbol): Likewise.
4651         (allocate_dynrelocs): Don't allocate stub section here.
4652         (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
4653         Remove sstub code.
4654         (ppc_type_of_stub): New function.
4655         (build_one_stub): Delete.
4656         (ppc_build_one_stub): New function.
4657         (ppc_size_one_stub): New function.
4658         (ppc64_elf_setup_section_lists): New function.
4659         (ppc64_elf_next_input_section): New function.
4660         (group_sections): New function.
4661         (get_local_syms): New function.
4662         (ppc64_elf_size_stubs): Rewrite.
4663         (ppc64_elf_build_stubs): Rewrite.
4664         (ppc64_elf_relocate_section): Look up stub entry for REL24
4665         relocs.  Don't propagate REL14* to dynamic objects.  Look for long
4666         branch stubs if REL14* or REL24 relocs won't reach.
4667         (bfd_elf64_bfd_link_hash_table_free): Define.
4668
4669 2002-04-30  Mark Mitchell  <mark@codesourcery.com>
4670
4671         * config.bfd: Add support for powerpc-*-windiss.
4672
4673 2002-04-30  Tom Rix  <trix@redhat.com>
4674
4675         * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
4676         symbol names into the hash table.
4677
4678 2002-04-28  Tom Rix  <trix@redhat.com>
4679
4680         * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
4681         calulating relocations.
4682         (xcoff_complain_overflow) : Function table for relocation errors.
4683         (xcoff_ppc_relocate_section): Use relocation and complain function
4684         tables.
4685         (xcoff_complain_overflow_unsigned_func): New complain function.
4686         (xcoff_complain_overflow_signed_func): Same.
4687         (xcoff_complain_overflow_bitfield_func): Same.
4688         (xcoff_complain_overflow_dont_func): Same.
4689         (xcoff_reloc_type_crel): New recot function.
4690         (xcoff_reloc_type_br): Same.
4691         (xcoff_reloc_type_ba): Same.
4692         (xcoff_reloc_type_toc): Same.
4693         (xcoff_reloc_type_rel): Same.
4694         (xcoff_reloc_type_neg): Same.
4695         (xcoff_reloc_type_pos): Same.
4696         (xcoff_reloc_type_fail): Same.
4697         (xcoff_reloc_type_noop): Same.
4698         * libxcoff.h : Declare common parts for xcoff64.
4699         * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
4700         and complain function tables.
4701
4702 2002-04-28  Alan Modra  <amodra@bigpond.net.au>
4703
4704         * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
4705         * elf32-hppa.c (elf32_hppa_final_link): Formatting.
4706
4707 2002-04-26  Alan Modra  <amodra@bigpond.net.au>
4708
4709         * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
4710         * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
4711
4712         * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
4713         same as the output before calling elf_link_input_bfd.
4714
4715         * coffcode.h (coff_compute_section_file_positions): Set
4716         section_tail after shuffling section list.
4717
4718 2002-04-24  Christian Groessler <chris@groessler.org>
4719
4720         * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
4721         addresses are 23bit with a special layout, not plain 32bit
4722         values.  Prevent relocation of immediate values.
4723
4724 2002-04-24  Chris G. Demetriou  <cgd@broadcom.com>
4725
4726         * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
4727         MIPS-16 ASE flags are set, print something to indicate that.
4728
4729 2002-04-23  Alan Modra  <amodra@bigpond.net.au>
4730
4731         * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
4732         under which a plt call stub is used.
4733         (final_link_relocate): Similarly.
4734         (allocate_plt_static): Clear h-plabel except when plt entry is
4735         exclusively used for a plabel.
4736         (allocate_dynrelocs): Use the above to simplify plt sizing.
4737         (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
4738         (elf32_hppa_link_hash_table_create): Init.
4739         (BL22_RP): Define.
4740         (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
4741         (elf32_hppa_check_relocs): Set has_22bit_branch.
4742
4743         * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
4744         (final_link_relocate): Likewise.
4745
4746 2002-04-22  Jakub Jelinek  <jakub@redhat.com>
4747
4748         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
4749         search table if some FDE is DW_EH_PE_aligned encoded either.
4750         (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
4751
4752 2002-04-22  Richard Smith  <richard@ex-parrot.com>
4753             Jakub Jelinek  <jakub@redhat.com>
4754
4755         * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
4756         (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
4757         encoded personality.
4758         (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
4759         for CIE/FDE removal.
4760
4761 2002-04-20  Tom Rix  <trix@redhat.com>
4762
4763         * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
4764
4765 2002-04-20  Alan Modra  <amodra@bigpond.net.au>
4766
4767         * archures.c (bfd_lookup_arch): Move the list order comment..
4768         (struct bfd_arch_info): ..to where it belongs.
4769         * bfd-in2.h: Regenerate.
4770
4771         * archures.c (bfd_lookup_arch): Add comment on list order.
4772         (bfd_default_set_arch_mach): Use bfd_lookup_arch.
4773         * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
4774         is always at head of list.
4775
4776 2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
4777
4778         * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
4779         insert_thumb_branch, record_thumb_to_arm_glue): Suppress
4780         definition of these functions for ARM_WINCE builds as they are
4781         not used.
4782         (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
4783         for ARM_WINCE builds.
4784
4785 2002-04-18  Nick Clifton  <nickc@cambridge.redhat.com>
4786
4787         * coff-arm.c (bfd_arm_process_before_allocation):
4788
4789 2002-04-17  J"orn Rennecke <joern.rennecke@superh.com>
4790
4791         * cpu-sh.c (scan_mach): Delete.
4792         (arch_info_struct): Replace scan_mach with bfd_default_scan.
4793         (bfd_sh_arch): Likewise.
4794
4795 2002-04-16  Nick Clifton  <nickc@cambridge.redhat.com>
4796
4797         * ihex.c (ihex_write_object_contents): Fix check for records
4798         crossing 64K boundaries.
4799
4800 2002-04-16  Alan Modra  <amodra@bigpond.net.au>
4801
4802         * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
4803         type rather than just assuming entries are ELF.
4804         * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
4805         * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
4806         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
4807         * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
4808         rather than elf_link_hash_entry.
4809
4810 2002-04-15  Richard Henderson  <rth@redhat.com>
4811
4812         * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
4813         n32 binaries.
4814
4815 2002-04-15  Michael Snyder  <msnyder@redhat.com>
4816
4817         * opncls.c (bfd_close): Write contents if writeable.
4818         Minor formatting tidy-ups.
4819
4820 2002-04-15  Alan Modra  <amodra@bigpond.net.au>
4821
4822         * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
4823
4824 2002-04-12  Michael Snyder  <msnyder@redhat.com>
4825
4826         * bfd-in.h (bfd_get_section_lma): New access macro.
4827         Minor white-space fix-up.
4828
4829 2002-04-12  Alan Modra  <amodra@bigpond.net.au>
4830
4831         * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
4832         header pad.
4833
4834 2002-04-09  DJ Delorie  <dj@redhat.com>
4835
4836         * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
4837
4838 2002-04-09  Casper S. Hornstrup <chorns@users.sourceforge.net>
4839
4840         * coffcode.h (coff_read_word): New.
4841         (coff_compute_checksum): New.
4842         (coff_apply_checksum): New.
4843         (coff_write_object_contents): Call coff_apply_checksum () to
4844         apply checksum to PE image.
4845
4846 2002-04-08  Randolph Chung  <tausq@debian.org>
4847
4848         * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
4849         (elf32_hppa_final_link): Split out sorting logic to..
4850         * elf-hppa.h (elf_hppa_sort_unwind): ..here.
4851         (elf_hppa_final_link): Call elf_hppa_sort_unwind.
4852
4853 2002-04-07  Andrew Cagney  <ac131313@redhat.com>
4854
4855         * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
4856         pattern.
4857         * configure: Re-generate.
4858
4859 2002-04-07  Andrew Cagney  <ac131313@redhat.com>
4860
4861         * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
4862         is greater or equal to 4.3.3.
4863         * configure: Regenerate.
4864         Fix PR gdb/344.
4865
4866 2002-04-05  Hans-Peter Nilsson  <hp@axis.com>
4867
4868         * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
4869         R_CRIS_32_PCREL>: Fix typo in name.
4870         (cris_elf_check_relocs): Always create .rela.got here when
4871         R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
4872         (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
4873         assume it's created.
4874
4875 2002-04-04  Daniel Jacobowitz  <drow@mvista.com>
4876
4877         * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
4878         * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
4879         define.
4880         * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
4881         * bfd.c (bfd_link_hash_table_free): Define.
4882         * binary.c (binary_bfd_link_hash_table_free): Define.
4883         * bout.c (b_out_bfd_link_hash_table_free): Define.
4884         * coff-rs6000.c (rs6000coff_vec): Include
4885         _bfd_generic_link_hash_table_free.
4886         (pmac_xcoff_vec): Likewise.
4887         * coff64-rs6000.c (rs6000coff64_vec): Likewise.
4888         (aix5coff64_vec): Likewise.
4889         * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
4890         * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
4891         (bfd_elf32_bfd_link_hash_table_free): Define.
4892         * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
4893         (bfd_elf32_bfd_link_hash_table_free): Define.
4894         * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
4895         define.
4896         * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
4897         * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
4898         * ieee.c (ieee_bfd_link_hash_table_free): Define.
4899         * ihex.c (ihex_bfd_link_hash_table_free): Define.
4900         * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
4901         (_bfd_generic_link_hash_table_free): Add prototype.
4902         * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
4903         * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
4904         * linker.c (_bfd_generic_link_hash_table_free): New function.
4905         * mmo.c (mmo_bfd_link_hash_table_free): Define.
4906         * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
4907         * oasys.c (oasys_bfd_link_hash_table_free): Define.
4908         * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
4909         * som.c (som_bfd_link_hash_table_free): Define.
4910         * srec.c (srec_bfd_link_hash_table_free): Define.
4911         * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
4912         * versados.c (versados_bfd_link_hash_table_free): Define.
4913         * vms.c (vms_bfd_link_hash_table_free): New function.
4914         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
4915
4916         * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
4917         instead of bfd_alloc.
4918         * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
4919         * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
4920         * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
4921         * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
4922         * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
4923         * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
4924         * elf.c (_bfd_elf_link_hash_table_create): Likewise.
4925         * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
4926         * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
4927         * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
4928         * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
4929         * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
4930         * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
4931         * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
4932         * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
4933         * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
4934         * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
4935         * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
4936         * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
4937         * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
4938         * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
4939         * linker.c (_bfd_generic_link_hash_table_create): Likewise.
4940         * m68klinux.c (linux_link_hash_table_create): Likewise.
4941         * sparclinux.c (linux_link_hash_table_create): Likewise.
4942         * sunos.c (sunos_link_hash_table_create): Likewise.
4943         * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
4944
4945         * targets.c: Add _bfd_link_hash_table_free to xvec.
4946
4947         * bfd-in2.h: Regenerate.
4948         * libbfd.h: Regenerate.
4949         * libcoff.h: Regenerate.
4950
4951 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
4952
4953         * dep-in.sed: Cope with absolute paths.
4954         * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
4955         Run "make dep-am".
4956         * Makefile.in: Regenerate.
4957         * coff-arm.c: Fix copyright date.
4958         * cpu-h8300.c: Likewise.
4959         * cpu-i370.c: Likewise.
4960         * cpu-s390.c: Likewise.
4961         * cpu-mips.c: Likewise.
4962         * po/SRC-POTFILES.in: Regenerate.
4963
4964 2002-04-04  Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
4965
4966         * Makefile.am: Add elfxx-mips.c to the known backends.
4967         (elf32-mips.lo): remove dependency to coff/external.h.
4968         * Makefile.in: Regenerate.
4969         * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
4970         Remove elf32-mips.lo from 64 bit vectors. Update dependencies
4971         accordingly.
4972         * configure: Regenerate.
4973         * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
4974         (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
4975         (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
4976         MIPS specific backend functions.
4977         * elf32-mips.c: Moved most code to elfxx-mips.c.
4978         (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
4979         static.
4980         (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
4981         (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
4982         (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
4983         (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
4984         interface to allow selection of the right REL or RELA howto table.
4985         (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
4986         static. Let it refuse n32 objects.
4987         (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
4988         (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
4989         (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
4990         (elf32_mips_ignore_discarded_relocs): Rename from
4991         _bfd_elf32_mips_ignore_discarded_relocs.
4992         (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
4993         (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
4994         (elf_mips_howto_table_rela): Remove.
4995         * elf64-mips.c: Moved most code to elfxx-mips.c.
4996         (bfd_elf64_bfd_reloc_type_lookup): Make static.
4997         (mips_elf64_rtype_to_howto): New function.
4998         (mips_elf64_object_p): Likewise.
4999         (elf64_mips_irix_compat): Likewise.
5000         * elfxx-mips.c: New file containing common code merged together from
5001         elf32-mips.c and elf64-mips.c.
5002         * elfxx-mips.h: New file containing MIPS specific prototypes from
5003         elf-bfd.h.
5004         * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
5005         elf_backend_mips_rtype_to_howto.
5006
5007 2002-04-04  Alan Modra  <amodra@bigpond.net.au>
5008
5009         * srec.c (MAXCHUNK, Chunk): Revise comments.
5010         (srec_write_record): Correct buffer size.
5011         (srec_write_header): Do without intermediate buffer.
5012         (srec_write_section): Validate Chunk.
5013         (srec_write_terminator): Pass NULL instead of dummy buffer.
5014         (srec_write_symbols): Pass file and symbol names directly to
5015         bfd_bwrite so sprintf won't overflow buffer.
5016
5017 2002-04-03  Jakub Jelinek  <jakub@redhat.com>
5018
5019         * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
5020         PC relative relocs against hidden symbols.
5021         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5022
5023 2002-04-03  Alan Modra  <amodra@bigpond.net.au>
5024
5025         * elf.c (_bfd_elf_make_section_from_shdr): When setting section
5026         LMAs, loop over segments until p_vaddr and p_memsz specify an
5027         extent enclosing the section.
5028
5029 2002-04-02  Nick Clifton  <nickc@cambridge.redhat.com>
5030
5031         * ihex.c (ihex_write_object_contents): Do not allow records to
5032         cross a 64K boundary - wrap if necessary.
5033
5034 2002-04-01  Nathan Williams  <nathanw@wasabisystems.com>
5035
5036         * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
5037         which caused the returned LWP ID to always be 0.
5038
5039 2002-04-01  Richard Henderson  <rth@redhat.com>
5040
5041         * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5042         (elf32_sparc_relocate_section): Use it to figure out when to
5043         initialize .got entries.
5044         * elf64-sparc.c: Similarly.
5045
5046 2002-03-28  Alan Modra  <amodra@bigpond.net.au>
5047
5048         * linker.c (link_action): Ignore duplicate warning syms.
5049         (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
5050         * elflink.h (elf_adjust_dynstr_offsets): Likewise.
5051         (elf_adjust_dynamic_symbol): Likewise.
5052         (elf_export_symbol): Likewise.
5053         (elf_link_find_version_dependencies): Likewise.
5054         (elf_link_assign_sym_version): Likewise.
5055         (elf_link_sec_merge_syms): Likewise.
5056         (elf_link_output_extsym): Likewise.
5057         (elf_gc_sweep_symbol): Likewise.
5058         (elf_gc_propagate_vtable_entries_used): Likewise.
5059         (elf_gc_smash_unused_vtentry_relocs): Likewise.
5060         (elf_gc_allocate_got_offsets): Likewise.
5061         (elf_collect_hash_codes): Likewise.
5062         * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
5063         * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
5064         (elf_hppa_remark_useless_dynamic_symbols): Likewise.
5065         * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
5066         * elf32-arm.h (elf32_arm_discard_copies): Likewise.
5067         * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
5068         (elf_cris_discard_excess_dso_dynamics): Likewise.
5069         * elf32-hppa.c (clobber_millicode_symbols): Likewise.
5070         (mark_PIC_calls): Likewise.
5071         (allocate_plt_static): Likewise.
5072         (allocate_dynrelocs): Likewise.
5073         (readonly_dynrelocs): Likewise.
5074         * elf32-i386.c (allocate_dynrelocs): Likewise.
5075         (readonly_dynrelocs): Likewise.
5076         * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
5077         * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
5078         * elf32-mips.c (mips_elf_output_extsym): Likewise.
5079         (mips_elf_sort_hash_table_f): Likewise.
5080         (mips_elf_check_mips16_stubs): Likewise.
5081         * elf32-s390.c (allocate_dynrelocs): Likewise.
5082         (readonly_dynrelocs): Likewise.
5083         * elf32-sh.c (sh_elf_discard_copies): Likewise.
5084         * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
5085         (xstormy16_relax_plt_realloc): Likewise.
5086         * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
5087         (elf64_alpha_output_extsym): Likewise.
5088         * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
5089         * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
5090         (mips_elf64_check_mips16_stubs): Likewise.
5091         (mips_elf64_output_extsym): Likewise.
5092         * elf64-ppc.c (func_desc_adjust): Likewise.
5093         (allocate_dynrelocs): Likewise.
5094         (readonly_dynrelocs): Likewise.
5095         * elf64-s390.c (allocate_dynrelocs): Likewise.
5096         (readonly_dynrelocs): Likewise.
5097         * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
5098         * elf64-x86-64.c (allocate_dynrelocs): Likewise.
5099         (readonly_dynrelocs): Likewise.
5100         * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
5101         * aoutx.h (aout_link_write_other_symbol): Likewise.
5102         * cofflink.c (_bfd_coff_write_task_globals): Likewise.
5103         (_bfd_coff_write_global_sym): Likewise.
5104         * i386linux.c (linux_tally_symbols): Likewise.
5105         * m68klinux.c (linux_tally_symbols): Likewise.
5106         * sparclinux.c (linux_tally_symbols): Likewise.
5107         * pdp11.c (aout_link_write_other_symbol): Likewise.
5108         * sunos.c (sunos_scan_dynamic_symbol): Likewise.
5109         * xcofflink.c (xcoff_build_ldsyms): Likewise.
5110         (xcoff_write_global_symbol): Likewise.
5111
5112         * cofflink.c (_bfd_coff_final_link): Formatting.
5113         * cpu-mips.c (mips_compatible): Make static, prototype.
5114         * elf32-i386.c (elf_i386_check_relocs): Formatting.
5115         * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
5116         * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
5117         * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
5118         (mips_elf64_final_link): Likewise.
5119         * elflink.h (elf_link_find_version_dependencies): Remove duplicate
5120         prototype.
5121
5122 2002-03-27  Nick Clifton  <nickc@cambridge.redhat.com>
5123
5124         * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
5125         (SWAP_OUT_RELOC_OFFSET): Define.
5126
5127 2002-03-27  Gregory Steuck <greg@nest.cx>
5128
5129         * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
5130         terminating NULL if empty symbol table.
5131         (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
5132
5133 2002-03-26  H.J. Lu  (hjl@gnu.org)
5134
5135         * elflink.h (elf_link_input_bfd): Revert the last change since
5136         the gcc exception handling isn't fixed yet.
5137
5138 2002-03-26  H.J. Lu  (hjl@gnu.org)
5139
5140         * elflink.h (elf_link_input_bfd): Complain about relocations
5141         against local symbols in discarded sections.
5142
5143 2002-03-26  Alan Modra  <amodra@bigpond.net.au>
5144
5145         * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
5146
5147 2002-03-23  Alan Modra  <amodra@bigpond.net.au>
5148
5149         * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
5150         section file offset for !SEC_LOAD sections.
5151
5152 2002-03-21  Richard Earnshaw  <rearnsha@arm.com>
5153
5154         * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
5155         <case R_ARM_GOT>): Handle relocations to Thumb functions.
5156
5157 2002-03-21  Alan Modra  <amodra@bigpond.net.au>
5158
5159         * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
5160         Whitespace changes.
5161         * archive.c: Update copyright date.
5162         * bfd-in2.h: Regenerate.
5163         * libbfd.h: Regenerate.
5164         * Makefile.am: Run "make dep-am"
5165         * Makefile.in: Regenerate.
5166         * po/SRC-POTFILES.in: Regenerate.
5167
5168 2002-03-20  Daniel Jacobowitz  <drow@mvista.com>
5169
5170         * dwarf2.c (struct funcinfo): Move up.
5171         (lookup_address_in_function_table): New argument function_ptr.
5172         Set it.
5173         (lookup_address_in_line_table): New argument function.  If function
5174         is non-NULL, use it to handle ``addr'' before the first line note of
5175         the function.
5176         (comp_unit_find_nearest_line): Update and swap calls to
5177         lookup_address_in_function_table and lookup_address_in_line_table.
5178         * syms.c (_bfd_stab_section_find_nearest_line): Use the first
5179         N_SLINE encountered if we see an N_FUN before any N_SLINE.
5180
5181 2002-03-20  Tom Rix  <trix@redhat.com>
5182
5183         * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
5184         _bfd_xcoff_generic_stat_arch_elt.  Fix format check.
5185         * coff64-rs6000.c :  Use _bfd_xcoff_stat_arch_elt.
5186
5187 2002-03-19  Tom Rix  <trix@redhat.com>
5188
5189         * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
5190         dynamic objects in archives.
5191
5192 2002-03-19  Hans-Peter Nilsson  <hp@bitrange.com>
5193
5194         * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
5195         STT_NOTYPE symbols to STT_OBJECT.
5196
5197 2002-03-18  Jan Hubicka  <jh@suse.cz>
5198
5199         * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
5200
5201 2002-03-18  Tom Rix  <trix@redhat.com>
5202
5203         * aix5ppc.core.c : New file for AIX 5 64 bit core support.
5204         * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
5205         * coff-rs6000 (do_pad) : New function for archive padding.
5206         (do_copy) : New function for object file copying in archives.
5207         (do_shared_object_padding) : New function for padding shared
5208         objects to their text section alignment in archives.
5209         (bfd_xcoff_ar_achive_set_magic) : Stub.
5210         (xcoff_write_armap_big) : Use do_copy and do_pad.
5211         (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
5212         do_copy and do_pad.
5213         * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
5214         bfd_xcoff_magic_number.
5215         (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
5216         fop.
5217         (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
5218         (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
5219         (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
5220         * rs6000-core.c : Update copyright date.
5221         * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
5222         csectpp.
5223         * coffcode.h (coff_new_section_hook) : Use new accessor macros.
5224         (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
5225         (coff_set_flags) : Use bfd_xcoff_magic_number.
5226         * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
5227         * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
5228         * Makefile.am : Same.
5229         * config.bfd : Same.
5230         * targets.c : Same.
5231         * configure : Regnerate.
5232         * Makefile.in : Same.
5233         * bfd-in2.h : Same.
5234
5235 2002-03-18  Nick Clifton  <nickc@cambridge.redhat.com>
5236
5237         * po/fr.po: Updated version.
5238
5239 2002-03-18  Alan Modra  <amodra@bigpond.net.au>
5240
5241         * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
5242         * libbfd.h: Regenerate.
5243         * archive.c (coff_write_armap): Pass on failures from
5244         bfd_write_bigendian_4byte_int.
5245
5246 2002-03-14  H.J. Lu <hjl@gnu.org>
5247
5248         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
5249         error to bfd_error_nonrepresentable_section for reinit_array
5250         section in DSO.
5251
5252 2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
5253
5254         * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
5255         OR it in rather than replacing previously selected flags.
5256
5257         * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
5258         (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
5259
5260 2002-03-14  Alan Modra  <amodra@bigpond.net.au>
5261
5262         * cpu-mips.c (mips_compatible): New.  Don't check bits_per_word.
5263         (N): Use the above.
5264         * elflink.h (elf_bfd_final_link): Revert last change.  Instead,
5265         ensure reloc size matches before calling elf_link_input_bfd.
5266         Add an assert to check reloc size when counting output relocs.
5267
5268 2002-03-14  Nick Clifton  <nickc@cambridge.redhat.com>
5269
5270         * mmo.c (mmo_get_loc): Return NULL rather than false.
5271
5272 2002-03-13  Nick Clifton  <nickc@cambridge.redhat.com>
5273
5274         * po/fr.po: Updated version.
5275
5276 2002-03-13  Alan Modra  <amodra@bigpond.net.au>
5277
5278         * archures.c (bfd_default_compatible): Test bits_per_word.
5279         * cpu-i386.c (i386_compatible): Remove.  Replace occurrences with
5280         bfd_default_compatible.
5281         * cpu-i370.c (i370_compatible): Likewise.
5282         * cpu-sparc.c (sparc_compatible): Likewise.
5283         * cpu-h8300.c (compatible): Test in->arch == out->arch.
5284
5285         * elflink.h: Formatting fixes.
5286         (elf_link_output_extsym): Merge undefined and undef weak cases.
5287
5288         * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
5289         when word size of input matches output word size.
5290
5291 2002-03-12  Andreas Jaeger  <aj@suse.de>
5292
5293         * cpu-i386.c (i386_compatible): New.  Use it instead of
5294         bfd_default_compatible.
5295
5296 2002-03-07  H.J. Lu  (hjl@gnu.org)
5297
5298         * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
5299         as the type for bfd_reloc_val.
5300
5301 2002-03-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5302
5303         * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
5304         (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
5305         (elf_hppa_final_link_relocate): Correct relocations for indirect
5306         references to local data through the DLT.  Fix .opd creation for
5307         local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
5308         relocations.  Use e_lsel selector for R_PARISC_DLTIND21L,
5309         R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
5310         "Processor-Specific ELF for PA_RISC, Version 1.43" document.
5311         Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
5312         * elf32-hppa.c (final_link_relocate): Revise relocation selectors
5313         as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
5314
5315 2002-03-05  Jakub Jelinek  <jakub@redhat.com>
5316
5317         * merge.c (_bfd_merge_sections): Don't segfault if there
5318         is nothing to merge due to GC.
5319
5320 2002-03-05  Alan Modra  <amodra@bigpond.net.au>
5321
5322         * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
5323         symbols that have been forced local.
5324
5325         * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
5326         to output forced local syms for non-shared link.
5327         (elf_link_output_extsym): Tweak condition for calling backend
5328         adjust_dynamic_symbol so that previous behaviour is kept.
5329         Whitespace changes throughout file.
5330
5331 2002-03-04  H.J. Lu <hjl@gnu.org>
5332
5333         * elf.c (bfd_section_from_shdr): Handle special sections,
5334         .init_array, .fini_array and .preinit_array.
5335         (elf_fake_sections): Likewise.
5336
5337         * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
5338         DT entry only if the section is in output for .init_array,
5339         .fini_array and .preinit_array. Complain about .preinit_array
5340         section in DSO.
5341         (elf_bfd_final_link): Warn zero size for .init_array,
5342         .fini_array and .preinit_array sections.
5343
5344         * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
5345         SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
5346         (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
5347         .preinit_array.
5348
5349 2002-03-04  Alan Modra  <amodra@bigpond.net.au>
5350
5351         * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
5352         * configure: Regenerate.
5353
5354 2002-03-02  Tom Rix  <trix@redhat.com>
5355
5356         * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
5357         symbolic equiv.
5358         * coff-rs6000.c (xcoff_howto_table): Same.
5359
5360 2002-03-01  David Mosberger  <davidm@hpl.hp.com>
5361
5362         * elflink.h (size_dynamic_sections): If section named
5363         ".preinit_array" exists, create DT_PREINIT_ARRAY and
5364         DT_PREINIT_ARRAYSZ entries in dynamic table.  Analogously for
5365         ".init_array" and ".fini_array".
5366         (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
5367         DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
5368         DT_FINI_ARRAY.
5369
5370 2002-02-26  Andrew Macleod  <amacleod@cygnus.com>
5371
5372         * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
5373         dynsyms.
5374
5375 2002-02-25  Alan Modra  <amodra@bigpond.net.au>
5376
5377         * elf64-hppa.h: Update copyright date.
5378
5379         * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
5380         (ppc64_elf_relocate_section): Don't generate power4 style branch
5381         hints for *_BRTAKEN and *_BRNTAKEN relocs.
5382
5383 2002-02-22  Jakub Jelinek  <jakub@redhat.com>
5384
5385         * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
5386         last patch.
5387         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5388
5389 2002-02-21  Andreas Jaeger  <aj@suse.de>
5390
5391         * elf64-x86-64.c: Major rework that introduces all recent changes
5392         to the x86-64 backend.  Get a closer match to elf32-i386.
5393         (struct elf64_x86_64_dyn_relocs): Rename from
5394         elf64_x86_64_pcrel_relocs_copied, add additional fields.  Change
5395         all users.
5396         (struct elf64_x86_64_link_hash_table): Add short cuts to some
5397         sections.
5398         (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
5399         remove casts, initialize new hash members.
5400         (create_got_section): New.
5401         (elf64_x86_64_create_dynamic_sections): New.
5402         (elf64_x86_64_copy_indirect_symbol): New.
5403         (elf64_x86_64_check_relocs): Don't allocate space for dynamic
5404         relocs, .got or .relgot here but do it in allocate_dynrelocs.
5405         Reference count possible .plt and .got entries.  Don't test input
5406         section SEC_READONLY here to try to avoid copy relocs, and keep
5407         dyn_relocs regardless of ELF_LINK_NON_GOT_REF.  Don't set
5408         DF_TEXTREL here.  Delay setting of variables until needed.  Cache
5409         pointer to "sreloc" section in elf_section_data. Tweak condition
5410         under which .got created.  Report files with bad relocation
5411         section names.
5412         (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
5413         Reference count possible .plt entries.  Don't deallocate .got and
5414         .relgot space here.
5415         (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc.  Don't
5416         do copy reloc processing for weakdefs.  Remove redundant casts and
5417         aborts.  Delay setting of vars until needed.  Move creation of
5418         dynamic symbols and allocation of .plt and .rela.plt to
5419         allocate_dynrelocs.  Replace BFD_ASSERT with abort.
5420         (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
5421         (allocate_dynrelocs): New.
5422         (readonly_dynrelocs): New.
5423         (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
5424         Allocate space for dyn relocs.  Replace BFD_ASSERT with abort.
5425         Zero out the dynamic allocated content space.
5426         (elf64_x86_64_discard_copies): Removed.
5427         (elf64_x86_64_relocate_section): Make use of dynamic section
5428         short-cuts.  Localise vars, and delay setting.  Better error
5429         reporting, replace BFD_ASSERT with abort.  Check
5430         ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
5431         regular object file and tread the weak definition as the normal
5432         one.  Don't discard relocs for undefweak or undefined symbols and
5433         check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
5434         relocs.
5435         (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
5436         symbols that have been forced local.  Use same test to decide if
5437         we can use a relative reloc for got as relocate_section.  Expand
5438         SHN_UNDEF comment.  Move expressions out of function calls.
5439         Replace BFD_ASSERT with abort.
5440         (bfd_elf64_bfd_final_link): Removed.
5441         (elf_backend_copy_indirect_symbol): Define.
5442
5443 2002-02-20  Tom Rix  <trix@redhat.com>
5444
5445         * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
5446         (_bfd_xcoff_reloc_type_lookup): Use it.
5447         * coff64-rs6000.c (xcoff64_howto_table): Same.
5448         (xcoff64_reloc_type_lookup): Same.
5449
5450 2002-02-20  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
5451
5452         * osf-core.c (osf_core_vec):  OSF/1 (Digital Unix) core files are
5453         little endian.
5454
5455 2002-02-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>
5456
5457         * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
5458         (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
5459         * bfd-in2.h: Regenerate.
5460         * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
5461         Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
5462         with "s390:64-bit".
5463         * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
5464         (elf_s390_reloc_type_lookup): Likewise.
5465         (elf_s390_check_relocs): Likewise.
5466         (elf_s390_gc_sweep_hook): Likewise.
5467         (elf_s390_relocate_section): Likewise.
5468         (elf_s390_object_p): Use renamed architecture define.
5469         * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
5470
5471 2002-02-19  Frank Ch. Eigler  <fche@redhat.com>
5472
5473         * syms.c (stt[]): Sorted.  Added .init/.fini -> "t" mapping.
5474
5475 2002-02-19  Jakub Jelinek  <jakub@redhat.com>
5476
5477         * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
5478         absptr -> pcrel optimization for shared libs.
5479         Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
5480         library cannot be converted to pcrel.
5481         (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
5482         relative.
5483         * elf32-i386.c (elf_i386_relocate_section): If
5484         _bfd_elf_section_offset returned -2, skip, but make sure the
5485         relocation is installed.
5486         * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
5487         * elf32-cris.c (cris_elf_relocate_section): Likewise.
5488         * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
5489         * elf32-i370.c (i370_elf_relocate_section): Likewise.
5490         * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
5491         * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
5492         * elf32-s390.c (elf_s390_relocate_section): Likewise.
5493         * elf32-sh.c (sh_elf_relocate_section): Likewise.
5494         * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
5495         * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
5496         * elf64-s390.c (elf_s390_relocate_section): Likewise.
5497         * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
5498         * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
5499         * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
5500         * elf64-alpha.c (elf64_alpha_relocate_section): Handle
5501         _bfd_elf_section_offset returning -2 the same way as -1.
5502         * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
5503         * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
5504         and BFD_ASSERT.
5505         * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
5506
5507 2002-02-18  Tom Rix  <trix@redhat.com>
5508
5509         * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
5510         (bfd_xcoff_size_dynamic_sections): Same.
5511         * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
5512         (bfd_xcoff_size_dynamic_sections): Same.
5513         * coff-rs6000.c (xcoff_generate_rtinit): Same.
5514         * coff-rs646000.c (xcoff64_generate_rtinit): Same.
5515         * libxcoff.h (struct xcoff_backend_data_rec): Same.
5516         * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
5517         * bfd-in2.h: Regenerate.
5518
5519 2002-02-18  Alan Modra  <amodra@bigpond.net.au>
5520
5521         * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
5522         (struct ppc_link_hash_table): Add sfpr.
5523         (ppc64_elf_link_hash_table_create): Init it.
5524         (ppc64_elf_create_dynamic_sections): Split creation of .stub and
5525         .glink out to..
5526         (create_linkage_sections): ..here.  Make .sfpr too.
5527         (ppc64_elf_check_relocs): Call create_linkage_sections, and set
5528         dynobj early.
5529         (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
5530         (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
5531         ._restf* functions, and create as needed.
5532         (func_desc_adjust): Only force_local for shared libs.
5533
5534 2002-02-18  David O'Brien  <obrien@FreeBSD.org>
5535
5536         * configure.in: Bump version number post 2.12 branching.
5537         * configure: Regenerate.
5538
5539 2002-02-17  Hans-Peter Nilsson  <hp@bitrange.com>
5540
5541         * mmo.c: Correct and improve comments.
5542         (mmo_write_chunk): Store trailing byte in bfd buffer; don't
5543         zero-pad.  Use input to fill up non-empty bfd buffer.
5544         (mmo_flush_chunk): New function.
5545         (mmo_write_loc_chunk): Add parameter last_vmap, all callers
5546         changed.  Don't emit location specifier if VMA is same as
5547         *LAST_VMAP after omitting leading zero contents.  Call
5548         mmo_flush_chunk before emitting location specifier.
5549         (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
5550         with mmo_write_loc_chunk calls.
5551         (mmo_internal_write_section): Call mmo_flush_chunk after
5552         mmo_write_chunk.
5553         (mmo_write_symbols_and_terminator): Move :Main to first position
5554         in symbol array.  Add faked one if it does not exist if there are
5555         other symbols.  Don't add it if there are no symbols at all.  Move
5556         out test for value of :Main from symbol loop.  Rename table
5557         fakemain to maintable and variable mainsym to fakemain.
5558
5559 2002-02-15  Richard Henderson  <rth@redhat.com>
5560
5561         * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
5562         section with no got matches any got.  Simplify error generaion.
5563
5564 2002-02-15  Alan Modra  <amodra@bigpond.net.au>
5565
5566         Support arbitrary length fill patterns.
5567         * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
5568         (_bfd_default_link_order): Remove bfd_fill_link_order code.
5569         Call default_data_link_order.
5570         (default_fill_link_order): Delete.
5571         (default_data_link_order): New function.
5572         * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
5573         of bfd_fill_link_order with bfd_data_link_order.
5574         * elf64-alpha.c (elf64_alpha_final_link): Likewise.
5575         * elf64-mips.c (mips_elf64_final_link): Likewise.
5576
5577         * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
5578         Correct value returned in "end" for "0x<non-hex>".
5579
5580 2002-02-14  Nick Clifton  <nickc@cambridge.redhat.com>
5581
5582         * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
5583         (scan): Test against 'mach' field in info structure.
5584
5585 2002-02-14  Alan Modra  <amodra@bigpond.net.au>
5586
5587         * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
5588
5589 2002-02-14  Matt Fredette  <fredette@netbsd.org>
5590
5591         * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
5592         EF_M68000.
5593
5594 2002-02-13  Nick Clifton  <nickc@cambridge.redhat.com>
5595
5596         * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
5597         non-zero physical addresses when adjusting the LMAs of new
5598         sections.
5599
5600 2002-02-12  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5601
5602         * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
5603         from _bfd_elf_hppa_gen_reloc_type.
5604         (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
5605         * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
5606         * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
5607         * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
5608
5609 2002-02-12  Alexandre Oliva  <aoliva@redhat.com>
5610
5611         * elf-m10300.c (mn10300_elf_relax_section): Skip section before
5612         loading its contents if there's nothing to do in it.
5613
5614 2002-02-12  Alan Modra  <amodra@bigpond.net.au>
5615
5616         * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
5617         64k boundary.
5618
5619         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
5620         DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
5621         (ppc64_elf_finish_dynamic_sections): Set values for them.
5622
5623 2002-02-11  Michael Snyder  <msnyder@redhat.com>
5624
5625         * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
5626         * elf.c (elfcore_grok_pstatus): Add prototype.
5627         (elfcore_grok_lwpstatus): Add prototype.
5628         (elfcore_write_lwpstatus): New function.
5629         (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
5630
5631 2002-02-11  Alexandre Oliva  <aoliva@redhat.com>
5632
5633         * elf32-sh.c: Added missing prototypes.
5634         * elf32-sh64.c: Likewise.
5635         (sh_elf_align_loads): Mark unused args as such.
5636         * elf64-sh64.c: Added missing prototypes.
5637         (struct elf_sh64_link_hash_entry): Fix typo.
5638         (sh_elf64_relocate_section): Fix info argument passed to
5639         _bfd_elf_section_offset.
5640
5641 2002-02-11  Alan Modra  <amodra@bigpond.net.au>
5642
5643         * Makefile.am: "make dep-am".
5644         * Makefile.in: Regenerate.
5645         * aclocal.m4: Regenerate.
5646         * config.in: Regenerate.
5647         * configure: Regenerate.
5648
5649 2002-02-10  Daniel Jacobowitz  <drow@mvista.com>
5650
5651         * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
5652         variable warnings.
5653         * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
5654         comparison warning.
5655         * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
5656         cast warnings for the common case.
5657
5658 2002-02-10  Hans-Peter Nilsson  <hp@bitrange.com>
5659
5660         * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
5661         vectors.
5662         (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
5663         vectors.
5664
5665 2002-02-09  Richard Henderson  <rth@redhat.com>
5666
5667         * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
5668         (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
5669         (elf64_alpha_relocate_section): Likewise.
5670         * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
5671         * bfd-in2.h, libbfd.h: Rebuild.
5672
5673 2002-02-09  Hans-Peter Nilsson  <hp@bitrange.com>
5674
5675         * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
5676         that base-plus-offset reloc accounting is consistent.
5677         (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
5678         up to date for undefined symbols.
5679
5680 2002-02-08  Eric Christopher  <echristo@redhat.com>
5681
5682         From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
5683
5684         * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
5685         sections for the O32 ABI.
5686
5687 2002-02-08  Chris Demetriou  <cgd@broadcom.com>
5688
5689         * elf32-arm.h: Fix formatting of _("...").
5690         * elf32-d10v.c: Likewise.
5691         * elf32-m68k.c: Likewise.
5692         * elf32-mips.c: Likewise.
5693
5694 2002-02-08  Ivan Guzvinec <ivang@opencores.org>
5695
5696         * coff-or32.c: Fix compile time warning messages.
5697
5698 2002-02-08  Alexandre Oliva  <aoliva@redhat.com>
5699
5700         Contribute sh64-elf.
5701         2002-01-23  Alexandre Oliva  <aoliva@redhat.com>
5702         * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
5703         R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
5704         R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
5705         R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
5706         R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
5707         R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
5708         R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
5709         R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
5710         R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
5711         New relocs.
5712         * libbfd.h, bfd-in2.h: Rebuilt.
5713         * elf32-sh.c (sh_elf_howto_table): Define new relocs.
5714         (sh_reloc_map): Map them.
5715         (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
5716         elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
5717         elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
5718         elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
5719         elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
5720         elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
5721         movi_shori_putval) [INCLUDE_SHMEDIA]: New.
5722         (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
5723         datalabel_got_offset.
5724         (sh_elf_link_hash_newfunc): Initialize it.
5725         (sh_elf_relocate_section): Augment the scope of
5726         seen_stt_datalabel.  Introduce GOTPLT support.  Extend GOTPC, PLT,
5727         GOT and GOTOFF handling to new SHmedia relocation types.  Support
5728         GOT_BIAS.
5729         (sh_elf_check_relocs): Likewise.
5730         (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
5731         PLT entries using movi_shori_putval.  Support GOT_BIAS.
5732         (sh_elf_finish_dynamic_sections): Likewise.
5733         * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
5734         relocation, it's now done by the caller.
5735         (GOT_BIAS): New.
5736         * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
5737         elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
5738         elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
5739         elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
5740         elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
5741         elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
5742         sh64_elf64_hash_table): New.
5743         (sh_elf64_howto_table): Introduce new relocs.
5744         (sh_elf64_info_to_howto): Accept new PIC relocs.
5745         (sh_elf64_relocate_section): Augment the scope of
5746         seen_stt_datalabel.  Support new PIC relocs.
5747         (sh_elf64_check_relocs): Support new PIC relocs.
5748         (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
5749         elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
5750         elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
5751         elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
5752         sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
5753         movi_shori_putval, movi_3shori_putval,
5754         sh64_elf64_create_dynamic_sections,
5755         sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
5756         sh64_elf64_size_dynamic_sections,
5757         sh64_elf64_finish_dynamic_symbol,
5758         sh64_elf64_finish_dynamic_sections): New.
5759         (elf_backend_create_dynamic-sections,
5760         bfd_elf64_bfd_link_hash_table_create,
5761         elf_backend_adjust_dynamic_symbol,
5762         elf_backend_size_dynamic_sections,
5763         elf_backend_finish_dynamic_symbol,
5764         elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
5765         elf_backend_plt_readonly, elf_backend_want_plt_sym,
5766         elf_backend_got_header_size, elf_backend_plt_header_size):
5767         Define.
5768         2001-05-16  Alexandre Oliva  <aoliva@redhat.com>
5769         * elf32-sh.c: Renumbered and renamed some SH5 relocations to
5770         match official numbers and names; moved unmaching ones to the
5771         range 0xf2-0xff.
5772         * elf32-sh64.c, elf64-sh64.c: Likewise.
5773         2001-03-12  DJ Delorie  <dj@redhat.com>
5774         * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
5775         sections.
5776         2001-03-12  DJ Delorie  <dj@redhat.com>
5777         * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
5778         be aligned.
5779         * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
5780         2001-01-14  Hans-Peter Nilsson  <hpn@cygnus.com>
5781         * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
5782         (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
5783         .cranges section with SEC_SORT_ENTRIES set.
5784         (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
5785         incoming sorted .cranges section.
5786         (sh64_bfd_elf_copy_private_section_data): New.
5787         (sh64_elf_final_write_processing): Only sort .cranges and modify
5788         start address if called by linker.
5789         2001-01-08  Ben Elliston  <bje@redhat.com>
5790         * elf32-sh64.c (sh64_elf_final_write_processing): Activate
5791         Hans-Peter Nilsson's set bit 0 patch from       2001-01-06.
5792         * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
5793         2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
5794         * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
5795         line.  Add comments before all entries.
5796         <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
5797         comment.
5798         (sh_elf64_reloc): Correct head comment.
5799         (sh_elf64_relocate_section): Correct spacing.
5800         <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
5801         instead call reloc_dangerous callback.
5802         <case R_SH_SHMEDIA_CODE>: New case.
5803         (sh_elf64_gc_mark_hook): Correct spacing.
5804         (sh_elf64_check_relocs): Ditto.
5805         * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
5806         New case.
5807         * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
5808         functions.
5809         (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
5810         clarify describing comment.  Add comments before all entries.
5811         (sh_elf_relocate_section) <relocating for a local symbol>: Do not
5812         honour STO_SH5_ISA32; instead call reloc_dangerous callback.
5813         2001-01-06  Hans-Peter Nilsson  <hpn@cygnus.com>
5814         Sort .cranges section in final link.  Prepare to set bit 0 on
5815         entry address.
5816         * elf32-sh64.c (struct sh64_find_section_vma_data): New.
5817         (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
5818         (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
5819         .cranges section.
5820         (sh64_backend_section_from_shdr): New, to recognize
5821         SHT_SH5_CR_SORTED on incoming .cranges section.
5822         (elf_backend_section_from_shdr): Define.
5823         (sh64_elf_final_write_processing): Sort outgoing .cranges
5824         section.  (New, temporarily disabled:) Set bit 0 on entry address
5825         according to ISA type.
5826         (sh64_find_section_for_address): New.
5827         (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
5828         crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
5829         (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c.  Use
5830         bfd_malloc, not xmalloc.
5831         (sh64_get_contents_type): Move here from opcodes/sh64-dis.c.  Make
5832         global.
5833         * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
5834         temporarily disabled) setting bit 0 on entry address.
5835         (elf_backend_final_write_processing): Define.
5836         2001-01-05  Hans-Peter Nilsson  <hpn@cygnus.com>
5837         * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
5838         be a proper relocation for PTA and PTB rather than a marker.
5839         <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
5840         R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
5841         R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
5842         R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
5843         R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
5844         Zero src_mask.
5845         * elf64-sh64.c: Ditto.
5846         (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
5847         * elf32-sh64.c: Include opcodes/sh64-opc.h
5848         (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
5849         argument.  Drop const qualifiers from "bfd *" and "bfd_byte *"
5850         parameters.  No unused parameters.  Caller changed.
5851         <case R_SH_PT_16>: New case.
5852         * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
5853         * Makefile.in: Regenerate.
5854         2000-12-30  Hans-Peter Nilsson  <hpn@cygnus.com>
5855         * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
5856         all code sections.
5857         (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
5858         (sh64_elf_merge_private_data): Ditto.
5859         * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
5860         to access stored section flags.
5861         (sh64_elf_final_write_processing): Return immediately unless
5862         called by linker.  Use sh64_elf_section_data (cranges) to get size
5863         of linker-generated cranges entries.
5864         (sh64_elf_copy_private_data): Add missing "return true".
5865         (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
5866         (sh_elf64_merge_private_data): Ditto.
5867         2000-12-19  Hans-Peter Nilsson  <hpn@cygnus.com>
5868         * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
5869         elf64-sh64.c:sh64_elf_fake_sections.
5870         (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
5871         2000-12-18  Hans-Peter Nilsson  <hpn@cygnus.com>
5872         * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
5873         (sh64_elf_final_write_processing): New.
5874         (elf_backend_final_write_processing): Define.
5875         (sh64_elf_fake_sections): Get header flags from tdata field.
5876         (sh64_elf_copy_private_data): Do not call
5877         sh64_elf_copy_private_data_internal, just copy e_flags field.
5878         (sh64_elf_merge_private_data): Do not call
5879         sh64_elf_copy_private_data_internal.
5880         2000-12-12  Hans-Peter Nilsson  <hpn@cygnus.com>
5881         Remove EF_SH64_ABI64, let ELF size make difference.
5882         Remove SH64-specific BFD section flag.
5883         * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
5884         containing SHmedia through elf_section_data (asect)->tdata
5885         non-zero, not using a BFD section flag.
5886         (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
5887         (sh64_elf_merge_private_data): Similar.
5888         (elf_backend_section_flags): Don't define.
5889         (sh64_elf_backend_section_flags): Delete.
5890         * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
5891         not EF_SH64_ABI64.
5892         (sh_elf64_merge_private_data): Similar.
5893         * section.c (Section flags definitions): Don't define
5894         SEC_SH_ISA_SHMEDIA.
5895         (bfd-in2.h): Regenerate.
5896         2000-12-09  Hans-Peter Nilsson  <hpn@cygnus.com>
5897         Make DataLabel references work with partial linking.
5898         * elf32-sh64.c: Fix formatting.
5899         (sh64_elf_link_output_symbol_hook): New.
5900         (elf_backend_link_output_symbol_hook): Define to
5901         sh64_elf_link_output_symbol_hook.
5902         (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
5903         undefined if partial linking.  Adjust sanity check.
5904         * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
5905         (elf_backend_link_output_symbol_hook): Define to
5906         sh64_elf64_link_output_symbol_hook.
5907         (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
5908         undefined if partial linking.  Adjust sanity check.
5909         2000-12-07  Hans-Peter Nilsson  <hpn@cygnus.com>
5910         Implement semantics for inter-file DataLabel references.
5911         * elf64-sh64.c (DATALABEL_SUFFIX): Define.
5912         (sh64_elf64_add_symbol_hook): New.
5913         (sh_elf64_relocate_section): If passing an indirect symbol with
5914         st_type STT_DATALABEL on the way to a symbol with st_other
5915         STO_SH5_ISA32, do not bitor 1 to the relocation.
5916         (elf_backend_add_symbol_hook): Define to
5917         sh64_elf64_add_symbol_hook.
5918         * elf64-sh32.c: Tweak comments.
5919         (DATALABEL_SUFFIX): Define.
5920         (sh64_elf_add_symbol_hook): New.
5921         (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
5922         * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
5923         symbol with st_type STT_DATALABEL on the way to a symbol with
5924         st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
5925         2000-12-05  Hans-Peter Nilsson  <hpn@cygnus.com>
5926         Pass through STT_DATALABEL.
5927         * elf32-sh64.c (sh64_elf_get_symbol_type): New.
5928         (elf_backend_get_symbol_type): Define.
5929         * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
5930         (elf_backend_get_symbol_type): Define.
5931         2000-11-30  Hans-Peter Nilsson  <hpn@cygnus.com>
5932         * elf32-sh64.c: Tweak comments.
5933         (sh64_elf_copy_private_data_internal): Add prototype.
5934         (bfd_elf32_bfd_set_private_flags): Define.
5935         (sh64_elf_copy_private_data_internal): Compare machine name, not
5936         textual BFD target name, to check whether to copy section flag
5937         SHF_SH5_ISA32.
5938         (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
5939         Tweak section-contents-type-mismatch message.
5940         (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
5941         Validize reloc-types.
5942         * elf64-sh64.c: New file.
5943         * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
5944         * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
5945         (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
5946         Regenerate dependencies.
5947         * Makefile.in: Regenerate.
5948         * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
5949         bfd_elf64_sh64l_vec.
5950         * configure.in: Handle bfd_elf64_sh64_vec and
5951         bfd_elf64_sh64l_vec.
5952         * configure: Regenerate.
5953         * po/POTFILES.in: Regenerate.
5954         * po/bfd.pot: Regenerate.
5955         2000-11-29  Hans-Peter Nilsson  <hpn@cygnus.com>
5956         * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
5957         anything else but EF_SH64 and EF_SH64_ABI64.
5958         (sh64_elf_merge_private_data): Emit error for anything else but
5959         EF_SH64 and EF_SH64_ABI64.
5960         * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
5961         from targ_selvecs.
5962         * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
5963         bfd_elf32_sh64l_vec as a temporary measure.
5964         * configure: Regenerate.
5965         2000-11-27  Hans-Peter Nilsson  <hpn@cygnus.com>
5966         * cpu-sh.c (arch_info_struct): Include sh5 item
5967         unconditionalized.
5968         * config.bfd (sh64-*-elf*): Do not set targ_cflags.
5969         Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
5970         bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
5971         * elf32-sh64.c: Tweak comments.
5972         (sh64_elf_set_mach_from_flags): Recognize all machine flags that
5973         are proper subsets of SH64 as bfd_mach_sh5.  Add EF_SH64_ABI64.
5974         (sh64_elf_copy_private_data_internal): Wrap long line.
5975         (sh64_elf_merge_private_data): Rewrite to allow objects from
5976         SH64 subsets to be linked together.
5977         (INCLUDE_SHMEDIA): Define.
5978         * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
5979         Parenthesize plus-expression inside or-expression.
5980         <global symbol>: Ditto.
5981         (sh_elf_set_mach_from_flags): Remove code refusing
5982         deleted EF_SH64_32BIT_ABI flag.
5983         2000-11-26  Hans-Peter Nilsson  <hpn@cygnus.com>
5984         * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
5985         R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
5986         R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
5987         (sh_elf_relocate_section) <local symbol>: Or 1 in
5988         calculation of relocation if sym->st_other & STO_SH5_ISA32.
5989         <global symbol>: Ditto if h->other & STO_SH5_ISA32.
5990         * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
5991         relocation.
5992         2000-11-24  Hans-Peter Nilsson  <hpn@cygnus.com>
5993         * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
5994         (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
5995         Regenerate dependencies.
5996         * Makefile.in: Regenerate.
5997         * archures.c: Add bfd_mach_sh5.
5998         * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
5999         Handle sh64-*-elf*.  Set targ_cflags to -DINCLUDE_SHMEDIA.
6000         * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
6001         * configure: Regenerate.
6002         * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
6003         BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
6004         BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
6005         BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
6006         BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
6007         BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
6008         BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
6009         BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
6010         BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
6011         * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
6012         in item for SH5.
6013         * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
6014         for SHmedia relocs.
6015         [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
6016         [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
6017         shmedia_prepare_reloc, goto final_link_relocate if it returns
6018         non-zero, else fail as before.
6019         (sh_elf_set_mach_from_flags): Provide function only if not defined
6020         as macro.  Do not recognize objects with EF_SH64_32BIT_ABI set.
6021         (sh_elf_set_private_flags): Provide function only if not defined
6022         as a macro.
6023         (sh_elf_copy_private_data): Similar.
6024         (sh_elf_merge_private_data): Similar.
6025         * section.c (SEC_SH_ISA_SHMEDIA): New.
6026         * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
6027         * elf32-sh64.c: New file.
6028         * libbfd.h: Regenerate.
6029         * bfd-in2.h: Regenerate.
6030         * po/POTFILES.in: Regenerate.
6031         * po/bfd.pot: Regenerate.
6032         * bfd-in2.h: Regenerate.
6033         * libbfd.h: Regenerate.
6034
6035 2002-02-07  Daniel Jacobowitz  <drow@mvista.com>
6036
6037         * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
6038         been included, not drag it in.
6039         * bfd-in2.h: Regenerate.
6040
6041 2002-02-06  H.J. Lu  (hjl@gnu.org)
6042
6043         * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
6044         the mach and ISA fields if necessary.
6045
6046 2002-02-06  Nick Clifton  <nickc@cambridge.redhat.com>
6047
6048         * coffcode.h (coff_set_arch_mach_hook): Select the highest known
6049         ARM architecture when an F_ARM_5 flag is detected, since we cannot
6050         be sure exactly which architecture this represents.
6051
6052 2002-02-05  Nick Clifton  <nickc@redhat.com>
6053
6054         * po/tr.po: Updated translation.
6055
6056 2002-02-05  Alan Modra  <amodra@bigpond.net.au>
6057
6058         From Jimi X <jimix@watson.ibm.com>
6059         * archures (bfd_mach_ppc64): Define.
6060         (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
6061         (bfd_powerpc_arch): Define.
6062         * bfd-in2.h: Regenerate.
6063         * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
6064         (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
6065         (bfd_powerpc_archs): Add default powerpc64 arch.
6066
6067 2002-02-05  Alan Modra  <amodra@bigpond.net.au>
6068
6069         * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
6070         against section syms in readonly sections.  Don't do the global
6071         sym check if we find one.
6072         * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
6073         * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
6074         * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
6075         * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
6076         (elf_s390_grok_prstatus): Add missing prototype.
6077
6078 2002-02-04  Hans-Peter Nilsson  <hp@bitrange.com>
6079
6080         * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
6081         (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
6082         Call bfd_get_section_by_name only once.  Initialize
6083         bpodata->n_bpo_relocs_this_section.
6084         (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
6085         referring to DSOs.
6086         (bpo_reloc_request_sort_fn): Don't use difference of values as
6087         return-value.
6088
6089 2002-02-02  David O'Brien  <obrien@FreeBSD>
6090
6091         * configure.in: Tweak the FreeBSD 4.x recognition more.  Only treat
6092         version 4.5 and later the same as 5-CURRENT.
6093         * configure: Re-generate.
6094
6095 2002-02-02  Jason Thorpe  <thorpej@wasabisystems.com>
6096
6097         * config.bfd (hppa*-*-netbsd*): New target.
6098
6099 2002-01-31  Philipp Thomas  <pthomas@suse.de>
6100
6101         * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
6102         to front of message. Unify messages with elf32-arm.h. Use
6103         commas where neccessary.
6104         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
6105         ERROR in messages. Unify messages with coff-arm.c. Correct
6106         VFP/FPA error message.
6107         (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
6108         APCS-32 for translation.
6109
6110 2002-02-01  Hans-Peter Nilsson  <hp@bitrange.com>
6111
6112         Perform on-demand global register allocation from
6113         R_MMIX_BASE_PLUS_OFFSET relocs.
6114         * elf64-mmix.c (struct bpo_reloc_section_info, struct
6115         bpo_reloc_request, struct bpo_greg_section_info): New.
6116         (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
6117         bpo_reloc_request_sort_fn, mmix_elf_relax_section,
6118         _bfd_mmix_check_all_relocs,
6119         _bfd_mmix_prepare_linker_allocated_gregs,
6120         _bfd_mmix_finalize_linker_allocated_gregs): New functions.
6121         (elf_mmix_howto_table): Correct src_mask for most relocs.
6122         (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
6123         case.
6124         (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
6125         case.  Fix typo in comment.  New label do_mmix_reloc.
6126         (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
6127         store first object file with a base-plus-offset reloc.  Call
6128         mmix_elf_check_common_relocs for the part common with mmo.
6129         (mmix_elf_final_link): Write out linker-allocated register
6130         contents section.
6131         (elf_backend_gc_sweep_hook): Define.
6132         (bfd_elf64_bfd_relax_section): Define.
6133
6134         * mmo.c: Don't include <ctype.h>
6135         (mmo_init): Correct init-once logic.
6136
6137 2002-02-01  Tom Rix  <trix@redhat.com>
6138
6139         * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
6140
6141 2002-02-01  Alan Modra  <amodra@bigpond.net.au>
6142
6143         * Makefile.am: Run "make dep-am"
6144         * Makefile.in: Regenerate.
6145
6146 2002-01-31  David O'Brien  <obrien@FreeBSD>
6147
6148         * configure.in: Recognize the differences in core files from FreeBSD
6149         4.{0,1} and later versions of 4.x.  This treats 4.2+ the same as
6150         5-CURRENT.
6151         * configure: Regenerate.
6152
6153 2002-01-31  Ivan Guzvinec  <ivang@opencores.org>
6154
6155         * coff-or32.c: New file.
6156         * cpu-or32.c: New file.
6157         * elf32-or32.c: New file.
6158         * archures.c: Add support for or32.
6159         * targets.c: Add support for or32.
6160         * bfd-in2.h: Regenerate.
6161         * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
6162         coff_write_object_contents): Add support for or32.
6163         * config.bfd: Add target.
6164         * configure.in: Add support for or32.
6165         * configure: Regenerate.
6166         * Makefile.am: Add support for or32.
6167         * Makefile.in: Regenerate.
6168         * po/SRC-POTFILES.in: Add or32 files.
6169         * po/bfd.pot: Regenerate.
6170
6171 2002-01-31  Nick Clifton  <nickc@cambridge.redhat.com>
6172             Don Lindsay  <lindsayd@cisco.com>
6173
6174         * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
6175         false' with a return of a bfd_reloc_ error code.
6176
6177 2002-01-31  Hans-Peter Nilsson  <hp@axis.com>
6178
6179         * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
6180         unexport unreferenced symbols when --export-dynamic.  Call
6181         _bfd_elf_strtab_delref when unexporting.
6182
6183 2002-01-30  Daniel Jacobowitz  <drow@mvista.com>
6184
6185         * bfd-in.h: Include <stdbool.h> if it is available.
6186         * bfd-in2.h: Regenerated.
6187
6188 2002-01-31  Alan Modra  <amodra@bigpond.net.au>
6189
6190         * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
6191         not go via the plt.
6192
6193 2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
6194
6195         * archures.c: Tidy up formatting of embedded comments.
6196         * bfd.c: Tidy up formatting of embedded comments.
6197         * bfd-in.h: Fix formatting of comments.
6198         * reloc.c: Tidy up formatting of ordinary & embedded comments.
6199         * section.c: Tidy up formatting of embedded comments.
6200         * syms.c: Tidy up formatting of embedded comments.
6201         * targets.c: Tidy up formatting of embedded comments.
6202
6203         * bfd-in2.h: Regenerate.
6204
6205 2002-01-30  Nick Clifton  <nickc@cambridge.redhat.com>
6206
6207         * vms-tir.c (cmd_name): New function.
6208         (tir_cmd_name): New function.
6209         (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
6210         (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
6211         Fix formatting.
6212
6213         * peXXigen.c (pe_print_idata): Rearrange message to aid in
6214         translation.
6215         (pe_print_pdata):  Rearrange message to aid in translation.
6216
6217         * libbfd.c (warn_deprecated): Rearrange error message to aid in
6218         translation.
6219
6220         * ihex.c (ihex_write_object_contents): Fix spelling typo.
6221
6222         * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
6223
6224         * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
6225         message to aid in translation.
6226
6227         * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
6228         to aid in translation.
6229
6230         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
6231
6232 2002-01-30  Philipp Thomas  <pthomas@suse.de>
6233
6234         * coff-arm.c, elf32-elf.h: Unify messages.
6235
6236 2002-01-30  Nick Clifton <nickc@redhat.com>
6237
6238         * po/sv.po: Updated translation.
6239
6240 2002-01-30  Philipp Thomas  <pthomas@suse.de>
6241
6242         * dwarf2.c (read_abbrev): Use full section name in error message.
6243         (decode_line_info): Likewise.
6244
6245         * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
6246         message.
6247
6248 2002-01-30  Alan Modra  <amodra@bigpond.net.au>
6249
6250         * elf64-ppc.c (func_desc_adjust): Only provide missing function
6251         descriptor symbols for undefined function code syms.  Clear
6252         ELF_LINK_NON_ELF so that they can stay weak.
6253
6254 2002-01-29  Chris Demetriou  <cgd@broadcom.com>
6255             Mitch Lichtenberg  <mpl@broadcom.com>
6256
6257         * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
6258         * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
6259         to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
6260         generation.
6261         * bfd-in2.h: Regenerate.
6262
6263 2002-01-29  Chris Demetriou  <cgd@broadcom.com>
6264
6265         * elf32-mips.c: Add additional comments about HI16 relocation
6266         processing.
6267         (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
6268         pc-relative relocations.  (Reverts change made on 2001-10-31.)
6269         (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
6270         for pc-relative relocations.
6271         (mips_elf_calculate_relocation): Add a comment about a kludge
6272         in the R_MIPS_GNU_REL_HI16 handling.
6273         (_bfd_mips_elf_relocate_section): Implement that kludge;
6274         adjust pc-relative HI16 relocation for difference in HI16 and
6275         LO16 addresses, since it can't easily be done in
6276         mips_elf_calculate_relocation.
6277
6278 2002-01-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>
6279
6280         * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
6281         relocations with PC32 relocations for undefined or weak symbols.
6282         * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
6283         * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
6284
6285 2002-01-28  Jason Thorpe  <thorpej@wasabisystems.com>
6286
6287         * elfcore.h (elf_core_file_p): Improve comment for last change.
6288
6289 2002-01-27  Daniel Jacobowitz  <drow@mvista.com>
6290
6291         * configure: Regenerated.
6292
6293 2002-01-27  Jason Thorpe  <thorpej@wasabisystems.com>
6294
6295         * elfcore.h (elf_core_file_p): Set the machine architecture
6296         before processing the program headers.
6297
6298 2002-01-26  Hans-Peter Nilsson  <hp@bitrange.com>
6299
6300         * configure.in <64-bit configuration>: If using gcc, check and
6301         emit error for egcs-1.1.2.
6302         * configure: Regenerate.
6303
6304 2002-01-26  Egor Duda  <deo@logos-m.ru>
6305
6306         * elf.c (elfcore_grok_win32pstatus): Copy only as much information
6307         as possible to avoid stack corruption.
6308
6309 2002-01-26  Richard Henderson  <rth@redhat.com>
6310
6311         * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
6312         for non-allocated sections.
6313
6314 2002-01-25  Mark Kettenis  <kettenis@gnu.org>
6315
6316         * elf.c (elfcore_write_prstatus): Make sure we pass the address of
6317         prstat.pr_reg even if it is a struct.
6318
6319 2002-01-25  Steve Ellcey <sje@cup.hp.com>
6320
6321         * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
6322
6323 2002-01-25  Philipp Thomas  <pthomas@suse.de>
6324
6325         * coffgen.c (coff_print_symbol): Don't mark info message
6326         for translation.
6327
6328 2002-01-25  Nick Clifton <nickc@redhat.com>
6329
6330         * po/fr.po: Updated translation.
6331         * po/es.po: Updated translation.
6332
6333 2002-01-25  Philipp Thomas  <pthomas@suse.de>
6334
6335         * coff-alpha.c (alpha_relocate_section): Unify warning message
6336         for GP relative relocations without GP defined.
6337         * coff-mips.c (mips_relocate_section): Likewise.
6338
6339 2002-01-25  Alan Modra  <amodra@bigpond.net.au>
6340
6341         * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
6342         unsigned overflow when new_offset < old_offset.
6343
6344 2002-01-24  Philipp Thomas  <pthomas@suse.de>
6345
6346         * bfd.c (_bfd_abort): Fix typo.
6347
6348 2002-01-23  Richard Henderson  <rth@redhat.com>
6349
6350         * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
6351         plt entries for undefweak symbols.
6352
6353 2002-01-23  Steve Ellcey <sje@cup.hp.com>
6354
6355         * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
6356         (bfd_elf64_ia64_hpux_big_vec): Ditto.
6357         (bfd_elf32_h8300_vec): Ditto.
6358
6359 2002-01-23  Alan Modra  <amodra@bigpond.net.au>
6360
6361         * elf64-ppc.c: Remove stale part of ABI comment.
6362         (NO_OPD_RELOCS): Define.
6363         (ppc64_elf_check_relocs): Use it.
6364         (ppc64_elf_relocate_section): Here too.
6365         (build_one_stub): Don't point function syms at the stub.  Instead,
6366         hijack plt.offset.
6367         (ppc64_elf_relocate_section): Check whether REL24 relocs should
6368         really go to the stub.  Make all dynamic relocs in opd against
6369         locals.
6370         (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
6371         plt.offset.
6372
6373 2002-01-22  Richard Henderson  <rth@redhat.com>
6374
6375         * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
6376
6377 2002-01-22  Alan Modra  <amodra@bigpond.net.au>
6378
6379         * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
6380         TOC_BASE_OFF adjustment.
6381
6382         * Makefile.am: Run "make dep-am".
6383         * Makefile.in: Regenerate.
6384         * po/SRC-POTFILES.in: Regenerate.
6385
6386 2002-01-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6387
6388         * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
6389         host defines.
6390
6391 2002-01-21  Hans-Peter Nilsson  <hp@axis.com>
6392
6393         * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
6394         Check for and emit error if sgot is NULL at this point.
6395
6396 2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>
6397
6398         * config.bfd (ia64*-*-netbsd*): New target.
6399
6400 2002-01-21  Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
6401
6402         * som.c (som_write_space_strings): Comment typo fix.
6403
6404 2002-01-21  Alan Modra  <amodra@bigpond.net.au>
6405
6406         * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
6407         is_func_descriptor fields.
6408         (link_hash_newfunc): Init them.
6409         (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
6410         dot are candidates for plt entries.  When processing .opd relocs,
6411         set function descriptor strings to point inside function code
6412         string, and set new ppc_link_hash_entry fields.
6413         (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
6414         (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
6415         function descriptors.  It's now done in..
6416         (func_desc_adjust): New.
6417         (ppc64_elf_func_desc_adjust): New.
6418         (define elf_backend_always_size_sections): Define.
6419         (ppc64_elf_hide_symbol): New.
6420         (define elf_backend_hide_symbol): Define.
6421         (allocate_dynrelocs): Remove code looking up function descriptors
6422         as that has been done earlier.
6423         (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
6424         table.
6425         (ppc64_elf_finish_dynamic_symbol): Likewise.  Remove code looking
6426         up function descriptor.
6427         (build_one_stub): Look up the function code sym.  Check for
6428         invalid plt offsets.
6429         (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
6430         Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
6431
6432         * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
6433         boolean param.
6434         (_bfd_elf_link_hash_hide_symbol): Likewise.
6435         * elflink.h (elf_link_add_object_symbols): Adjust call to
6436         elf_backend_hide_symbol.
6437         (elf_fix_symbol_flags): Likewise.
6438         (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
6439         than bfd_alloc.
6440         * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
6441         Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
6442         * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
6443         (clobber_millicode_symbols): Adjust to suit new hide_symbol.
6444         * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
6445         and adjust to suit.
6446         * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
6447         _bfd_elf_link_hash_hide_symbol rather than duplicating code.
6448         * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
6449
6450 2002-01-18  Alan Modra  <amodra@bigpond.net.au>
6451
6452         * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
6453         dynamic function descriptor symbol, not the associated function
6454         symbol.
6455
6456 2002-01-17  Eric Christopher  <echristo@redhat.com>
6457
6458         * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
6459
6460 2002-01-17  Nick Clifton  <nickc@cambridge.redhat.com>
6461
6462         * po/bfd.pot: Regenerate.
6463         * po/fr.po: Regenerate.
6464
6465 2002-01-17  Alan Modra  <amodra@bigpond.net.au>
6466
6467         * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
6468         Remove "Elf_Internal_Shdr *" param.
6469         (_bfd_mips_elf_section_from_bfd_section): Ditto.
6470         * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
6471         * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
6472         * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
6473         * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
6474         * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
6475         * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
6476         function to override special sections.  Remove hdr arg from
6477         backend call, and don't loop.
6478
6479 2002-01-16  Eric Christopher  <echristo@redhat.com>
6480
6481         * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
6482         on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
6483         relocations requiring gp0 and gp.
6484
6485 2002-01-16  Richard Earnshaw  <rearnsha@arm.com>
6486
6487         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
6488         EF_ARM_VFP_FLOAT.
6489         (elf32_arm_print_private_bfd_data): Likewise.
6490
6491 2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>
6492
6493         * po/tr.po: Import new version.
6494
6495 2002-01-16  Alan Modra  <amodra@bigpond.net.au>
6496
6497         * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
6498         (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
6499         (ORI_R0_R0_0): Correct.
6500
6501 2002-01-16  Alan Modra  <amodra@bigpond.net.au>
6502
6503         * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
6504         when plt_not_loaded.
6505         * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
6506         clear .plt SEC_CODE here.  Create .stub and correct .glink flags.
6507         (PLT_INITIAL_ENTRY_SIZE): Set to 24.
6508         (ppc64_elf_glink_code): Delete.
6509         (PPC64_ELF_GLINK_SIZE): Delete.
6510         (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
6511         BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
6512         ORI_R0_R0_0): Define.
6513         (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
6514         (struct ppc_link_hash_table): Add sstub and plt_overflow.
6515         (ppc64_elf_link_hash_table_create): Init them.
6516         (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
6517         Don't copy to shared lib.
6518         (ppc64_elf_check_relocs): Call bfd_set_error on errors.
6519         (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
6520         (allocate_dynrelocs <plt>): Don't change function sym here.  Make
6521         room for .stub and .glink code.
6522         (ppc64_elf_size_dynamic_sections): Handle .stub.  Make entry for
6523         DT_PPC64_GLINK.
6524         (ppc64_elf_final_link): Rename to ppc64_elf_set_toc.  Don't call
6525         bfd_elf64_bfd_final_link.
6526         (bfd_elf64_bfd_final_link): Don't define.
6527         (ppc64_elf_size_stubs): New.
6528         (build_plt_stub): New.
6529         (build_one_stub): New.
6530         (ppc64_elf_build_stubs): New.
6531         (ppc64_elf_relocate_section <toc relocs>): Remove assert.
6532         (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
6533         (ppc64_elf_finish_dynamic_symbol): Don't build stubs here.  Set
6534         DT_PPC64_GLINK entry.  Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
6535         case output sections not separate.  Adjust DT_RELASZ to not
6536         include plt relocs.  Set reserved got entry.  Set got and plt
6537         entry size.
6538         (elf_backend_got_header_size): Set to 8.
6539         * elf64-ppc.h: New file.
6540
6541 2002-01-16  Alan Modra  <amodra@bigpond.net.au>
6542
6543         * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
6544         sections, use bfd_section_list_remove.
6545         * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
6546         * elflink.h (elf_link_add_object_symbols): When removing all
6547         sections, use bfd_section_list_clear.
6548
6549 2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
6550
6551         * po/sv.po: New file: Swedish translation.
6552         * configure.in (ALL_LINGUAS): Add sv.
6553         * configure: Regenerate.
6554
6555 2002-01-15  Jakub Jelinek  <jakub@redhat.com>
6556
6557         * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
6558         * elf.c (merge_sections_remove_hook): New function.
6559         (_bfd_elf_merge_sections): Pass it as 3rd argument to
6560         _bfd_merge_sections.
6561         * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
6562         * libbfd.h: Rebuilt.
6563         * merge.c (_bfd_merge_sections): Add remove_hook argument.
6564         Call remove_hook if a SEC_EXCLUDE section is encountered.
6565
6566 2002-01-15  Nick Clifton  <nickc@cambridge.redhat.com>
6567
6568         * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
6569         (xstormy16_reloc_map): Initialise new field with correct howto
6570         table.
6571         (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
6572         howto entry.
6573
6574 2002-01-10  Michael Snyder  <msnyder@redhat.com>
6575
6576         * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
6577         (elfcore_write_pstatus): Use long instead of pid_t;
6578         * elf-bfd.h: Change prototypes to use long instead of pid_t;
6579
6580 2002-01-09  Jason Thorpe  <thorpej@wasabisystems.com>
6581
6582         * elf.c: Update copyright years.
6583         (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
6584         and NT_NETBSDCORE_FIRSTMACH.  Improve a comment.
6585
6586 2002-01-08  Michael Snyder  <msnyder@redhat.com>
6587
6588         Add capability to write corefile note sections, for gdb.
6589         * elf.c (elfcore_write_note): New function.
6590         (elfcore_write_prpsinfo): New function.
6591         (elfcore_write_prstatus): New function.
6592         (elfcore_write_pstatus): New function.
6593         (elfcore_write_prfpreg): New function.
6594         (elfcore_write_prxfpreg): New function.
6595         * elf-bfd.h: Add prototypes for above functions.
6596
6597 2002-01-08  Alexandre Oliva  <aoliva@redhat.com>
6598
6599         * elf.c (elf_fake_sections): Propagate errors from
6600         elf_backend_fake_section.
6601
6602 2002-01-07  Jason Thorpe  <thorpej@wasabisystems.com>
6603
6604         * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
6605         (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
6606         (elf32-sh-nbsd.lo): New rule.
6607         * Makefile.in: Regenerate.
6608         * config.bfd (sh*le-*-netbsdelf*): New target.
6609         (sh*-*-netbsdelf*): New target.
6610         * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
6611         (bfd_elf32_shnbsd_vec): New vector.
6612         (bfd_elf32_shlnbsd_vec): New vector.
6613         * configure: Regenerate.
6614         * elf32-sh-nbsd.c: New file.
6615         * targets.c: Update copyright years.
6616         (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
6617         bfd_elf32_shnbsd_vec.
6618
6619 2002-01-07  Aldy Hernandez  <aldyh@redhat.com>
6620
6621         * coff-rs6000.c (READ20): Use bfd_scan_vma.
6622
6623 2002-01-07  Geoffrey Keating  <geoffk@redhat.com>
6624
6625         * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
6626         of a symbol in a section that will be deleted.
6627
6628 2002-01-07  Nick Clifton  <nickc@cambridge.redhat.com>
6629
6630         * po/es.po: New file: Spanish translation.
6631         * configure.in (ALL_LINGUAS): Add es.
6632         * configure: Regenerate.
6633
6634 2002-01-06  Steve Ellcey  <sje@cup.hp.com>
6635
6636         * elfxx-ia64.c (is_unwind_section_name): Add target vector as
6637         argument so we can handle HP-UX specially.
6638         (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
6639         (elfNN_hpux_backend_section_from_bfd_section): New for support
6640         of SHN_IA_64_ANSI_COMMON.
6641         (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
6642         (is_unwind_section_name): Add special HP-UX support.
6643         (elfNN_ia64_section_from_shdr): Add support for more sections.
6644         (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
6645         add support for more sections.
6646         (elfNN_ia64_additional_program_headers): Modify
6647         is_unwind_section_name call.
6648         (elfNN_ia64_modify_segment_map): Remove assumption that there is
6649         only one unwind section in segment.
6650
6651 2002-01-06  Alan Modra  <amodra@bigpond.net.au>
6652
6653         * syms.c (_bfd_generic_make_empty_symbol): New function.
6654         * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
6655         _bfd_generic_make_empty_symbol.
6656         * libbfd.h: Regenerate.
6657         * bfd-in2.h: Regenerate.
6658         * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
6659         (hppabsd_core_get_symtab_upper_bound): Don't define.
6660         (hppabsd_core_get_symtab): Likewise.
6661         (hppabsd_core_print_symbol): Likewise.
6662         (hppabsd_core_get_symbol_info): Likewise.
6663         (hppabsd_core_bfd_is_local_label_name): Likewise.
6664         (hppabsd_core_get_lineno): Likewise.
6665         (hppabsd_core_find_nearest_line): Likewise.
6666         (hppabsd_core_bfd_make_debug_symbol): Likewise.
6667         (hppabsd_core_read_minisymbols): Likewise.
6668         (hppabsd_core_minisymbol_to_symbol): Likewise.
6669         (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
6670         Formatting fixes.
6671         * hpux-core.c: Similarly.
6672         * irix-core.c: Similarly.
6673         * osf-core.c: Similarly.
6674         * sco5-core.c: Similarly.
6675         * binary.c (binary_make_empty_symbol): Remove function, define as
6676         _bfd_generic_make_empty_symbol.
6677         * ihex.c (ihex_make_empty_symbol): Likewise.
6678         * mmo.c (mmo_make_empty_symbol): Likewise.
6679         * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
6680         * srec.c (srec_make_empty_symbol): Likewise.
6681         * versados.c (versados_make_empty_symbol): Likewise.
6682         * vms.c (_bfd_vms_make_empty_symbol): Remove.
6683         (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
6684         * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
6685         rather than _bfd_vms_make_empty_symbol.
6686         * vms-misc.c (new_symbol): Likewise.
6687
6688 2002-01-05  Alan Modra  <amodra@bigpond.net.au>
6689
6690         * section.c (bfd_section_init): Remove unnecessary initialisations.
6691         (bfd_section_list_clear): New function.
6692         (bfd_section_list_remove, bfd_section_list_insert): New macros.
6693         (_bfd_strip_section_from_output): Use them.
6694         * coffcode.h (coff_set_alignment_hook): Likewise.
6695         * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
6696         * elf64-mips.c (mips_elf64_final_link): Likewise.
6697         * elf64-mmix.c (mmix_elf_final_link): Likewise.
6698         * sunos.c (sunos_add_dynamic_symbols): Likewise.
6699         * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
6700         * bfd-in2.h: Regenerate.
6701
6702         * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
6703         rather than doing our own section handling.  Clean up after errors
6704         with bfd_release and bfd_section_list_clear.  Handle unexpected
6705         flags.
6706         * aoutf1.h (sunos4_core_file_p): Likewise.
6707         * aix386-core.c (aix386_core_file_p): Likewise.
6708         * cisco-core.c (cisco_core_file_validate): Likewise.
6709         * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
6710         * trad-core.c (trad_unix_core_file_p): Likewise.
6711
6712         * hppabsd-core.c (hppabsd_core_core_file_p):  Clean up after errors
6713         with bfd_release and bfd_section_list_clear.
6714         * hpux-core.c (hpux_core_core_file_p): Likewise.
6715         * irix-core.c (irix_core_core_file_p): Likewise.
6716         * lynx-core.c (lynx_core_file_p): Likewise.
6717         * osf-core.c (osf_core_core_file_p): Likewise.
6718         * rs6000-core.c (rs6000coff_core_p): Likewise.
6719         * sco5-core.c (sco5_core_file_p): Likewise.
6720
6721         * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
6722         sign extension adjustments without conditionals.
6723
6724 2002-01-04  Jakub Jelinek  <jakub@redhat.com>
6725
6726         * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
6727         CIE at .eh_frame start is removed due to no FDEs referencing it.
6728
6729 2002-01-04  Jason Thorpe  <thorpej@wasabisystems.com>
6730
6731         * config.bfd (x86_64-*-netbsd*): New target.
6732         * configure.in (x86_64-*-netbsd*): Set COREFILE
6733         to netbsd-core.lo.
6734         * configure: Regenerated.
6735
6736 2002-01-03  Tom Rix  <trix@redhat.com>
6737
6738         * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
6739         for recent bfd_make_section_anyway change.
6740
6741 2002-01-03  Nick Clifton  <nickc@cambridge.redhat.com>
6742
6743         * elf32-arm.h (elf32_arm_final_link_relocate): Handle
6744         R_ARM_THM_PC11 reloc.
6745
6746 2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
6747
6748         * configure.in (LINGUAS): Add ja.
6749         * configure: Regenerate.
6750         * po/ja.po: Import from translation project's web site.
6751
6752 2002-01-02  Nick Clifton  <nickc@cambridge.redhat.com>
6753
6754         * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
6755         messages to ease translation into other languages.
6756
6757 For older changes see ChangeLog-0001
6758 \f
6759 Local Variables:
6760 mode: change-log
6761 left-margin: 8
6762 fill-column: 74
6763 version-control: never
6764 End: