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