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