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