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