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