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