* elf_i386_relocate_section (R_386_TLS_TPOFF32): Negate addend.
[binutils-gdb.git] / bfd / ChangeLog
1 2002-09-17 Jakub Jelinek <jakub@redhat.com>
2
3 * elf_i386_relocate_section (R_386_TLS_TPOFF32): Negate addend.
4
5 2002-09-17 Alan Modra <amodra@bigpond.net.au>
6
7 * elf64-alpha.c (alpha_elf_size_info): Make static.
8
9 2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
10
11 * coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
12 * cpu-tic4x.c: Ditto.
13
14 2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
15
16 * elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
17 duplicate define.
18
19 2002-09-16 Bruno Haible <bruno@clisp.org>
20
21 * elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
22 by a target variant implementation.
23 * elf64-alpha.c: Likewise.
24 * elf32-i386-fbsd.c: New file.
25 * elf64-alpha-fbsd.c: New file.
26 * targets.c: Support bfd_elf32_i386_freebsd_vec and
27 bfd_elf64_alpha_freebsd_vec.
28 * configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
29 bfd_elf64_alpha_freebsd_vec.
30 * Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
31 (BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
32 (BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
33 (BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
34 (elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
35 * config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
36 specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
37
38 2002-09-12 Jakub Jelinek <jakub@redhat.com>
39
40 * elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
41 NULL.
42 (elf_i386_relocate_section): Return false after printing error about
43 unresolvable relocation.
44
45 2002-09-12 Nick Clifton <nickc@redhat.com>
46
47 * elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
48 R_ARM_THM_PC11.
49
50 2002-09-11 Andrew Haley <aph@cambridge.redhat.com>
51
52 * elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
53 line_ptr before deciding we've found a symbol.
54
55 2002-09-11 Nick Clifton <nickc@redhat.com>
56
57 * po/da.po: New Danish translation file.
58 * configure.in (LINGUAS): Add 'da'.
59 * configure: Regenerate.
60
61 2002-09-10 Michael Snyder <msnyder@redhat.com>
62
63 * irix-core.c (do_sections, do_sections64): New functions.
64 (irix_core_core_file_p): Call new functions do_sections,
65 do_sections64, depending on corefile (32-bit or 64-bit).
66
67 2002-09-09 Richard Henderson <rth@redhat.com>
68
69 * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
70 and PCREL21F like PCREL21B.
71
72 2002-09-04 Kevin Buettner <kevinb@redhat.com>
73
74 * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
75 vector.
76
77 2002-09-02 Nick Clifton <nickc@redhat.com>
78
79 * elf32-v850.c (v850_elf_final_link_relocate): Use helpful
80 names instead of cryptically overloaded bfd_reloc error
81 codes.
82 (v850_elf_relocate_section): Likewise.
83 (v850_elf_relax_section): Replace caching of external symbols
84 with caching of internal symbols obtained from calling
85 bfd_elf_get_elf_syms().
86 Fixup problems with freeing cached allocated memory blocks.
87
88 2002-09-02 Alan Modra <amodra@bigpond.net.au>
89
90 * cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
91 (bfd_pj_arch): Use bfd_default_scan.
92 * cpu-v850.c (scan): Remove.
93 (N): Use bfd_default_scan.
94 * cpu-z8k.c (scan_mach): Remove.
95 (arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
96 first. Use bfd_default_scan.
97
98 * ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
99 bfd_mach constants.
100 (ecoff_get_magic): Likewise.
101 * elf32-v850.c (v850_elf_object_p): Likewise.
102 (v850_elf_final_write_processing): Likewise.
103 * mipsbsd.c (MY(set_arch_mach)): Likewise.
104 (MY(write_object_contents)): Likewise.
105 * coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
106 * coffcode.h (coff_write_object_contents): Likewise.
107 (coff_set_arch_mach_hook): Add comment describing machine == 0.
108 Remove unnecessary "machine" assignments.
109 (coff_write_relocs): Test for the absolute section sym by testing
110 section and flags.
111
112 * aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
113 and bfd_mach_i386_i386_intel_syntax.
114 * pdp11.c (NAME(aout,machine_type)): Likewise.
115
116 2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
117
118 * bfd-in.h (align_power): Cast constants to bfd_vma type.
119 * bfd-in2.h (align_power): Likewise.
120
121 2002-08-30 Alan Modra <amodra@bigpond.net.au>
122
123 * Makefile.am: Run "make dep-am".
124 * Makefile.in: Regenerate.
125
126 * cpu-avr.c (compatible): Don't use hard-coded mach constants.
127 * cpu-powerpc.c (powerpc_compatible): Likewise.
128 * cpu-rs6000.c (rs6000_compatible): Likewise.
129
130 2002-08-28 Catherine Moore <clm@redhat.com>
131
132 * elf32-v850.c (v850_elf_reloc_map): Add new relocs.
133 (v850-elf-reloc): Don't resolve pc relative relocs.
134 (v850_elf_ignore_reloc): New routine.
135 (v850_elf_final_link_relocate): Handle new relocs.
136 (v850_elf_relax_delete_bytes ): New routine.
137 (v850_elf_relax_section): New routine.
138 (bfd_elf32_bfd_relax_section): Define.
139 (HOWTO): New entries for new relocs.
140 * reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
141 (BFD_RELOC_V850_LONGJUMP): New reloc.
142 (BFD_RELOC_V850_ALIGN): New reloc.
143 * archures.c: Remove redundant v850ea architecture.
144 * cpu-v850.c: Remove redundant v850ea support.
145 * libbfd.h: Regenerate.
146 * bfd-in2.h: Regenerated.
147
148 2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
149
150 * config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
151 * configure.in: Add tic4x_coff vector files.
152 * configure: Regenerate.
153 * Makefile.am: Add tic4x target.
154 * Makefile.in: Regenerate.
155
156 2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
157
158 * archures.c: Add the BFD arch type tic4x.
159 * bfd-in.h: Add BFD_IN_MEMORY flag.
160 * coff-tic4x.c: New file.
161 * coffswap.h (coff_swap_sym_out): Add preadjuster.
162 * cpu-tic4x.c: New file.
163 * targets.c: Added tic4x- in list of xvecs.
164 * ticoff.h: New file.
165 * bfd-in2.h: Regenerate.
166
167 2002-08-27 Adam Nemet <anemet@lnxw.com>
168
169 * elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
170 bit of DT_INIT and DT_FINI for Thumb functions.
171
172 2002-08-26 Alan Modra <amodra@bigpond.net.au>
173
174 * coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
175
176 2002-08-26 Alan Modra <amodra@bigpond.net.au>
177
178 * aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
179
180 2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
181
182 * elf32-sh.c (sh_elf_copy_indirect_symbol): New.
183 (create_got_section, allocate_dynrelocs, readonly_dynrelocs):
184 Likewise.
185 (struct elf_sh_pcrel_relocs_copied): Removed.
186 (struct elf_sh_dyn_relocs): New.
187 (struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
188 field with dyn_relocs.
189 (struct elf_sh_link_hash_table): Add short-cuts to get dynamic
190 sections and sym_sec.
191 (sh_elf_link_hash_newfunc): Clear dyn_relocs.
192 (sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
193 (sh_elf_create_dynamic_sections): Use create_got_section instead
194 of _bfd_elf_create_got_section.
195 (sh_elf_check_relocs): Likewise.
196 (sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
197 sections.
198 (sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
199 sh_elf_relocate_section, sh_elf_check_relocs,
200 sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
201 Likewise.
202 (sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
203 dynamic relocations and avoiding the copy relocation when we
204 didn't find any dynamic relocations in the section which has
205 contents or is read-only.
206 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
207 (sh_elf_size_dynamic_sections): Don't reset the size of
208 .rela.got section even if dynamic_sections_created flag is off.
209 Don't use sh_elf_discard_copies. Scan all input bfd and use
210 allocate_dynrelocs. Call readonly_dynrelocs to determine
211 whether we need DT_TEXTREL.
212 (sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
213 whether the symbol was never referred to.
214 (sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
215 (sh_elf_gc_sweep_hook): Fill with the real sweep function.
216 (sh_elf_check_relocs): Call create_got_section if the short-cut
217 to .got is null. Increment reference counters only instead of
218 allocating space on dynamic sections here. Don't conditionalize
219 uninitialized got.offset value when marking the symbol as a
220 global offset table entry. Keep relocations for symbols satisfied
221 by a dynamic library to avoid copy relocations for the symbol.
222 Set dynobj field of an elf hash table if needed.
223 (sh_elf_finish_dynamic_sections): Handle null section pointer
224 correctly.
225 (elf_backend_copy_indirect_symbol): Defined.
226 (elf_backend_can_refcount): Defined.
227
228 2002-08-23 Nick Clifton <nickc@redhat.com>
229
230 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
231 previous change. Add comment explaining why.
232
233 2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
234
235 * elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
236 contents of .got.plt[2] to tr0, not address of .got.plt.
237 (sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
238 patching absolute plt entry. For shmedia plt entry, set bottom bit
239 of branch to plt0 as this is a branch to an shmedia instruction.
240 * elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
241 Copy contents of .got.plt[2] to tr0, not address of .got.plt.
242 (elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
243 branch to plt0.
244 (sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
245 patching absolute plt entry. For shmedia plt entry, branch to
246 plt0 is now ptrel, so use relative offset. Set bottom bit of
247 branch target as it is a branch to an shmedia instruction.
248
249 2002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
250 Richard Shann <richard.shann@superh.com>
251
252 * elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
253 value if .init is an SHmedia function. Similarly for DT_FINI.
254 * elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
255
256 2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
257
258 * elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
259 dynamic section.
260 * elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
261
262 2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
263
264 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
265 byte read when reading the return address register column.
266
267 2002-08-22 Nick Clifton <nickc@redhat.com>
268
269 * config.bfd: Add powepc64-*-*bsd* target.
270
271 2002-08-22 Graeme Peterson <gp@qnx.com>
272
273 * Makefile.am: Add entries for elf32-shqnx.c
274 * Makefile.in: Regenerate.
275 * config.bfd: Add support sh-*-nto* target.
276 * configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
277 * configure: Regenerate.
278 * elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
279 * elf32-sh.c: Do not include elf32-target.h if
280 ELF32_SH_C_INCLUDED is defined.
281 * elf32-shqnx.c: New file: Support for QNX.
282 * targets.c: Add bfd_elf32_sh{l}qnx_vec.
283
284 2002-08-22 Nick Clifton <nickc@redhat.com>
285
286 * po/tr.po: Updated Turkish translation.
287
288 * syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
289 symbols are not read.
290
291 2002-08-22 Alan Modra <amodra@bigpond.net.au>
292
293 * elf32-m68hc11.c: Formatting fixes.
294 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
295 * elf32-m68hc12.c: Formatting fixes.
296 (elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
297
298 2002-08-22 Alan Modra <amodra@bigpond.net.au>
299
300 * coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
301 SEC_DATA.
302 (pmac_xcoff_vec): Likewise.
303 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
304 (aix5coff64_vec): Likewise.
305
306 2002-08-22 Alan Modra <amodra@bigpond.net.au>
307
308 * elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
309 param to elf_backend_copy_indirect_symbol.
310 (_bfd_elf_link_hash_copy_indirect): Likewise.
311 * elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
312 calls to copy_indirect_symbol.
313 * elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
314 * elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
315 * elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
316 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
317 * elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
318 * elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
319 * elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
320 * elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
321 * elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
322 * elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
323 test refcounts for "used" values.
324
325 2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
326
327 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
328 argument declaration.
329
330 2002-08-19 Elena Zannoni <ezannoni@redhat.com>
331
332 * archures.c (bfd_mach_ppc_e500): Added.
333 * bfd-in2.h: Rebuilt.
334 * cpu-powerpc.c (bfd_powerpc_archs): Added e500.
335
336 2002-08-19 Alan Modra <amodra@bigpond.net.au>
337
338 * elf32-m68hc12.c (elf_backend_can_gc_sections): False.
339
340 2002-08-17 Andrew Cagney <ac131313@redhat.com>
341
342 * elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
343 `bfd_byte'.
344
345 2002-08-17 Stan Cox <scox@redhat.com>
346
347 * elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
348 IRIX 6 segment layout for NEWABI.
349
350 2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
351
352 * bfd/elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
353 symbols when looking for section referred to by a relocation.
354 * bfd/elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
355
356 2002-08-15 Alan Modra <amodra@bigpond.net.au>
357
358 * elf32-i370.c: Move reloc enum to include/elf/i370.h.
359
360 2002-08-15 Hans-Peter Nilsson <hp@axis.com>
361
362 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
363 missing check for whether the symbol is referenced by DSO before
364 unexporting it as an unneeded dynamic symbol.
365
366 2002-08-14 H.J. Lu <hjl@gnu.org>
367
368 * libbfd.h: Regenerate.
369
370 2002-08-14 H.J. Lu <hjl@gnu.org>
371
372 * config.bfd: Always add 64bit vectors to 32bit Linux/mips.
373
374 2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
375
376 * elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
377 instructions.
378 (m68hc11_direct_relax): New to define table of relaxable instructions.
379 (find_relaxable_insn): New, find a relaxable insn.
380 (compare_reloc): New to compare two relocs.
381 (m68hc11_elf_relax_section): New, relax text sections.
382 (m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
383 (elf32_m68hc11_check_relocs): New function for GC support.
384 (elf32_m68hc11_relocate_section): New function for GC support.
385 (bfd_elf32_bfd_relax_section): Define to support linker relaxation.
386 (elf_backend_check_relocs): Likewise.
387 (elf_backend_relocate_section): Likewise.
388
389 2002-08-13 H.J. Lu <hjl@gnu.org>
390
391 * elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
392 definitions in shared objects when checking symbol with
393 undefined version.
394
395 2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
396
397 * elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
398 (elf32_m68hc11_gc_sweep_hook): Likewise.
399 (elf_backend_gc_mark_hook): Define for GC section support.
400 (elf_backend_gc_sweep_hook): Likewise.
401 (elf_backend_can_gc_sections): Likewise.
402
403 * elf32-m68hc12.c: Likewise.
404
405 2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
406
407 * elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
408 (_bfd_m68hc11_elf_merge_private_bfd_data): New function.
409 (_bfd_m68hc11_elf_set_private_flags): New function.
410 Use them to set/check/print ELF flags specific to 68HC11.
411
412 * elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
413 (_bfd_m68hc12_elf_merge_private_bfd_data): New function.
414 (_bfd_m68hc12_elf_set_private_flags): New function.
415 Use them to set/check/print ELF flags specific to 68HC12.
416
417 2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
418
419 * elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
420 fix masks for PC-rel relocs.
421 (m68hc11_elf_ignore_reloc): New function.
422
423 * elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
424 68HC12 banked addressing relocs.
425 (m68hc12_phys_addr): New to compute physical address of banked memory.
426 (m68hc12_phys_page): Likewise for page.
427 (m68hc12_addr_is_banked): New to see if address is in banked area.
428 (elf_m68hc12_howto_table): Add new relocs and rename to xx12.
429
430 2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
431
432 * reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
433 BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
434 BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
435 * bfd-in2.h: Regenerate.
436
437 2002-08-12 H.J. Lu <hjl@gnu.org>
438
439 * elflink.h (elf_add_default_symbol): Preserve section across
440 elf_merge_symbol.
441
442 2002-08-09 Graeme Peterson <gp@qnx.com>
443
444 * Makefile.am: Add entries for elf32-ppcqnx.c, and add
445 elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
446 * Makefile.in: Regenerate.
447 * config.bfd: Add support for powerpc{le}-*-nto targets.
448 * configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
449 * configure: Regenerate.
450 * elf32-i386qnx.c: Moved backend functions into a QNX specific
451 common file "elf32-qnx.h", and now include that file.
452 * elf32-qnx.h: New file: QNX specific common elf backend.
453 * elf32-ppc.c: Do not include elf32-target.h if
454 ELF32_PPC_C_INCLUDED is defined.
455 * elf32-ppcqnx.c: New file: Support for QNX.
456 * elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
457 * targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
458
459 2002-08-09 Nick Clifton <nickc@redhat.com>
460
461 * po/sv.po: Updated Swedish translation.
462
463 2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
464
465 * elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
466 g->global_gotsym is NULL.
467
468 2002-08-08 H.J. Lu <hjl@gnu.org>
469
470 * elflink.h (elf_add_default_symbol): Don't warn if a definition
471 overrides an indirect versioned symbol.
472
473 2002-08-08 Jakub Jelinek <jakub@redhat.com>
474
475 * elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
476 for R_386_TLS_TPOFF32 relocs against symndx 0.
477
478 2002-08-07 H.J. Lu <hjl@gnu.org>
479
480 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
481 with undefined version if needed.
482 (elf_link_assign_sym_version): Match a default symbol with a
483 version without definition. No need to hide the default
484 definition separately.
485
486 2002-08-08 Alan Modra <amodra@bigpond.net.au>
487
488 * elflink.h (elf_link_output_extsym): Don't output symbols from
489 SEC_EXCLUDE sections.
490
491 * aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
492
493 2002-08-07 Alan Modra <amodra@bigpond.net.au>
494
495 * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
496 entries.
497
498 2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
499
500 * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
501 mismatch.
502
503 2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
504
505 * elfxx-mips.c (ABI_64_P): Remove superfluous check.
506
507 2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
508
509 * elf32-mips.c (mips_reloc_map): Fix typo.
510
511 2002-08-06 Alan Modra <amodra@bigpond.net.au>
512
513 * xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
514
515 2002-08-06 Alan Modra <amodra@bigpond.net.au>
516
517 * elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
518
519 2002-08-06 Alan Modra <amodra@bigpond.net.au>
520
521 * libxcoff.h: Use PARAMS on function declarations.
522 * coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
523 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
524
525 * coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
526 addend.
527 * coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
528
529 2002-08-06 Alan Modra <amodra@bigpond.net.au>
530
531 * coff-rs6000.c: Formatting fixes.
532 (xcoff_calculate_relocation): Use PARAMS in declaration.
533 (xcoff_complain_overflow): Likewise.
534 (xcoff_ppc_relocate_section): Use old-style function pointer call.
535 (bfd_xcoff_backend_data): Remove useless comments.
536 (rs6000coff_vec): Likewise.
537 (bfd_pmac_xcoff_backend_data): Likewise.
538 (pmac_xcoff_vec): Likewise.
539
540 * coff64-rs6000.c: Formatting fixes.
541 (xcoff64_calculate_relocation): Use PARAMS in declaration.
542 (xcoff64_ppc_relocate_section): Use old-style function pointer call.
543 (bfd_xcoff_backend_data): Remove useless comments.
544 (rs6000coff64_vec): Likewise.
545 (bfd_xcoff_aix5_backend_data): Likewise.
546 (aix5coff64_vec): Likewise.
547
548 2002-08-06 Alan Modra <amodra@bigpond.net.au>
549
550 * coff-rs6000.c (xcoff_howto_table): Revert some of last change to
551 mask entries. Use complain_overflow_dont for R_REF.
552 (xcoff_reloc_type_ba): Revert last change.
553 (xcoff_reloc_type_br): Likewise.
554 (xcoff_reloc_type_crel): Likewise.
555 (xcoff_ppc_relocate_section): Likewise.
556 * coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
557 (xcoff64_ppc_relocate_section): Likewise.
558 (xcoff64_howto_table): Revert some of last change to mask entries.
559 Use complain_overflow_dont for R_REF.
560
561 * coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
562 relocs with bitsize == 16 have size = 1.
563 (xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
564 (xcoff_reloc_type_br): Likewise.
565 (xcoff_reloc_type_crel): Likewise.
566 (xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
567 * coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
568 dst_mask adjustment.
569 (xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
570 (xcoff64_howto_table): Fix src_mask entries. Make all relocs with
571 bitsize == 16 have size = 1.
572
573 2002-08-01 Denis Chertykov <denisc@overta.ru>
574
575 * elf32-ip2k.c: Processor manufacturer changed to Ubicom.
576 (struct misc): New field isymbuf. All free_* fields removed.
577 (symbol_value): Pass in internal syms. No need to swap syms in.
578 (ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
579 possibly cached info.
580 (tidyup_after_error): Removed.
581 (ip2k_elf_relax_section_pass1): Don't use removed fields of struct
582 misc. Use new field.
583 (adjust_all_relocations): Use internal syms. No need to swap syms
584 in and out.
585 (add_page_insn): Don't use removed fields of struct misc.
586
587 2002-08-01 Nick Clifton <nickc@redhat.com>
588
589 * elf32-arm.h: Revert previous delta.
590
591 2002-08-01 Nick Clifton <nickc@redhat.com>
592
593 * configure.in (AM_INIT_AUTOMAKE): Bump version number.
594 * configure: Regenerate.
595
596 2002-07-31 H.J. Lu <hjl@gnu.org>
597
598 * config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
599 selected.
600
601 2002-07-31 H.J. Lu <hjl@gnu.org>
602
603 * config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
604 is selected.
605
606 2002-07-31 Jakub Jelinek <jakub@redhat.com>
607
608 * elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
609 if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
610
611 2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
612
613 * cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
614 There is no 8 byte relocation type for this architecture.
615 (do_ns32k_reloc): Use bfd_vma instead of native types.
616 (bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
617 returns void.
618 (_bfd_ns32k_put_displacement): Don't check for overflow. We can
619 rely on generic code to do that.
620 * aout-ns32k.c (howto_table): Add appropriate overflow detection
621 to all table entries.
622 (_bfd_ns32k_relocate_contents): put_data returns void.
623 * ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
624 (_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
625 return void.
626
627 2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
628
629 * aoutx.h (aout_link_check_ar_symbols): Whether to include an
630 archive object is target dependant.
631
632 2002-07-31 Adam Nemet <anemet@lnxw.com>
633
634 * elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
635 (THUMB_PLT_ENTRY_SIZE): New macro.
636 (PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
637 (elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
638 ARM_PLT_ENTRY_SIZE.
639 (elf32_arm_plt_entry): Likewise.
640 (elf_backend_plt_header_size): Likewise.
641 (elf32_thumb_plt0_entry): New global.
642 (elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
643 into .plt.thumb.
644 (elf32_thumb_plt_entry): New global.
645 (elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
646 Thumb entries. Set the bottom bit of the corresponding GOT entry
647 for a Thumb PLT entry.
648 (struct elf32_arm_plt_entry_info): New structure.
649 (struct elf32_arm_link_hash_entry, plt_info): New member of this
650 type.
651 (elf32_arm_link_hash_newfunc): Initialize new member.
652 (elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
653 relocations against the PLT.
654 (elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
655 first_rel_type if this is the first time we encounter the symbol.
656 (elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
657 Determine if relocation needs a PLT entry. Set first_rel_type if
658 this is the first time we encounter the symbol
659 (elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
660 functions as well.
661 (elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
662 (elf32_arm_create_dynamic_sections): New function. Create the
663 .plt.thumb section.
664 (elf_backend_create_dynamic_sections): Call it.
665
666 2002-07-31 Nick Clifton <nickc@redhat.com>
667
668 * bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
669 'alternative' in order to avoid shadowing global symbol of the
670 same name.
671 * bfd-in2.h: Regenerate.
672 * libbfd.h: Regenerate.
673 * libcoff.h: Regenerate.
674
675 2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
676
677 * Makefile.am: Add n32 ABI support.
678 * Makefile.in: Regenerate.
679 * config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
680 bit vectors for mips*-*-linux targets as optional.
681 * configure.in: Add n32 ABI vectors.
682 * configure: Regenerate.
683 * elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
684 * elfn32-mips.c: New file, n32 ABI support.
685 * targets.c: Add n32 ABI vectors.
686
687 2002-07-30 Graeme Peterson <gp@qnx.com>
688
689 * elfarmqnx-nabi.c: New file: Support for QNX.
690 * config.bfd: Add support for arm-*-nto target.
691 * configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
692 * configure: Regenerate.
693 * Makefile.am: Add entries for elfarmqnx-nabi.c.
694 * Makefile.in: Regenerate.
695 * elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
696 Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
697 * elfarm-nabi.c: Do not include elf32-arm.h if
698 ELFARM_NABI_C_INCLUDED is defined.
699 * targets.c: Add bfd_elf32_{big|little}armqnx_vec.
700
701 2002-07-30 Nick Clifton <nickc@redhat.com>
702
703 * po/sv.po: Updated Swedish translation.
704
705 2002-07-30 Jakub Jelinek <jakub@redhat.com>
706
707 * elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
708
709 2002-07-30 Alan Modra <amodra@bigpond.net.au>
710
711 * aoutx.h (some_aout_object_p): Clean up tdata properly on error.
712 * archive.c (bfd_generic_archive_p): Likewise.
713 * coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
714 (_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
715 * coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
716 (xcoff64_archive_p): Likewise.
717 (xcoff64_openr_next_archived_file): Likewise.
718 (xcoff64_archive_p): Clean up tdata properly on error.
719 * coffgen.c (coff_real_object_p): Likewise.
720 (coff_object_p): Release filehdr and opthdr.
721 * ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
722 * ieee.c (ieee_archive_p): Likewise.
723 * ihex.c (ihex_object_p): Likewise.
724 (ihex_mkobject): Always allocate tdata.
725 * peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
726 * srec.c (srec_mkobject): Always allocate tdata.
727 (srec_object_p): Clean up tdata properly on error.
728 (symbolsrec_object_p): Likewise.
729 * versados.c (versados_object_p): Likewise.
730 * vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
731 and bfd_realloc instead of realloc.
732 (add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
733 * vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
734 place of bfd_malloc, simplifying error freeing. Free hash table too.
735 (vms_object_p): Clean up tdata on error.
736 (vms_mkobject): Don't complain on stderr if vms_initialize fails.
737 (vms_close_and_cleanup): Adjust for bfd_alloc use.
738
739 2002-07-30 Alan Modra <amodra@bigpond.net.au>
740
741 * elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
742
743 2002-07-26 Chris Demetriou <cgd@broadcom.com>
744
745 * elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
746 flags into resulting BFD.
747
748 2002-07-26 Alan Modra <amodra@bigpond.net.au>
749
750 From John Reiser <jreiser@BitWagon.com>
751 * elf32-i386.c (elf_i386_link_hash_table_create): Clear
752 tls_ldm_got.refcount.
753
754 2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
755
756 * elf64-mips.c: Update TODO comment.
757 (mips_elf64_higher_reloc,mips_elf64_highest_reloc,
758 mips_elf64_gprel16_reloca): Remove prototypes.
759 (mips16_jump_reloc,mips16_gprel_reloc): Add functions.
760 (UNUSED_RELOC): Replace by EMPTY_RELOC.
761 (mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
762 wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
763 R_MIPS_HIGHEST.
764 (mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
765 R_MIPS_GOT16. Remove wrong comments.
766 (elf_mips16_jump_howto,elf_mips16_gprel_howto,
767 elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
768 from elf32-mips.c.
769 (mips_elf64_hi16_reloc): Fix formatting.
770 (mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
771 (mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
772 Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
773 (mips_elf64_gprel16_reloc): Make static. Add check for
774 partial_inplace.
775 (mips_elf64_gprel16_reloca): Remove.
776 (mips_elf64_literal_reloc): New function.
777 (mips_elf64_gprel32_reloc): Fix formatting.
778 (mips_elf64_shift6_reloc): Fix comment. Make static.
779 (mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
780 elf32-mips.c.
781 (elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
782 elf32-mips.c
783 (bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
784 specific relocations.
785 (mips_elf64_rtype_to_howto): Enable GNU specific relocations.
786 (mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
787 (ELF_MAXPAGESIZE): Add comment.
788
789 2002-07-25 Nick Clifton <nickc@redhat.com>
790
791 * po/sv.po: Updated Swedish translation.
792 * po/es.po: Updated Spanish translation.
793 * po/fr.po: Updated French translation.
794
795 2002-07-25 Alan Modra <amodra@bigpond.net.au>
796
797 * elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
798 as elf_link_record_local_dynamic_symbol.
799 (_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
800 (elf_link_record_local_dynamic_symbol): Declare. Now returns int.
801 * elflink.h (elf_link_record_local_dynamic_symbol): Move to..
802 * elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
803 attempt is made to record a symbol in a discarded section, and
804 return `2' in that case.
805
806 2002-07-24 Nick Clifton <nickc@redhat.com>
807
808 * po/sv.po: Updated Swedish translation.
809 * po/es.po: Updated Spanish translation.
810
811 2002-07-23 Alan Modra <amodra@bigpond.net.au>
812
813 * po/SRC-POTFILES.in: Regenerate.
814
815 * elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
816 immediately. Remove code handling relocatable linking.
817 * elf32-avr.c (elf32_avr_relocate_section): Likewise.
818 * elf32-cris.c (cris_elf_relocate_section): Likewise.
819 * elf32-fr30.c (elf32_frv_relocate_section): Likewise.
820 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
821 * elf32-h8300.c (elf32_h8_relocate_section): Likewise.
822 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
823 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
824 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
825 * elf32-v850.c (v850_elf_relocate_section): Likewise.
826 * elf32-vax.c (elf_vax_relocate_section): Likewise.
827 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
828 * elf32-avr.c (elf_backend_rela_normal): Define.
829 * elf32-cris.c: Likewise.
830 * elf32-fr30.c: Likewise.
831 * elf32-frv.c: Likewise.
832 * elf32-h8300.c: Likewise.
833 * elf32-hppa.c: Likewise.
834 * elf32-ip2k.c: Likewise.
835 * elf32-sparc.c: Likewise.
836 * elf32-v850.c: Likewise.
837 * elf32-vax.c: Likewise.
838 * elf64-hppa.c: Likewise.
839 * elf64-sparc.c: Likewise.
840 * elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
841 * elf32-frv.c (elf32_frv_relocate_section): Likewise.
842 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
843 * elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
844 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
845 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
846 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
847 * elf-m10200.c (USE_RELA): Don't define.
848 * elf-m10300.c: Likewise.
849 * elfarm-oabi.c: Likewise.
850 * elf32-i370.c: Likewise.
851 * elf32-ip2k.c: Likewise.
852 * elf32-m68k.c: Likewise.
853 * elf32-mcore.c: Likewise.
854 * elf32-ppc.c: Likewise.
855 * elf32-s390.c: Likewise.
856 * elf32-vax.c: Likewise.
857 * elf64-ppc.c: Likewise.
858 * elf64-s390.c: Likewise.
859 * elf64-x86-64.c: Likewise.
860 * elfxx-ia64.c: Likewise.
861 * elf32-avr.c (USE_REL): Don't undef.
862 * elf32-ip2k.c: Likewise.
863
864 2002-07-23 Nick Clifton <nickc@redhat.com>
865
866 * elf-bfd.h (struct elf_backend_data): Add new bitfield
867 'want_p_paddr_set_to_zero'.
868 * elfxx-target.h: Set default value for want_p_paddr_set_to_zero
869 to false;
870 * elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
871 * elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
872
873 2002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
874
875 * nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
876 the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
877 show the Copyright string.
878 Minor formatting tidy ups.
879
880 2002-07-23 Nick Clifton <nickc@redhat.com>
881
882 * po/fr.po: Updated French translation.
883 * po/sv.po: Updated Swedish translation.
884
885 2002-07-23 Alan Modra <amodra@bigpond.net.au>
886
887 * elflink.h (elf_link_input_bfd): Don't change internal symbols
888 when outputting relocs.
889
890 2002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
891
892 * elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
893 DT_PLTGOT into the dynamic section if there is a PLT.
894
895 2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
896
897 * elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
898 elf32-mips.c.
899 (_bfd_mips_elf_write_section): Likewise.
900 * elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
901 (_bfd_mips_elf_write_section): Likewise.
902 * elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
903 (elf32_mips_write_section): Likewise.
904 * elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
905 (_bfd_mips_elf_write_section): Likewise.
906
907 2002-07-19 Alan Modra <amodra@bigpond.net.au>
908
909 * elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
910 PT_IA_64_UNWIND segments for a given section.
911
912 2002-07-17 H.J. Lu <hjl@gnu.org>
913
914 * Makefile.am: Fix a typo.
915 * Makefile.in: Regenerate.
916
917 2002-07-15 Denis Chertykov <denisc@overta.ru>
918 Frank Ch. Eigler <fche@redhat.com>
919 Ben Elliston <bje@redhat.com>
920 Alan Lehotsky <alehotsky@cygnus.com>
921 John Healy <jhealy@redhat.com>
922 Graham Stott <grahams@redhat.com>
923 Jeff Johnston <jjohnstn@redhat.com>
924
925 * Makefile.am: Add support for ip2k.
926 * Makefile.in: Regenerate.
927 * doc/Makefile.in: Regenerate.
928 * archures.c: Add support for ip2k.
929 * config.bfd: Add support for ip2k.
930 * configure.in: Add support for ip2k.
931 * configure: Regenerate.
932 * reloc.c: Add support for ip2k.
933 * targets.c: Add support for ip2k.
934 * bfd-in2.h: Regenerate.
935 * libbfd.h: Regenerate.
936 * cpu-ip2k.c: New file.
937 * elf32-ip2k.c: New file.
938
939 2002-07-17 Ian Rickards <irickard@arm.com>
940
941 * dwarf2.c (concat_filename): If we can't establish the directory
942 just return the filename.
943
944 2002-07-16 Moritz Jodeit <moritz@jodeit.org>
945
946 * peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
947
948 2002-07-16 Alan Modra <amodra@bigpond.net.au>
949
950 * elflink.h: Formatting fixes, tidy prototypes.
951 (elf_link_assign_sym_version): Move common code out of loop.
952
953 2002-07-16 Alan Modra <amodra@bigpond.net.au>
954
955 * elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
956 reloc section size is zero. Correct reloc output location.
957
958 2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
959
960 * elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
961 the final type for the e_fsel selector when generating PA2.0W code.
962 (elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
963 relocations.
964
965 2002-07-14 H.J. Lu <hjl@gnu.org>
966
967 * elflink.h (elf_link_assign_sym_version): Hide the default
968 definition if there is a hidden versioned definition.
969
970 2002-07-12 Hans-Peter Nilsson <hp@axis.com>
971
972 * elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
973 dynamic reference test in assertion when initializing GOT with
974 static contents. Just assert that there are either no dynamic
975 sections, the symbol is defined in the regular objects or that the
976 symbol is undef weak. Tweak comment.
977 (elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
978 only if the symbol isn't defined in the program and isn't undef
979 weak.
980 (elf_cris_adjust_dynamic_symbol): Simplify condition for getting
981 rid of PLT entry: only do it if the symbol isn't defined in a DSO.
982 When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
983 (elf_cris_discard_excess_program_dynamics): Don't consider
984 ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
985
986 2002-07-11 Alan Modra <amodra@bigpond.net.au>
987
988 * elf32-i386.c (elf_i386_relocate_section): Don't complain about
989 unresolved debugging relocs in dynamic applications.
990 * elf32-s390.c (elf_s390_relocate_section): Likewise.
991 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
992 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
993 * elf64-s390.c (elf_s390_relocate_section): Likewise.
994 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
995 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
996
997 2002-07-10 Alan Modra <amodra@bigpond.net.au>
998
999 * elf64-ppc.c (ONES): Define.
1000 (ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
1001 missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
1002 in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
1003
1004 * elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
1005 (ppc64_elf_set_private_flags): Delete.
1006 (ppc64_elf_section_from_shdr): Delete.
1007 (ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
1008 (ppc64_elf_fake_sections): Delete.
1009 (bfd_elf64_bfd_set_private_flags): Don't define.
1010 (bfd_elf64_get_symbol_info): Likewise.
1011 (elf_backend_section_from_shdr): Likewise.
1012 (elf_backend_fake_sections): Likewise.
1013
1014 2002-07-10 Marco Walther <Marco.Walther@sun.com>
1015
1016 * elf.c: (assign_section_numbers) Set sh_entsize for .stab only
1017 when not already set.
1018 * elf64-sparc.c: (sparc64_elf_fake_sections): New function.
1019 (elf_backend_fake_sections): Define.
1020
1021 2002-07-10 Alan Modra <amodra@bigpond.net.au>
1022
1023 * merge.c (_bfd_merge_section): Remove redundant output_section check.
1024 Formatting.
1025 (_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
1026
1027 2002-07-09 Hans-Peter Nilsson <hp@axis.com>
1028
1029 * elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
1030 NULL sym_hashes to just before use.
1031 <case R_CRIS_32_GOTREL>: In test for local symbol, accept also
1032 symbol with non-default visibility.
1033 <case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
1034 <case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
1035 Ditto.
1036 (cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
1037 symbol with non-default visibility.
1038 (cris_elf_check_relocs): At tests for local symbol before
1039 increasing h->plt.refcount, also check for non-default
1040 visibility. Ditto when checking for local symbol to eliminate
1041 pc-relative runtime relocs.
1042
1043 2002-07-08 Alan Modra <amodra@bigpond.net.au>
1044
1045 * elf.c: Formatting.
1046 (IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
1047 (INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
1048 (copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
1049 segments.
1050
1051 2002-07-07 Mark Mitchell <mark@codesourcery.com>
1052 Alan Modra <amodra@bigpond.net.au>
1053
1054 * cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
1055 account the impact of relocation count overflow when computing
1056 section offsets.
1057 * coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
1058 or not to apply the PE COFF reloc overflow handling. Fix a
1059 fencepost error in deciding whether or not to use that technique.
1060
1061 2002-07-07 Alan Modra <amodra@bigpond.net.au>
1062
1063 * elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
1064 change type of locsyms.
1065 (bfd_elf_get_elf_syms): Declare.
1066 * elf.c (bfd_elf_get_elf_syms): New function.
1067 (group_signature): Use bfd_elf_get_elf_syms.
1068 (bfd_section_from_r_symndx): Likewise.
1069 * elfcode.h (elf_slurp_symbol_table): Likewise.
1070 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
1071 (elf_link_add_object_symbols): Likewise. Reorganise to increase
1072 locality of various data structures. Properly free internal relocs.
1073 (elf_bfd_final_link): Properly free internal relocs.
1074 (elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
1075 (elf_link_input_bfd): Likewise.
1076 (elf_gc_mark): Likewise. Properly free internal relocs.
1077 (elf_gc_sweep): Properly free internal relocs.
1078 (elf_reloc_symbol_deleted_p): No need to swap syms in.
1079 (elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
1080 internal relocs.
1081 * elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
1082 Properly free possibly cached info.
1083 (mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
1084 (mn10200_elf_symbol_address_p): Pass in internal syms. Remove
1085 symbol swapping code.
1086 (mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
1087 Properly free possibly cached info.
1088 * elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
1089 (mn10300_elf_relax_delete_bytes): Likewise.
1090 (mn10300_elf_symbol_address_p): Likewise.
1091 (mn10300_elf_get_relocated_section_contents): Likewise.
1092 * elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
1093 (elf32_h8_relax_delete_bytes): Likewise.
1094 (elf32_h8_symbol_address_p): Likewise.
1095 (elf32_h8_get_relocated_section_contents): Likewise.
1096 * elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
1097 (m32r_elf_relax_delete_bytes): Likewise.
1098 (m32r_elf_get_relocated_section_contents): Likewise.
1099 * elf32-sh.c (sh_elf_reloc_loop): Free section contents using
1100 elf_section_data to determine whether cached.
1101 (sh_elf_relax_section): As above for elf-m10200.c.
1102 (sh_elf_relax_delete_bytes): Likewise.
1103 (sh_elf_get_relocated_section_contents): Likewise.
1104 * elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
1105 * elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
1106 reading of local syms.
1107 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
1108 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
1109 * elfxx-ia64.c (elfNN_ia64_relax_section): As above.
1110 * elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
1111 relocs.
1112 * elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
1113 free internal relocs and section contents. Don't read symbols.
1114 * elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
1115 (elf32_hppa_size_stubs): Don't free local syms.
1116 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
1117 reading of local syms. Use bfd_elf_get_elf_syms. Properly free
1118 possibly cached info.
1119 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
1120 * elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
1121 * elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
1122 all_local_syms.
1123 (get_local_syms): Delete function.
1124 (edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
1125 on exit.
1126 (ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
1127
1128 2002-07-05 Jim Wilson <wilson@redhat.com>
1129
1130 * syms.c (decode_section_type): New.
1131 (bfd_decode_symclass): Call decode_section_type.
1132
1133 2002-07-04 Jakub Jelinek <jakub@redhat.com>
1134
1135 * merge.c (_bfd_merged_section_offset): Avoid accessing byte before
1136 section content start.
1137 Reported by Michael Schumacher <mike@hightec-rt.com>.
1138
1139 2002-07-04 Alan Modra <amodra@bigpond.net.au>
1140
1141 * section.c (_bfd_strip_section_from_output): Remove unnecessary
1142 link order code. Don't actually remove the output section here;
1143 Just set a flag for the linker to do so.
1144 * elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
1145 sections when setting up output section dynsyms.
1146
1147 2002-07-04 Alan Modra <amodra@bigpond.net.au>
1148
1149 * elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
1150 fudge.
1151 * elf.c (bfd_section_from_shdr): Work around broken hpux shared
1152 libs here instead.
1153
1154 2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
1155
1156 * elf64-s390.c (create_got_section): Set .got section alignment to
1157 8 bytes.
1158 (elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
1159
1160 2002-07-02 Alan Modra <amodra@bigpond.net.au>
1161
1162 * elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
1163
1164 2002-07-01 Matt Thomas <matt@3am-software.com>
1165
1166 * elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
1167 to EF_VAX_*.
1168
1169 2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1170
1171 * elfxx-mips.c (ABI_64_P): Fix comment.
1172 (MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
1173 new section names for N64 ABI.
1174 (mips_elf_output_extsym): No special _gp_disp handling for NewABI.
1175 (mips_elf_calculate_relocation): Code formatting.
1176 (mips_elf_create_dynamic_relocation): Likewise.
1177 (_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
1178 (_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
1179 (_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
1180 in any NewABI.
1181 (_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
1182 for NewABI.
1183 (_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
1184 (_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
1185 here, too.
1186
1187 2002-07-01 Andreas Schwab <schwab@suse.de>
1188
1189 * elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
1190 R_X86_64_64 to R_X86_64_RELATIVE.
1191
1192 2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
1193
1194 * vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
1195 * Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
1196 Run "make dep-am".
1197 * config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
1198 host_aout_vec.
1199 * configure.in (vaxbsd_vec): Add.
1200 * targets.c (vaxbsd_vec): Add.
1201 * Makefile.in: Rebuild.
1202 * configure: Rebuild.
1203 * po/SRC-POTFILES.in: Rebuild.
1204
1205 2002-07-01 Alan Modra <amodra@bigpond.net.au>
1206
1207 * elflink.h (elf_gc_mark): Pass in the section whose relocs we are
1208 examining to gc_mark_hook, rather than the bfd.
1209 (elf_gc_sections): Adjust.
1210 * elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
1211 * elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
1212 * elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
1213 * elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
1214 * elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
1215 * elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
1216 * elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
1217 * elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
1218 * elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
1219 * elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
1220 * elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
1221 * elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
1222 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
1223 * elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
1224 * elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
1225 * elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
1226 * elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
1227 * elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
1228 * elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
1229 * elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
1230 * elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
1231 * elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
1232 * elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
1233 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
1234 * elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
1235 * elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
1236 * elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
1237 * elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
1238 redundant local sym tests.
1239 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
1240 (link_hash_newfunc): Init is_entry.
1241 (ppc64_elf_copy_indirect_symbol): Copy is_entry.
1242 (ppc64_elf_link_hash_table_create): Init all_local_syms.
1243 (create_linkage_sections): Use bfd_make_section_anyway rather than
1244 bfd_make_section.
1245 (ppc64_elf_mark_entry_syms): New function.
1246 (ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
1247 up opd entry to function section map.
1248 (ppc64_elf_gc_mark_hook): Special case opd section relocs, and
1249 relocs that reference the opd section.
1250 (edit_opd): New function.
1251 (ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
1252 (ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
1253 (get_local_syms): Do so here. Exit if we already have local syms.
1254 Remove bogus comment imported from elf32-hppa.c. Don't attempt to
1255 read local syms on non-ELF input.
1256 (ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
1257 than duplicating it's function here. Adjust free of internal
1258 relocs to suit.
1259 (ppc64_elf_relocate_section): Adjust local syms in opd section.
1260 * elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
1261 * elf32-hppa.c (elf32_hppa_size_stubs): Call
1262 _bfd_elf32_link_read_relocs rather than duplicating it's function
1263 here. Adjust free of internal relocs to suit.
1264
1265 2002-07-01 Andreas Jaeger <aj@suse.de>
1266
1267 * elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
1268 are not allowed in shared libs code, enforce -fPIC.
1269
1270 2002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
1271
1272 * mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
1273 trailing zero-sequences when there's previous left-over data.
1274
1275 2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
1276
1277 * elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
1278 (elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
1279 and opd_rel_sec in order for starting rela section. Check _raw_size.
1280 (elf_backend_reloc_type_class): Define.
1281
1282 2002-06-27 Kevin Buettner <kevinb@redhat.com>
1283
1284 * dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
1285 DWARF2 formats.
1286
1287 2002-06-27 Alan Modra <amodra@bigpond.net.au>
1288
1289 * cpu-powerpc.c: Comment on ordering of arch_info.
1290 * elf32-ppc.c (ppc_elf_object_p): New function.
1291 (elf_backend_object_p): Define.
1292 * elf64-ppc.c (ppc64_elf_object_p): New function.
1293 (elf_backend_object_p): Define.
1294
1295 2002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
1296
1297 * configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
1298 * configure: Regenerate.
1299
1300 2002-06-25 Jason Eckhardt <jle@rice.edu>
1301
1302 * dwarf2.c (decode_line_info): Check unit->addr_size
1303 to read in the proper number of prologue bytes.
1304
1305 2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
1306
1307 * config.bfd (powerpc-*-aix5*): Only create a selvecs for
1308 aix5coff64_vec if 64-bit bfd support has been enabled.
1309 (powerpc64-*-aix5*): Only define if 64-bit bfd support has
1310 been enabled.
1311
1312 * targets.c (_bfd_target_vector[]): Only include
1313 aix5coff64_vec if 64-bit bfd support has been enabled.
1314
1315 2002-06-25 Alan Modra <amodra@bigpond.net.au>
1316
1317 * elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
1318 * elf32-hppa.c (hppa_add_stub): Likewise.
1319 * elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
1320 * elflink.h (elf_add_default_symbol): Fix comment typo.
1321 (elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
1322 (elf_link_add_object_symbols): Likewise.
1323 (elf_link_assign_sym_version): Likewise.
1324 * hash.c (bfd_hash_lookup): Likewise.
1325 * linker.c (_bfd_generic_link_add_one_symbol): Likewise.
1326 * section.c (bfd_get_unique_section_name): Likewise.
1327 * syms.c (_bfd_stab_section_find_nearest_line): Likewise.
1328 * elf.c (_bfd_elf_make_section_from_phdr): Likewise.
1329 (assign_section_numbers): Likewise.
1330 (_bfd_elfcore_make_pseudosection): Likewise.
1331 (elfcore_grok_lwpstatus): Likewise.
1332 (elfcore_grok_win32pstatus): Likewise.
1333 (elfcore_write_note): Constify input params. Use PTR instead of
1334 void *. Include terminating NUL in namesz. Correct padding.
1335 Support NULL "name" param. Use memcpy instead of strcpy.
1336 (elfcore_write_prpsinfo): Constify input params.
1337 (elfcore_write_prstatus): Likewise. Use PTR instead of void *.
1338 (elfcore_write_lwpstatus): Likewise.
1339 (elfcore_write_pstatus): Likewise.
1340 (elfcore_write_prfpreg): Likewise.
1341 (elfcore_write_prxfpreg): Likewise.
1342 * elf-bfd.h (elfcore_write_note): Update declaration.
1343 (elfcore_write_prpsinfo): Likewise.
1344 (elfcore_write_prstatus): Likewise.
1345 (elfcore_write_pstatus): Likewise.
1346 (elfcore_write_prfpreg): Likewise.
1347 (elfcore_write_prxfpreg): Likewise.
1348 (elfcore_write_lwpstatus): Likewise.
1349
1350 2002-06-25 Jason Eckhardt <jle@rice.edu>
1351
1352 * ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
1353 symbols of type stProc and stStaticProc.
1354
1355 2002-06-25 Nick Clifton <nickc@redhat.com>
1356
1357 * ecoff.c: VArious formatting fixes.
1358
1359 2002-06-25 Alan Modra <amodra@bigpond.net.au>
1360
1361 * coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
1362
1363 2002-06-25 Alan Modra <amodra@bigpond.net.au>
1364
1365 * aout-adobe.c: Don't compare against "true" or "false.
1366 * aout-target.h: Likewise.
1367 * aoutx.h: Likewise.
1368 * archive.c: Likewise.
1369 * bout.c: Likewise.
1370 * cache.c: Likewise.
1371 * coff-a29k.c: Likewise.
1372 * coff-alpha.c: Likewise.
1373 * coff-i386.c: Likewise.
1374 * coff-mips.c: Likewise.
1375 * coff-or32.c: Likewise.
1376 * coff64-rs6000.c: Likewise.
1377 * coffcode.h: Likewise.
1378 * coffgen.c: Likewise.
1379 * cpu-ns32k.c: Likewise.
1380 * ecoff.c: Likewise.
1381 * ecofflink.c: Likewise.
1382 * elf.c: Likewise.
1383 * elf32-arm.h: Likewise.
1384 * elf32-cris.c: Likewise.
1385 * elf32-d30v.c: Likewise.
1386 * elf32-i386.c: Likewise.
1387 * elf32-mcore.c: Likewise.
1388 * elf32-ppc.c: Likewise.
1389 * elf32-sh.c: Likewise.
1390 * elf32-sh64.c: Likewise.
1391 * elf32-v850.c: Likewise.
1392 * elf64-alpha.c: Likewise.
1393 * elf64-sh64.c: Likewise.
1394 * elfcode.h: Likewise.
1395 * elfcore.h: Likewise.
1396 * elflink.h: Likewise.
1397 * elfxx-mips.c: Likewise.
1398 * i386os9k.c: Likewise.
1399 * ieee.c: Likewise.
1400 * libbfd.c: Likewise.
1401 * linker.c: Likewise.
1402 * mmo.c: Likewise.
1403 * nlm32-alpha.c: Likewise.
1404 * nlm32-i386.c: Likewise.
1405 * nlm32-ppc.c: Likewise.
1406 * nlm32-sparc.c: Likewise.
1407 * nlmcode.h: Likewise.
1408 * oasys.c: Likewise.
1409 * pdp11.c: Likewise.
1410 * peicode.h: Likewise.
1411 * reloc.c: Likewise.
1412 * som.c: Likewise.
1413 * srec.c: Likewise.
1414 * tekhex.c: Likewise.
1415 * vms.c: Likewise.
1416 * xcofflink.c: Likewise.
1417 * elf64-sparc.c: Edit comment to not use "== false".
1418
1419 * aoutf1.h: Don't use "? true : false".
1420 * ecoff.c: Likewise.
1421 * format.c: Likewise.
1422 * ieee.c: Likewise.
1423 * linker.c: Likewise.
1424 * mmo.c: Likewise.
1425 * oasys.c: Likewise.
1426
1427 2002-06-23 H.J. Lu <hjl@gnu.org>
1428
1429 * elflink.h (elf_link_add_archive_symbols): For the default
1430 version, check references with only one `@' first.
1431
1432 2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
1433
1434 * elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
1435 function.
1436 (allocate_global_data_dlt): Don't add millicode symbols to dynamic
1437 symbol table.
1438 (allocate_global_data_opd, allocate_dynrel_entries): Likewise.
1439 (elf64_hppa_size_dynamic_sections): Revise to use
1440 elf64_hppa_mark_milli_and_exported_functions.
1441 (elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
1442 symbols out of dynamic symbol table.
1443
1444 2002-06-23 Alan Modra <amodra@bigpond.net.au>
1445
1446 * Makefile.in: Regenerate.
1447 * libbfd.h: Regenerate.
1448 * bfd-in2.h: Regenerate.
1449 * configure: Regenerate.
1450 * po/SRC-POTFILES.in: Regenerate.
1451
1452 * elflink.h: Comment typo fixes.
1453
1454 2002-06-23 H.J. Lu <hjl@gnu.org>
1455
1456 * elf-bfd.h (elf_link_loaded_list): New structure.
1457 (elf_link_hash_table): Add "loaded".
1458 * elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
1459 * elflink.h (elf_link_check_versioned_symbol): New function.
1460 (elf_link_output_extsym): Call elf_link_check_versioned_symbol.
1461
1462 2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
1463
1464 * elflink.h (size_dynamic_sections): If the target does not
1465 support an ELF style hash table, return true, indicating that
1466 nothing needed to be done, rather than false, indicating that the
1467 section's size could not be computed.
1468
1469 2002-06-18 Dave Brolley <brolley@redhat.com>
1470
1471 From Catherine Moore, Michael Meissner, Dave Brolley:
1472 * po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
1473 * targets.c: Support bfd_elf32_frv_vec.
1474 * reloc.c: Add FRV relocs.
1475 * configure.in: Add support for bfd-elf32-frv-vec.
1476 * config.bfd (targ_cpu): Add support for frv-*-elf.
1477 * archures.c: Add frv arch and machines.
1478 * Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
1479 (ALL_MACHINES_CFILES): Add cpu-frv.c.
1480 (BFD32_BACKENDS): Add elf32-frv.lo.
1481 (BFD32_BACKENDS_CFILES): Add elf32-frv.c
1482 (cpu-frv.lo): New target.
1483 (elf32-frv.lo): New target.
1484 * cpu-frv.c: New file.
1485 * elf32-frv.c: New file.
1486
1487 2002-06-18 Jakub Jelinek <jakub@redhat.com>
1488
1489 * elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
1490 e_shnum == 0.
1491 Only read the first section header if e_shoff is non-zero.
1492 Don't consider e_shstrndx if there are no sections.
1493
1494 2002-06-17 Tom Rix <trix@redhat.com>
1495
1496 * elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
1497 R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
1498 complain_overflow_bitfield.
1499
1500 2002-06-17 Alan Modra <amodra@bigpond.net.au>
1501
1502 * opncls.c (bfd_openr): Remove redundant bfd_set_error.
1503 (bfd_fdopenr): Likewise.
1504 (bfd_openstreamr): Likewise.
1505 (bfd_openw): Likewise.
1506
1507 * targets.c: Sort target vecs.
1508 (_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
1509 bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
1510 bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
1511 bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
1512 * configure.in: Sort target vecs. Add m88kmach3_vec.
1513 * configure: Regenerate.
1514
1515 2002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
1516
1517 * elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
1518 bpo_reloc_no to break sort order ties, not address of items.
1519
1520 2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
1521
1522 * elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
1523 Skip excluded sections in determing __gp value.
1524 (elf_hppa_final_link_relocate): Use the symbol's address in
1525 R_PARISC_FPTR64 relocations that don't need an opd entry.
1526 * elf64-hppa.c (allocate_dynrel_entries): Simplify code.
1527 (elf64_hppa_finalize_dynreloc): Likewise.
1528 (elf64_hppa_size_dynamic_sections): Move comments and fix typo.
1529 (elf64_hppa_finish_dynamic_symbol): Break up assert.
1530
1531 2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
1532
1533 * pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
1534 alignment for .bss, .data and .text sections so that sse and sse2
1535 code will work.
1536 * pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
1537
1538 2002-06013 J"orn Rennecke <joern.rennecke@superh.com>
1539
1540 config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
1541 sh[1234]*-elf*.
1542
1543 2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
1544
1545 * elflink.h (elf_bfd_final_link): Improve error handling for missing
1546 dynamic sections.
1547
1548 * elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
1549 for a symbol that has no output section.
1550 (allocate_dynrel_entries): Correct comment.
1551 (elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
1552 unless we want one.
1553 (elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
1554 (elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
1555 with no section. Remove unnecessary parentheses.
1556
1557 2002-06-11 Tom Rix <trix@redhat.com>
1558
1559 * coffcode.h (coff_compute_section_file_positions): Add data
1560 section to AIX loader alignment check.
1561
1562 * coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
1563 alignment to 4 bytes.
1564 (_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
1565 power accessor macro.
1566 (do_shared_object_padding): Remove invalid assertion.
1567
1568 2002-06-10 Richard Sandiford <rsandifo@redhat.com>
1569
1570 * section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
1571 for removed output sections.
1572
1573 2002-06-10 Geoffrey Keating <geoffk@redhat.com>
1574
1575 * merge.c (merge_strings): Use htab_create_alloc with calloc, not
1576 htab_alloc.
1577 * elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
1578
1579 2002-06-08 H.J. Lu <hjl@gnu.org>
1580
1581 * elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
1582 work around a long long bug in gcc 2.96 on mips.
1583
1584 2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
1585
1586 * Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
1587 (BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
1588 Regenerate dependency lists.
1589 * Makefile.in: Regenerate.
1590 * config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
1591 vax1knetbsd_vec to targ_selvecs.
1592 * configure.in: Add vax1knetbsd_vec.
1593 * configure: Regenerate.
1594 * targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
1595 * vax1knetbsd.c: New file.
1596 * vaxnetbsd.c: Update copyright years.
1597 (TARGET_PAGE_SIZE): Set to 0x1000.
1598 (DEFAULT_MID): Set to M_VAX4K_NETBSD.
1599
1600 2002-06-08 Matt Thomas <matt@3am-software.com>
1601
1602 * libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
1603
1604 2002-06-08 Alan Modra <amodra@bigpond.net.au>
1605
1606 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
1607
1608 2002-06-08 Alan Modra <amodra@bigpond.net.au>
1609
1610 * Makefile.am: Run "make dep-am".
1611 * Makefile.in: Regenerate.
1612
1613 * armnetbsd.c: Replace CONST with const.
1614 * corefile.c: Likewise.
1615 * elf32-dlx.c: Likewise.
1616 * elf64-mips.c: Likewise.
1617 * mmo.c: Likewise.
1618 * ns32knetbsd.c: Likewise.
1619
1620 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
1621 table is elf64-sparc.
1622
1623 2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
1624
1625 * elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
1626 Fix RELA addends to get not shifted in the result. Don't do special
1627 handling of R_MIPS_64 for NewABI.
1628
1629 2002-06-07 Alan Modra <amodra@bigpond.net.au>
1630
1631 * aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
1632 (NAME(aout,slurp_reloc_table)): Likewise.
1633 * coff-mips.c (mips_relax_section): Use bfd_zalloc.
1634 * coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
1635 (xcoff_write_archive_contents_big): Likewise.
1636 (xcoff_generate_rtinit): Likewise.
1637 (xcoff_generate_rtinit): Likewise, and check error return.
1638 * coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
1639 * coffgen.c (coff_section_symbol): Use bfd_zalloc.
1640 (coff_get_normalized_symtab): Likewise.
1641 (coff_make_empty_symbol): Likewise.
1642 (bfd_coff_set_symbol_class): Likewise.
1643 * cofflink.c (coff_link_add_symbols): Likewise.
1644 * ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
1645 * ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
1646 (bfd_ecoff_write_accumulated_debug): Likewise.
1647 * elf64-alpha.c (get_got_entry): Use bfd_zalloc.
1648 * i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
1649 * i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
1650 * ieee.c (do_with_relocs): Use bfd_zalloc.
1651 * m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
1652 * pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
1653 (NAME(aout,slurp_reloc_table)): Likewise.
1654 (NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
1655 * reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
1656 * som.c (som_build_and_write_symbol_table): Likewise.
1657 (som_slurp_string_table): Likewise.
1658 (som_slurp_symbol_table): Likewise.
1659 (som_bfd_ar_write_symbol_stuff): Likewise.
1660 * sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
1661 * sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
1662 * tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
1663 * vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
1664 * xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
1665
1666 2002-06-07 Alan Modra <amodra@bigpond.net.au>
1667
1668 * elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
1669 "group" union.
1670 (elf_group_name): Update.
1671 (elf_group_id): Define.
1672 (bfd_elf_set_group_contents): Declare.
1673 * elf.c (elf_fake_sections): Qualify use of elf_group_name.
1674 (set_group_contents): Rename to bfd_elf_set_group_contents. Remove
1675 ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
1676 that sym for the signature.
1677 (_bfd_elf_compute_section_file_positions): Don't call
1678 set_group_contents for "ld -r" case.
1679 (swap_out_syms): Use bfd_zalloc.
1680 * elflink.h (elf_link_add_archive_symbols): Likewise.
1681 (NAME(bfd_elf,size_dynamic_sections)): Likewise.
1682 (elf_bfd_final_link): Call bfd_elf_set_group_contents.
1683
1684 2002-06-07 Alan Modra <amodra@bigpond.net.au>
1685
1686 * elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
1687 relocs in opd for non-shared too.
1688
1689 2002-06-06 Jeffrey Law <law@redhat.com
1690
1691 * elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
1692 relocations.
1693
1694 2002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
1695
1696 * merge.c: Include libiberty.h.
1697 * elf-strtab.c: Include libiberty.h.
1698
1699 2002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
1700
1701 * peXXigen.c (pe_print_idata): Remove unused variable.
1702
1703 2002-06-06 David Heine <dlheine@tensilica.com>
1704
1705 * elf.c (assign_file_positions_for_segments): Remove unallocated
1706 sections from the section to segment mapping for PT_LOAD segments.
1707 Update comment about empty loadable segments.
1708
1709 2002-06-06 Richard Sandiford <rsandifo@redhat.com>
1710
1711 * stabs.c (_bfd_link_section_stabs): Check that the symbol offset
1712 is within the .stabstr section.
1713
1714 2002-06-06 Alan Modra <amodra@bigpond.net.au>
1715
1716 * elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
1717 are "const PTR", not "const PTR *".
1718 (bfd_elf32_swap_symbol_in): Likewise.
1719 (bfd_elf64_swap_symbol_in): Likewise.
1720 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
1721 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
1722 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
1723 (elf_link_add_object_symbols): Likewise.
1724 (elf_link_record_local_dynamic_symbol): Likewise.
1725 (elf_link_input_bfd): Likewise.
1726 (elf_gc_mark): Likewise.
1727 (elf_reloc_symbol_deleted_p): Likewise.
1728 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
1729 (mn10200_elf_relax_delete_bytes): Likewise.
1730 (mn10200_elf_symbol_address_p): Likewise.
1731 (mn10200_elf_get_relocated_section_contents): Likewise.
1732 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
1733 (mn10300_elf_relax_section): Likewise.
1734 (mn10300_elf_relax_delete_bytes): Likewise.
1735 (mn10300_elf_symbol_address_p): Likewise.
1736 (mn10300_elf_get_relocated_section_contents): Likewise.
1737 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
1738 (elf32_h8_relax_delete_bytes): Likewise.
1739 (elf32_h8_symbol_address_p): Likewise.
1740 (elf32_h8_get_relocated_section_contents): Likewise.
1741 * elf32-hppa.c (get_local_syms): Likewise.
1742 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
1743 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
1744 * elf32-sh.c (sh_elf_relax_section): Likewise.
1745 (sh_elf_relax_delete_bytes): Likewise.
1746 (sh_elf_get_relocated_section_contents): Likewise.
1747 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
1748 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
1749 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1750 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
1751 * elf64-ppc.c (get_local_syms): Likewise.
1752 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
1753 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
1754
1755 2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
1756
1757 * config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
1758
1759 2002-06-05 Alan Modra <amodra@bigpond.net.au>
1760
1761 * elf.c (group_signature): Swap in the whole symbol, and handle
1762 extracting section symbol names.
1763 (setup_group): Add comment.
1764 (set_group_contents): When called from objcopy or ld, arrange for
1765 section contents to be written. Write group member output section
1766 indices to allow objcopy to reorganize sections.
1767 (_bfd_elf_copy_private_section_data): Copy group info.
1768
1769 * elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
1770 (bfd_elf32_swap_symbol_in): Update prototype.
1771 (bfd_elf64_swap_symbol_in): Likewise.
1772 * elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
1773 (elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
1774 * elflink.h (elf_link_is_defined_archive_symbol): Likewise.
1775 (elf_link_add_object_symbols): Likewise.
1776 (elf_link_record_local_dynamic_symbol): Likewise.
1777 (elf_link_input_bfd): Likewise.
1778 (elf_gc_mark): Likewise.
1779 (elf_reloc_symbol_deleted_p): Likewise.
1780 * elf-m10200.c (mn10200_elf_relax_section): Likewise.
1781 (mn10200_elf_relax_delete_bytes): Likewise.
1782 (mn10200_elf_symbol_address_p): Likewise.
1783 (mn10200_elf_get_relocated_section_contents): Likewise.
1784 * elf-m10300.c (mn10300_elf_relax_section): Likewise.
1785 (mn10300_elf_relax_section): Likewise.
1786 (mn10300_elf_relax_delete_bytes): Likewise.
1787 (mn10300_elf_symbol_address_p): Likewise.
1788 (mn10300_elf_get_relocated_section_contents): Likewise.
1789 * elf32-h8300.c (elf32_h8_relax_section): Likewise.
1790 (elf32_h8_relax_delete_bytes): Likewise.
1791 (elf32_h8_symbol_address_p): Likewise.
1792 (elf32_h8_get_relocated_section_contents): Likewise.
1793 * elf32-hppa.c (get_local_syms): Likewise.
1794 * elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
1795 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
1796 * elf32-sh.c (sh_elf_relax_section): Likewise.
1797 (sh_elf_relax_delete_bytes): Likewise.
1798 (sh_elf_get_relocated_section_contents): Likewise.
1799 * elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
1800 * elf64-alpha.c (elf64_alpha_relax_section): Likewise.
1801 * elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
1802 * elf64-mmix.c (mmix_elf_relax_section): Likewise.
1803 * elf64-ppc.c (get_local_syms): Likewise.
1804 * elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
1805 * elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
1806 * elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
1807 * elf64-alpha.c (alpha_elf_size_info): Likewise.
1808 * elf64-hppa.c (hppa64_elf_size_info): Likewise.
1809 * elf64-mips.c (mips_elf64_size_info): Likewise.
1810 * elf64-s390.c (s390_elf64_size_info): Likewise.
1811 * elf64-sparc.c (sparc64_elf_size_info): Likewise.
1812
1813 2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
1814
1815 * elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
1816 elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
1817 elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
1818 _bfd_mips_elf_ignore_discarded_relocs.
1819 elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
1820
1821 2002-06-05 H.J. Lu <hjl@gnu.org>
1822
1823 * elfxx-mips.c (mips_elf_calculate_relocation): Call
1824 _bfd_elf_rel_local_sym for STT_SECTION relocations against
1825 the SEC_MERGE section.
1826
1827 2002-06-05 Alan Modra <amodra@bigpond.net.au>
1828
1829 * coff-alpha.c: Update copyright date.
1830 * coff-mips.c: Likewise.
1831 * xcoff-target.h: Likewise.
1832
1833 * bfd-in.h: Remove "taken from the source" comment.
1834 * libbfd-in.h: Likewise.
1835 * libcoff-in.h: Likewise.
1836 * bfd-in2.h: Regenerate.
1837 * libbfd.h: Regenerate.
1838 * libcoff.h: Regenerate.
1839
1840 * elf.c (bfd_elf_discard_group): Return true.
1841 * elf-bfd.h (bfd_elf_discard_group): Declare.
1842 * bfd-in.h (bfd_elf_discard_group): Don't declare here.
1843 * section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
1844 * bfd.c (bfd_discard_group): Define.
1845 * targets.c (struct bfd_target): Add _bfd_discard_group.
1846 (BFD_JUMP_TABLE_LINK): Here too.
1847 * libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
1848 * aout-adobe.c (aout_32_bfd_discard_group): Define.
1849 * aout-target.h (MY_bfd_discard_group): Define.
1850 * aout-tic30.c (MY_bfd_discard_group): Define.
1851 * binary.c (binary_bfd_discard_group): Define.
1852 * bout.c (b_out_bfd_discard_group): Define.
1853 * coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
1854 * coffcode.h (coff_bfd_discard_group): Define.
1855 * coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
1856 * elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
1857 * i386msdos.c (msdos_bfd_discard_group): Define.
1858 * i386os9k.c (os9k_bfd_discard_group): Define.
1859 * ieee.c (ieee_bfd_discard_group): Define.
1860 * ihex.c (ihex_bfd_discard_group): Define.
1861 * mmo.c (mmo_bfd_discard_group): Define.
1862 * nlm-target.h (nlm_bfd_discard_group): Define.
1863 * oasys.c (oasys_bfd_discard_group): Define.
1864 * ppcboot.c (ppcboot_bfd_discard_group): Define.
1865 * som.c (som_bfd_discard_group): Define.
1866 * srec.c (srec_bfd_discard_group): Define.
1867 * tekhex.c (tekhex_bfd_discard_group): Define.
1868 * versados.c (versados_bfd_discard_group): Define.
1869 * vms.c (vms_bfd_discard_group): Define.
1870 * xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
1871 * coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
1872 (aix5coff64_vec): Likewise.
1873 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
1874
1875 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
1876
1877 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
1878 (BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
1879 (elf32-sh64-com.lo): New dependency list.
1880 * Makefile.in: Regenerate.
1881 * configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
1882 (bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
1883 elf32-sh64-com.lo.
1884 * configure: Regenerate.
1885 * elf32-sh64.c (sh64_address_in_cranges)
1886 (sh64_get_contents_type, sh64_address_is_shmedia): Move to...
1887 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
1888 (crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
1889 * elf32-sh64-com.c: ...here. New file.
1890
1891 2002-06-04 Alan Modra <amodra@bigpond.net.au>
1892
1893 * elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
1894 ATTRIBUTE_UNUSED on used params.
1895 * elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
1896 before calling bfd_section_from_elf_index on local syms.
1897 * elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
1898
1899 2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
1900
1901 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
1902 (BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
1903 (BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
1904 (BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
1905 (elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
1906 * Makefile.in: Regenerate.
1907 * config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
1908 (sh64-*-netbsd*): New targets.
1909 * configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
1910 bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
1911 * configure: Regenerate.
1912 * elf32-sh64-nbsd.c: New file.
1913 * elf64-sh64-nbsd.c: New file.
1914 * targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
1915 bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
1916 bfd_elf64_sh64lnbsd_vec.
1917
1918 2002-06-04 Alan Modra <amodra@bigpond.net.au>
1919
1920 * elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
1921 (bfd_section_from_shdr): Likewise. Set section name of group
1922 sections from signature.
1923 (group_signature): Split out from setup_group. Ensure symbol table
1924 is available.
1925 (bfd_elf_discard_group): New function.
1926 (_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
1927 .gnu.linkonce* sections if they are members of a group.
1928 (set_group_contents): Set GRP_COMDAT flag.
1929 * section.c (bfd_discard_group): New function.
1930 * bfd-in.h (bfd_elf_discard_group): Declare.
1931 * bfd-in2.h: Regenerate.
1932 * elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
1933 (elf_linkonce_p): Define.
1934
1935 2002-06-04 Alan Modra <amodra@bigpond.net.au>
1936
1937 * elf.c (bfd_section_from_shdr): Make "name" const.
1938 * elf-bfd.h (elf_backend_section_from_shdr): Likewise.
1939 * elf32-i370.c (i370_elf_section_from_shdr): Likewise.
1940 * elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
1941 * elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
1942 * elf32-v850.c (v850_elf_section_from_shdr): Likewise.
1943 * elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
1944 * elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
1945 * elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
1946 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
1947 * elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
1948 * elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
1949
1950 2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
1951
1952 * elfxx-mips.c (ABI_64_P): Use backend's data to determine the
1953 ABI.
1954
1955 2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
1956
1957 * elf32-arc.c: Fix formatting.
1958 * elf32-arm.h: Likewise.
1959 * elf32-cris.c: Likewise.
1960 * elf32-dlx.c: Likewise.
1961 * elf32-hppa.c: Likewise.
1962 * elf32-i386.c: Likewise.
1963 * elf32-i386qnx.c: Likewise.
1964 * elf32-or32.c: Likewise.
1965 * elf32-s390.c: Likewise.
1966 * elf32-sh64.c: Likewise.
1967 * elf32-vax.c: Likewise.
1968 * elf32-xstormy16.c: Likewise.
1969 * elf64-alpha.c: Likewise.
1970 * elf64-mmix.c: Likewise.
1971 * elf64-ppc.c: Likewise.
1972 * elf64-s390.c: Likewise.
1973 * elf64-sh64.c: Likewise.
1974 * elf64-x86-64.c: Likewise.
1975
1976 2002-06-02 Richard Henderson <rth@redhat.com>
1977
1978 * elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
1979 null when there are no got entries for a symbol.
1980 (elf64_alpha_relax_find_tls_segment): Rearrange to avoid
1981 uninitialized variable warning.
1982
1983 2002-06-01 Richard Henderson <rth@redhat.com>
1984
1985 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
1986 undefined symbols here.
1987 (elf64_alpha_relax_section): Do it here. Also test for not
1988 defined in the current module.
1989 (elf64_alpha_relocate_section_r): Split out of ...
1990 (elf64_alpha_relocate_section): ... here. Don't dereference
1991 NULL when looking up local got entries.
1992
1993 2002-06-01 Richard Henderson <rth@redhat.com>
1994
1995 * elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
1996 symbols from JSR relaxation.
1997 (elf64_alpha_size_plt_section_1): New.
1998 (elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
1999 (elf64_alpha_size_rela_got_1): ... here.
2000 (elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
2001 (elf64_alpha_size_rela_got_section): ... here.
2002 (elf64_alpha_size_plt_section): New.
2003 (elf64_alpha_relax_section): Call them.
2004 (elf64_alpha_size_got_sections): Remove output_bfd arg.
2005 (elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
2006
2007 2002-06-01 Richard Henderson <rth@redhat.com>
2008
2009 * elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
2010 (elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
2011 in shared libraries. Fix DTPRELHI and TPRELHI value.
2012 (INSN_ADDQ, INSN_RDUNIQ): New.
2013 (struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
2014 (elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
2015 argument. Reject dynamic symbols. Use LITUSE symbolic constants.
2016 (elf64_alpha_relax_got_load): Rename from relax_without_lituse.
2017 Handle GOTDTPREL and GOTTPREL relocations.
2018 (elf64_alpha_relax_gprelhilo): New.
2019 (elf64_alpha_relax_tls_get_addr): New.
2020 (elf64_alpha_relax_find_tls_segment): New.
2021 (elf64_alpha_relax_section): Handle TLS relocations.
2022 (ALPHA_ELF_LINK_HASH_TLS_IE): New.
2023 (elf64_alpha_check_relocs): Set it.
2024
2025 2002-06-01 Richard Henderson <rth@redhat.com>
2026
2027 * elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
2028
2029 * elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
2030 check; don't suppress dynamic relocs for non-allocated sections.
2031
2032 * elf64-alpha.c: Remove dead code.
2033
2034 2002-05-31 Alan Modra <amodra@bigpond.net.au>
2035
2036 * bfd-in2.h: Regenerate.
2037 * libbfd.h: Regenerate.
2038 * po/SRC-POTFILES.in: Regenerate.
2039
2040 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
2041 space for bss .plt.
2042
2043 2002-05-31 Graeme Peterson <gp@qnx.com>
2044
2045 * Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
2046 (BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
2047 Run "make dep-am".
2048 * Makefile.in: Regenerate.
2049 * config.bfd: Add i[3456]86-*-nto-qnx* support.
2050 * configure.in: Add bfd_elf32_i386qnx_vec support.
2051 * configure: Regenerate.
2052 * elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
2053 is_contained_by_filepos, and copy_private_bfd_data_p.
2054 * elf.c (assign_file_positions_for_segments): Call backend
2055 set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
2056 (IS_CONTAINED_BY_FILEPOS): Define.
2057 (INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
2058 (copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
2059 Fix non-K&R call to _bfd_error_handler.
2060 (_bfd_elf_copy_private_section_data): Use backend
2061 copy_private_bfd_data_p.
2062 * elf32-i386.c: Don't include elfxx-target.h when
2063 ELF32_I386_C_INCLUDED is defined.
2064 * elf32-i386qnx.c: New QNX elf backend file.
2065 * elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
2066 elf_backend_is_contained_by_filepos, and
2067 elf_backend_do_copy_private_bfd_data.
2068 * targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
2069
2070 2002-05-31 Alan Modra <amodra@bigpond.net.au>
2071
2072 * elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
2073 Move other similar defines to start of file.
2074
2075 2002-05-30 Tom Rix <trix@redhat.com>
2076
2077 * coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
2078 * coff64-rs6000.c (xcoff64_rtype2howto): Same.
2079
2080 2002-05-30 Richard Henderson <rth@redhat.com>
2081
2082 * elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
2083 ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
2084 (ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
2085 (ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
2086 (struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
2087 (struct alpha_elf_obj_tdata): Rename total_got_entries and
2088 n_local_got_entries to total_got_size and local_got_size.
2089 (elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
2090 (alpha_got_entry_size): New.
2091 (elf64_alpha_relax_with_lituse): Use it.
2092 (elf64_alpha_relax_without_lituse): Likewise.
2093 (MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
2094 (get_got_entry): New.
2095 (elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
2096 (elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
2097 (elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
2098 (elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
2099 (elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
2100 (elf64_alpha_calc_got_offsets): Likewise.
2101 (alpha_dynamic_entries_for_reloc): New.
2102 (elf64_alpha_calc_dynrel_sizes): Use it.
2103 (elf64_alpha_size_dynamic_sections): Likewise.
2104 (elf64_alpha_relocate_section): Handle TLS relocations.
2105 * reloc.c: Add Alpha TLS relocations.
2106 * bfd-in2.h, libbfd.h: Rebuild.
2107
2108 2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
2109
2110 * peXXigen.c (pe_print_idata): Remove double printed
2111 import table lines; add Bound-To comment.
2112
2113 2002-05-29 Matt Thomas <matt@3am-software.com>
2114
2115 * Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
2116 (BFD32_BACKENDS_CFILES): Add elf32-vax.c.
2117 (elf32-vax.lo): New rule.
2118 * Makefile.in: Regenerate.
2119 * configure.in (bfd_elf32_vax_vec)
2120 (vaxnetbsd_vec): New vectors.
2121 * configure: Regenerate.
2122 * config.bfd (vax-*-netbsdelf*)
2123 (vax-*-netbsdaout*)
2124 (vax-*-netbsd*): New targets.
2125 * elf32-vax.c: New file.
2126 * reloc.c: Add VAX relocations.
2127 * bfd-in2.h: Regenerate.
2128 * targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
2129
2130 2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
2131
2132 * config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
2133 and bfd_elf32_bigarm_vec to targ_selvecs.
2134
2135 2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
2136
2137 * peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
2138 with auto-imported symbols.
2139
2140 2002-05-29 Adam Nemet <anemet@lnxw.com>
2141
2142 * elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
2143 sections only record bfd.
2144 (bfd_elf32_arm_add_glue_sections_to_bfd): New function.
2145 * bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
2146 * bfd-in2.h: Regenerate.
2147
2148 2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
2149
2150 * syms.c (_bfd_stab_section_find_nearest_line): Move
2151 declaration and initialisation of saw_line and saw_func out of
2152 for loop.
2153
2154 2002-05-29 Alan Modra <amodra@bigpond.net.au>
2155
2156 * elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
2157 (bfd_elf64_get_symbol_info): Define.
2158 * elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
2159
2160 2002-05-29 Andrey Volkov <avolkov@transas.com>
2161
2162 * cpu-h8300.c: Make default h8300 machine first in machine list.
2163
2164 2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
2165
2166 * config.bfd: Added DLX configuraton.
2167 * Makefile.am: Added DLX configuraton.
2168 * configure.in: Added DLX configuraton.
2169 * archures.c: Add DLX architecure.
2170 * reloc.c: Add DLX relocs.
2171 * targets.c: Added DLX target vector.
2172 * configure: Regenerate.
2173 * Makefile.in: Regenreate.
2174 * bfd-in2.h: Regenreate.
2175 * elf32-dlx.c: New file: Support DLX target.
2176 * cpu-dlx.c: New file: Support DLX target.
2177
2178 2002-05-25 Alan Modra <amodra@bigpond.net.au>
2179
2180 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
2181
2182 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
2183 (ppc64_elf_check_relocs): Don't set up function descriptor symbol
2184 strings to point inside function code sym string.
2185 (func_desc_adjust): Likewise.
2186 (ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
2187
2188 2002-05-24 Michal Ludvig <mludvig@suse.cz>
2189
2190 * elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
2191 (elf64_x86_64_grok_psinfo): Added.
2192
2193 2002-05-24 TAMURA Kent <kent@netbsd.org>
2194
2195 * config.bfd: Add a target for i386-netbsdpe.
2196
2197 2002-05-24 Alan Modra <amodra@bigpond.net.au>
2198
2199 * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
2200 and is_func_descriptor.
2201 (func_desc_adjust): Hide function code sym in shared libs unless
2202 there is a matching exported function descriptor sym.
2203
2204 2002-05-23 Jakub Jelinek <jakub@redhat.com>
2205
2206 * elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
2207 for symbols from SHF_TLS section.
2208 (_bfd_elf_print_private_bfd_data): Add PT_TLS.
2209 (elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
2210 (map_sections_to_segments): Build PT_TLS segment if necessary.
2211 (assign_file_positions_for_segments): Likewise.
2212 (get_program_header_size): Account for PT_TLS segment.
2213 (swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
2214 SEC_THREAD_LOCAL sections to STT_TLS.
2215 * reloc.c: Add 386 and IA-64 TLS relocs.
2216 * section.c (SEC_THREAD_LOCAL): Define.
2217 (SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
2218 Remove.
2219 * elflink.h (elf_link_add_object_symbols): Support .tcommon.
2220 (size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
2221 unconditionally.
2222 (struct elf_final_link_info): Add first_tls_sec.
2223 (elf_bfd_final_link): Set first_tls_sec.
2224 Compute elf_hash_table (info)->tls_segment.
2225 (elf_link_output_extsym): Handle STT_TLS symbols.
2226 (elf_link_input_bfd): Likewise.
2227 * syms.c (BSF_THREAD_LOCAL): Define.
2228 * bfd-in2.h: Rebuilt.
2229 * libbfd.h: Rebuilt.
2230 * elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
2231 elf_i386_mkobject, elf_i386_object_p): New functions.
2232 (elf_howto_table): Add TLS relocs.
2233 (elf_i386_reloc_type_lookup): Support TLS relocs.
2234 (elf_i386_info_to_howto_rel): Likewise.
2235 (struct elf_i386_link_hash_entry): Add tls_type.
2236 (struct elf_i386_obj_tdata): New.
2237 (elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
2238 New macros.
2239 (struct elf_i386_link_hash_table): Add tls_ldm_got.
2240 (link_hash_newfunc): Clear tls_type.
2241 (elf_i386_check_relocs): Support TLS relocs.
2242 (elf_i386_gc_sweep_hook): Likewise.
2243 (allocate_dynrelocs): Likewise.
2244 (elf_i386_size_dynamic_sections): Likewise.
2245 (elf_i386_relocate_section): Likewise.
2246 (elf_i386_finish_dynamic_symbol): Likewise.
2247 (bfd_elf32_mkobject, elf_backend_object_p): Define.
2248 * elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
2249 dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
2250 want_tprel, want_dtpmod, want_dtprel.
2251 (elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
2252 (ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
2253 R_IA64_LTOFF_TPREL22.
2254 (elf_code_to_howto_index): Add TLS relocs.
2255 (elfNN_ia64_check_relocs): Support TLS relocs.
2256 (allocate_global_data_got): Account for TLS .got data.
2257 (allocate_dynrel_entries): Account for TLS dynamic relocations.
2258 (elfNN_ia64_install_value): Supprt TLS relocs.
2259 (set_got_entry): Support TLS relocs.
2260 (elfNN_ia64_relocate_section): Likewise.
2261
2262 2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
2263
2264 * elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
2265 BLX reloc round the relocation up rather than down.
2266 * coff-arm.c (coff_arm_relocate_section): Likewise.
2267
2268 2002-05-21 H.J. Lu (hjl@gnu.org)
2269
2270 * linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
2271 definition.
2272
2273 2002-05-22 Alan Modra <amodra@bigpond.net.au>
2274
2275 * elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
2276 (ppc64_elf_relocate_section): Handle unresolved relocs in opd.
2277
2278 2002-05-22 Alan Modra <amodra@bigpond.net.au>
2279
2280 * elf64-ppc.c (ppc64_elf_relocate_section): Return false for
2281 unresolved relocs.
2282 (ppc64_elf_size_dynamic_sections): Check for splt NULL.
2283
2284 2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2285
2286 * bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
2287 non-ELF targets.
2288
2289 2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2290
2291 * elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
2292 an error value.
2293 * elflink.h (elf_link_output_relocs): Likewise. Improve error message.
2294 return with false on error.
2295 (elf_link_input_bfd): Check reloc_emitter return value.
2296
2297 2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
2298
2299 * config.bfd (armeb-*-netbsdelf*): New target.
2300
2301 2002-05-20 Alan Modra <amodra@bigpond.net.au>
2302
2303 * elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
2304 at the plt call stub.
2305
2306 2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2307
2308 * cpu-mips.c (mips_compatible): Don't try to check machine
2309 compatibility.
2310
2311 2002-05-18 Tom Rix <trix@redhat.com>
2312
2313 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
2314
2315 2002-05-17 Alan Modra <amodra@bigpond.net.au>
2316
2317 * elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
2318 (ppc64_elf_relocate_section): Don't warn about reloc overflow when
2319 we've already warned about an undefined symbol. Report more
2320 detail on reloc errors.
2321
2322 2002-05-17 Alan Modra <amodra@bigpond.net.au>
2323
2324 * acinclude.m4 (AM_INSTALL_LIBBFD): New.
2325 * configure.in: Invoke AM_INSTALL_LIBBFD.
2326 * Makefile.am (install-data-local): Revert 2002-05-13. Move to..
2327 (install_libbfd): .. New target.
2328 (uninstall_libbfd): Likewise.
2329 (install-bfdlibLTLIBRARIES): Likewise.
2330 (uninstall-bfdlibLTLIBRARIES): Likewise.
2331 (bfdlibdir): New.
2332 (bfdincludedir): New.
2333 (lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
2334 * aclocal.m4: Regenerate.
2335 * configure: Regenerate.
2336 * Makefile.in: Regenerate.
2337
2338 2002-05-17 Stuart Balfour <sbalfour@cisco.com>
2339
2340 * hash.c (bfd_hash_lookup): Remove computation of len from inside
2341 hash loop.
2342
2343 2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
2344
2345 * config.bfd: Add targets for sh64-linux (little endian and
2346 big endian).
2347
2348 2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
2349
2350 * peXXigen.c (pe_print_idata): Do not assume that the first thunk
2351 is located in the same section as the import table. Instead
2352 check, and if necessary load the section containing the thunk.
2353
2354 2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
2355
2356 * aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
2357 bfd_bread.
2358 (xcoff64_core_file_matches_executable_p): Replace bfd_read
2359 with bfd_bread.
2360
2361 2002-05-15 Alan Modra <amodra@bigpond.net.au>
2362
2363 * aix5ppc-core.c: Warning fixes.
2364 * aout-adobe.c (aout_32_bfd_link_just_syms): Define.
2365 * aout-target.h (MY_bfd_link_just_syms): Define.
2366 * aout-tic30.c (MY_bfd_link_just_syms): Define.
2367 * bfd.c (bfd_link_just_syms): Define.
2368 * binary.c (binary_bfd_link_just_syms): Define.
2369 * bout.c (b_out_bfd_link_just_syms): Define.
2370 * coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
2371 * coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
2372 * coffcode.h (coff_bfd_link_just_syms): Define.
2373 * elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
2374 (elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
2375 (_bfd_elf_link_just_syms): Declare.
2376 * elf.c (_bfd_elf_link_just_syms): New function.
2377 * elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
2378 sections haven't already been discarded by the linker.
2379 * elflink.h (elf_link_add_object_symbols): Likewise for stab
2380 sections and SEC_MERGE sections.
2381 (elf_bfd_discard_info): Similarly here.
2382 * elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
2383 * i386msdos.c (msdos_bfd_link_just_syms): Define.
2384 * i386os9k.c (os9k_bfd_link_just_syms): Define.
2385 * ieee.c (ieee_bfd_link_just_syms): Define.
2386 * ihex.c (ihex_bfd_link_just_syms): Define.
2387 * libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
2388 (_bfd_generic_link_just_syms): Declare.
2389 * libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
2390 * linker.c (_bfd_generic_link_just_syms): New function.
2391 * mmo.c (mmo_bfd_link_just_syms): Define.
2392 * nlm-target.h (nlm_bfd_link_just_syms): Define.
2393 * oasys.c (oasys_bfd_link_just_syms): Define.
2394 * ppcboot.c (ppcboot_bfd_link_just_syms): Define.
2395 * som.c (som_bfd_link_just_syms): Define.
2396 * srec.c (srec_bfd_link_just_syms): Define.
2397 * targets.c (struct bfd_target): Add _bfd_link_just_syms.
2398 (BFD_JUMP_TABLE_LINK): And here.
2399 * tekhex.c (tekhex_bfd_link_just_syms): Define.
2400 * versados.c (versados_bfd_link_just_syms): Define.
2401 * vms.c (vms_bfd_link_just_syms): Define.
2402 * libbfd.h: Regenerate.
2403 * bfd-in2.h: Regenerate.
2404
2405 2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2406
2407 * elf32-mips.c: Remove superfluous definitions copied from
2408 elfxx-mips.c.
2409 (bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
2410 SGIish vectors to check the special case.
2411 (mips_elf_hi16_reloc): Fix comment.
2412 (mips_elf_got16_reloc): Likewise.
2413 (_bfd_mips_elf32_gprel16_reloc): Likewise.
2414 (elf_reloc_map): Code cleanup.
2415 (mips_reloc_map): Add comment.
2416 (bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
2417 (mips_elf32_rtype_to_howto): Likewise.
2418 (mips_elf32_discard_info): Likewise.
2419 (elf32_mips_irix_compat): Invert logic: Only SGIish vectors
2420 lead to IRIX compatibility now.
2421
2422 2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
2423
2424 * elfxx-mips.c: Call it IRIX, not Irix in comments.
2425
2426 2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
2427
2428 * config.bfd (shle-*-netbsdelf*): Add target which includes
2429 sh64 support.
2430
2431 2002-05-13 David Edelsohn <edelsohn@gnu.org>
2432
2433 * configure.in: Revert 2002-04-07. Instead, auto-configure
2434 HAVE_ST_C_IMPL.
2435 * configure: Regenerate.
2436 * config.in: Regenerate.
2437 * rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
2438 or AIX_5_CORE.
2439
2440 2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
2441
2442 * configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
2443 corefiles as well.2
2444 * configure: Regenerate.
2445
2446 2002-05-13 Alan Modra <amodra@bigpond.net.au>
2447
2448 * Makefile.am (install-data-local): Install headers to
2449 $(exec_prefix)/include.
2450 * Makefile.in: Regenerate.
2451
2452 2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
2453 Daniel Jacobowitz <drow@mvista.com>
2454
2455 * coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
2456 map BFD_RELOC_RVA.
2457
2458 2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
2459
2460 * config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
2461 hppa*-*-openbsd*): New targets.
2462 * configure.in (alpha*-*-openbsd*): Set COREFILE.
2463 * configure: Regenerate.
2464
2465 2002-05-10 Tom Rix <trix@redhat.com>
2466
2467 * coff64-rs6000.c (xcoff64_reloc_type_br): New function for
2468 xcoff64_ppc_relocate_section.
2469 * coff-rs6000.c : Extern common xcoff_reloc_type functions.
2470 * libxcoff.h: Common xcoff_reloc_type function declaration.
2471
2472 2002-05-10 Alan Modra <amodra@bigpond.net.au>
2473
2474 * elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
2475 added in 2002-05-09 commit.
2476
2477 * elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
2478 don't look for stubs on all undefined syms.
2479
2480 2002-05-09 Alan Modra <amodra@bigpond.net.au>
2481
2482 * elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
2483 (ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
2484 pcrel_offset.
2485
2486 * elf32-i386.c (elf_howto_table): Comments.
2487 (elf_i386_relocate_section): Handle more relocs for relocatable
2488 linking and against SEC_MERGE sections.
2489
2490 2002-05-08 Alan Modra <amodra@bigpond.net.au>
2491
2492 * elf32-ppc.c (ppc_elf_create_got): New function.
2493 (ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
2494 _bfd_elf_create_dynamic_sections. Correct .plt flags.
2495 (ppc_elf_check_relocs): Use ppc_elf_create_got in place of
2496 _bfd_elf_create_got_section.
2497
2498 2002-05-07 Alan Modra <amodra@bigpond.net.au>
2499
2500 * elf-bfd.h (struct elf_backend_data): Add rela_normal.
2501 * elfxx-target.h (elf_backend_rela_normal): Define.
2502 (elfNN_bed): Init rela_normal.
2503 * elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
2504 for section symbols here if rela_normal. Simplify abs section test.
2505 * elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
2506 return immediately. Remove code handling relocatable linking.
2507 * elf-m10300.c (mn10300_elf_relocate_section): Likewise.
2508 * elf32-fr30.c (fr30_elf_relocate_section): Likewise.
2509 * elf32-i370.c (i370_elf_relocate_section): Likewise.
2510 * elf32-i860.c (elf32_i860_relocate_section): Likewise.
2511 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
2512 * elf32-mcore.c (mcore_elf_relocate_section): Likewise.
2513 * elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
2514 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
2515 * elf32-s390.c (elf_s390_relocate_section): Likewise.
2516 * elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
2517 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
2518 * elf64-s390.c (elf_s390_relocate_section): Likewise.
2519 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
2520 * elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
2521 * elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
2522 * elf32-m32r.c (m32r_elf_relocate_section): Likewise.
2523 * elf-m10200.c (elf_backend_rela_normal): Define.
2524 * elf-m10300.c (elf_backend_rela_normal): Define.
2525 * elf32-fr30.c (elf_backend_rela_normal): Define.
2526 * elf32-i370.c (elf_backend_rela_normal): Define.
2527 * elf32-i860.c (elf_backend_rela_normal): Define.
2528 * elf32-m68k.c (elf_backend_rela_normal): Define.
2529 * elf32-mcore.c (elf_backend_rela_normal): Define.
2530 * elf32-openrisc.c (elf_backend_rela_normal): Define.
2531 * elf32-ppc.c (elf_backend_rela_normal): Define.
2532 * elf32-s390.c (elf_backend_rela_normal): Define.
2533 * elf32-xstormy16.c (elf_backend_rela_normal): Define.
2534 * elf64-ppc.c (elf_backend_rela_normal): Define.
2535 * elf64-s390.c (elf_backend_rela_normal): Define.
2536 * elf64-x86-64.c (elf_backend_rela_normal): Define.
2537 * elfxx-ia64.c (elf_backend_rela_normal): Define.
2538 * elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
2539 * elf32-m32r.c (elf_backend_rela_normal): Likewise.
2540
2541 2002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
2542
2543 * elf32-arm.h (elf32_arm_final_link_relocate): Convert
2544 'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
2545
2546 2002-05-06 Alan Modra <amodra@bigpond.net.au>
2547
2548 * elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
2549 when not relocatable. Fix reloc_emitter call for K&R.
2550
2551 2002-05-04 Alan Modra <amodra@bigpond.net.au>
2552
2553 * elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
2554 reloading local sym addend mistakenly removed in 2002-05-01 change.
2555
2556 * dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
2557 (read_abbrevs): Change "offset" param to bfd_vma.
2558 (parse_comp_unit): Change "version" and addr_size to unsigned ints.
2559 Change "abbrev_offset" to bfd_vma.
2560 (read_indirect_string): Use correct conversion chars in error
2561 message format string, cast bfd_vma's to unsigned long.
2562 (read_abbrevs): Likewise.
2563 (read_attribute_value): Likewise.
2564 (decode_line_info): Likewise.
2565 (scan_unit_for_functions): Likewise.
2566 (parse_comp_unit): Likewise.
2567
2568 2002-05-04 Tom Rix <trix@redhat.com>
2569
2570 * coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
2571 (coff_swap_reloc_out): Same.
2572 * coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
2573 (xcoff_swap_reloc_out): Same.
2574 (xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
2575 case some 16 bit relocs. Add reloc value to output.
2576 (xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
2577 R_RBR. Improve names.
2578 (_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
2579 (bfd_xcoff_backend_data): Update with new reloc swap names.
2580 (bfd_pmac_xcoff_backend_data) : Same.
2581 * coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
2582 (xcoff64_swap_reloc_out): Same.
2583 (xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
2584 R_POS. Add reloc value to output.
2585 (xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
2586 bit R_RBR. Improve names, masks.
2587 (xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
2588 (bfd_xcoff_backend_data): Update with new reloc swap names.
2589 (bfd_xcoff_aix5_backend_data) : Same.
2590
2591 2002-05-04 Alan Modra <amodra@bigpond.net.au>
2592
2593 * elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
2594 bfd_count top_index, input_list, all_local_syms.
2595 (elf32_hppa_setup_section_lists): New function, split from
2596 elf32_hppa_size_stubs.
2597 (elf32_hppa_next_input_section): Likewise.
2598 (group_sections): Likewise.
2599 (get_local_syms): Likewise.
2600 (elf32_hppa_size_stubs): Adjust for split out functions. Look for
2601 stubs on undefined syms too.
2602 (elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
2603 Only access htab elf fields when we have an elf hash table.
2604 * elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
2605 (elf32_hppa_next_input_section): Declare.
2606
2607 2002-05-04 Bob Byrnes <byrnes@curl.com>
2608
2609 * opncls.c (_bfd_new_bfd_contained_in): Check return value of
2610 _bfd_new_bfd.
2611
2612 2002-05-03 H.J. Lu (hjl@gnu.org)
2613
2614 * elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
2615 (mips_elf_link_hash_newfunc): Initialize forced_local to false.
2616 (mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
2617 to hide a global symbol.
2618 (_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
2619 forced_local to true.
2620
2621 2002-05-02 Richard Henderson <rth@redhat.com>
2622
2623 * elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
2624 vs SHN_UNDEF to zero.
2625
2626 2002-05-02 Alan Modra <amodra@bigpond.net.au>
2627
2628 * elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
2629 16 bit reloc.
2630 <R_PPC64_SECTOFF_DS>: Likewise.
2631 (ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
2632 SECTOFF reloc.
2633 * elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
2634 (ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
2635 SECTOFF reloc.
2636
2637 * elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
2638 (ppc64_elf_ha_reloc): New function.
2639 (ppc64_elf_brtaken_reloc): New function.
2640 (ppc64_elf_sectoff_reloc): New function.
2641 (ppc64_elf_sectoff_ha_reloc): New function.
2642 (ppc64_elf_toc_reloc): New function.
2643 (ppc64_elf_toc_ha_reloc): New function.
2644 (ppc64_elf_toc64_reloc): New function.
2645 (ppc64_elf_unhandled_reloc): New function.
2646 (ppc64_elf_howto_raw): Use the above.
2647 <R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
2648 <R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
2649 <R_PPC64_SECTOFF_DS>: Likewise.
2650 (IS_ABSOLUTE_RELOC): Update.
2651 (struct ppc_link_hash_table): Add have_undefweak.
2652 (ppc64_elf_link_hash_table_create): Init.
2653 (func_desc_adjust): Set have_undefweak.
2654 (ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
2655 add the .sfpr blr when have_undefweak.
2656 (ppc64_elf_setup_section_lists): Check hash table flavour.
2657 (ppc64_elf_next_input_section): Move output_section->owner test to
2658 ppc64elf.em.
2659 (ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
2660 and relocatable test. Return TOCstart and don't set elf_gp.
2661 (ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
2662 offset calculation. Add assert on weak sym branch tweaks.
2663 * elf64-ppc.h (ppc64_elf_set_toc): Delete.
2664 (ppc64_elf_toc): Declare.
2665 (ppc64_elf_next_input_section): Update.
2666
2667 2002-05-01 Alan Modra <amodra@bigpond.net.au>
2668
2669 * syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
2670 file_name.
2671
2672 2002-05-01 Alan Modra <amodra@bigpond.net.au>
2673
2674 * elf64-ppc.c (CROR_151515, CROR_313131): Define.
2675 (ppc64_elf_relocate_section): Use them. Don't look for plt calls
2676 on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
2677 call branches. Correct undefined weak destination.
2678 (ppc64_elf_func_desc_adjust): Always create at least one blr in
2679 .sfpr, and correct case where either only savef* or restf* is
2680 needed.
2681
2682 Long branch stubs, multiple stub sections.
2683 * elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
2684 (ppc64_elf_next_input_section): Declare.
2685 * elf64-ppc.c: Move linker-only prototypes.
2686 (STUB_SUFFIX): Define.
2687 (enum ppc_stub_type): New.
2688 (struct ppc_stub_hash_entry): New.
2689 (struct ppc_branch_hash_entry): New.
2690 (struct ppc_link_hash_entry): Add stub_cache, oh.
2691 (struct ppc_link_hash_table): Add stub_hash_table etc. Remove
2692 sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
2693 Rename plt_overflow to stub_error.
2694 (ppc_stub_hash_lookup): Define.
2695 (ppc_branch_hash_lookup): Define.
2696 (stub_hash_newfunc): New function.
2697 (branch_hash_newfunc): New function.
2698 (link_hash_newfunc): Init new fields.
2699 (ppc64_elf_link_hash_table_create): Likewise.
2700 (ppc64_elf_link_hash_table_free): New function.
2701 (ppc_stub_name): New function.
2702 (ppc_get_stub_entry): New function.
2703 (ppc_add_stub): New function.
2704 (create_linkage_sections): Use bfd_make_section_anyway. Create
2705 .branch_lt and .rela.branch_lt sections. Don't create .stub.
2706 (ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
2707 and set up for plt call stubs. Link func and func desc syms.
2708 (ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
2709 (func_desc_adjust): Avoid hash lookup when func desc sym available
2710 via shortcut, and set links when processing.
2711 (ppc64_elf_hide_symbol): Likewise.
2712 (allocate_dynrelocs): Don't allocate stub section here.
2713 (ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
2714 Remove sstub code.
2715 (ppc_type_of_stub): New function.
2716 (build_one_stub): Delete.
2717 (ppc_build_one_stub): New function.
2718 (ppc_size_one_stub): New function.
2719 (ppc64_elf_setup_section_lists): New function.
2720 (ppc64_elf_next_input_section): New function.
2721 (group_sections): New function.
2722 (get_local_syms): New function.
2723 (ppc64_elf_size_stubs): Rewrite.
2724 (ppc64_elf_build_stubs): Rewrite.
2725 (ppc64_elf_relocate_section): Look up stub entry for REL24
2726 relocs. Don't propagate REL14* to dynamic objects. Look for long
2727 branch stubs if REL14* or REL24 relocs won't reach.
2728 (bfd_elf64_bfd_link_hash_table_free): Define.
2729
2730 2002-04-30 Mark Mitchell <mark@codesourcery.com>
2731
2732 * config.bfd: Add support for powerpc-*-windiss.
2733
2734 2002-04-30 Tom Rix <trix@redhat.com>
2735
2736 * xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
2737 symbol names into the hash table.
2738
2739 2002-04-28 Tom Rix <trix@redhat.com>
2740
2741 * coff-rs6000.c (xcoff_calculate_relocation) : Function table for
2742 calulating relocations.
2743 (xcoff_complain_overflow) : Function table for relocation errors.
2744 (xcoff_ppc_relocate_section): Use relocation and complain function
2745 tables.
2746 (xcoff_complain_overflow_unsigned_func): New complain function.
2747 (xcoff_complain_overflow_signed_func): Same.
2748 (xcoff_complain_overflow_bitfield_func): Same.
2749 (xcoff_complain_overflow_dont_func): Same.
2750 (xcoff_reloc_type_crel): New recot function.
2751 (xcoff_reloc_type_br): Same.
2752 (xcoff_reloc_type_ba): Same.
2753 (xcoff_reloc_type_toc): Same.
2754 (xcoff_reloc_type_rel): Same.
2755 (xcoff_reloc_type_neg): Same.
2756 (xcoff_reloc_type_pos): Same.
2757 (xcoff_reloc_type_fail): Same.
2758 (xcoff_reloc_type_noop): Same.
2759 * libxcoff.h : Declare common parts for xcoff64.
2760 * coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
2761 and complain function tables.
2762
2763 2002-04-28 Alan Modra <amodra@bigpond.net.au>
2764
2765 * elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
2766 * elf32-hppa.c (elf32_hppa_final_link): Formatting.
2767
2768 2002-04-26 Alan Modra <amodra@bigpond.net.au>
2769
2770 * opncls.c (bfd_make_readable): Call bfd_section_list_clear.
2771 * xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
2772
2773 * elflink.h (elf_bfd_final_link): Ensure input bfd class is the
2774 same as the output before calling elf_link_input_bfd.
2775
2776 * coffcode.h (coff_compute_section_file_positions): Set
2777 section_tail after shuffling section list.
2778
2779 2002-04-24 Christian Groessler <chris@groessler.org>
2780
2781 * coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
2782 addresses are 23bit with a special layout, not plain 32bit
2783 values. Prevent relocation of immediate values.
2784
2785 2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
2786
2787 * elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
2788 MIPS-16 ASE flags are set, print something to indicate that.
2789
2790 2002-04-23 Alan Modra <amodra@bigpond.net.au>
2791
2792 * elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
2793 under which a plt call stub is used.
2794 (final_link_relocate): Similarly.
2795 (allocate_plt_static): Clear h-plabel except when plt entry is
2796 exclusively used for a plabel.
2797 (allocate_dynrelocs): Use the above to simplify plt sizing.
2798 (struct elf32_hppa_link_hash_table): Add has_22bit_branch.
2799 (elf32_hppa_link_hash_table_create): Init.
2800 (BL22_RP): Define.
2801 (hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
2802 (elf32_hppa_check_relocs): Set has_22bit_branch.
2803
2804 * elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
2805 (final_link_relocate): Likewise.
2806
2807 2002-04-22 Jakub Jelinek <jakub@redhat.com>
2808
2809 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
2810 search table if some FDE is DW_EH_PE_aligned encoded either.
2811 (_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
2812
2813 2002-04-22 Richard Smith <richard@ex-parrot.com>
2814 Jakub Jelinek <jakub@redhat.com>
2815
2816 * elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
2817 (_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
2818 encoded personality.
2819 (_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
2820 for CIE/FDE removal.
2821
2822 2002-04-20 Tom Rix <trix@redhat.com>
2823
2824 * coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
2825
2826 2002-04-20 Alan Modra <amodra@bigpond.net.au>
2827
2828 * archures.c (bfd_lookup_arch): Move the list order comment..
2829 (struct bfd_arch_info): ..to where it belongs.
2830 * bfd-in2.h: Regenerate.
2831
2832 * archures.c (bfd_lookup_arch): Add comment on list order.
2833 (bfd_default_set_arch_mach): Use bfd_lookup_arch.
2834 * cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
2835 is always at head of list.
2836
2837 2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
2838
2839 * coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
2840 insert_thumb_branch, record_thumb_to_arm_glue): Suppress
2841 definition of these functions for ARM_WINCE builds as they are
2842 not used.
2843 (SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
2844 for ARM_WINCE builds.
2845
2846 2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
2847
2848 * coff-arm.c (bfd_arm_process_before_allocation):
2849
2850 2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
2851
2852 * cpu-sh.c (scan_mach): Delete.
2853 (arch_info_struct): Replace scan_mach with bfd_default_scan.
2854 (bfd_sh_arch): Likewise.
2855
2856 2002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
2857
2858 * ihex.c (ihex_write_object_contents): Fix check for records
2859 crossing 64K boundaries.
2860
2861 2002-04-16 Alan Modra <amodra@bigpond.net.au>
2862
2863 * elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
2864 type rather than just assuming entries are ELF.
2865 * elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
2866 * elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
2867 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
2868 * elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
2869 rather than elf_link_hash_entry.
2870
2871 2002-04-15 Richard Henderson <rth@redhat.com>
2872
2873 * elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
2874 n32 binaries.
2875
2876 2002-04-15 Michael Snyder <msnyder@redhat.com>
2877
2878 * opncls.c (bfd_close): Write contents if writeable.
2879 Minor formatting tidy-ups.
2880
2881 2002-04-15 Alan Modra <amodra@bigpond.net.au>
2882
2883 * elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
2884
2885 2002-04-12 Michael Snyder <msnyder@redhat.com>
2886
2887 * bfd-in.h (bfd_get_section_lma): New access macro.
2888 Minor white-space fix-up.
2889
2890 2002-04-12 Alan Modra <amodra@bigpond.net.au>
2891
2892 * elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
2893 header pad.
2894
2895 2002-04-09 DJ Delorie <dj@redhat.com>
2896
2897 * elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
2898
2899 2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
2900
2901 * coffcode.h (coff_read_word): New.
2902 (coff_compute_checksum): New.
2903 (coff_apply_checksum): New.
2904 (coff_write_object_contents): Call coff_apply_checksum () to
2905 apply checksum to PE image.
2906
2907 2002-04-08 Randolph Chung <tausq@debian.org>
2908
2909 * elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
2910 (elf32_hppa_final_link): Split out sorting logic to..
2911 * elf-hppa.h (elf_hppa_sort_unwind): ..here.
2912 (elf_hppa_final_link): Call elf_hppa_sort_unwind.
2913
2914 2002-04-07 Andrew Cagney <ac131313@redhat.com>
2915
2916 * configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
2917 pattern.
2918 * configure: Re-generate.
2919
2920 2002-04-07 Andrew Cagney <ac131313@redhat.com>
2921
2922 * configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
2923 is greater or equal to 4.3.3.
2924 * configure: Regenerate.
2925 Fix PR gdb/344.
2926
2927 2002-04-05 Hans-Peter Nilsson <hp@axis.com>
2928
2929 * elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
2930 R_CRIS_32_PCREL>: Fix typo in name.
2931 (cris_elf_check_relocs): Always create .rela.got here when
2932 R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
2933 (elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
2934 assume it's created.
2935
2936 2002-04-04 Daniel Jacobowitz <drow@mvista.com>
2937
2938 * aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
2939 * aout-target.h (MY_bfd_link_hash_table_free): Conditionally
2940 define.
2941 * aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
2942 * bfd.c (bfd_link_hash_table_free): Define.
2943 * binary.c (binary_bfd_link_hash_table_free): Define.
2944 * bout.c (b_out_bfd_link_hash_table_free): Define.
2945 * coff-rs6000.c (rs6000coff_vec): Include
2946 _bfd_generic_link_hash_table_free.
2947 (pmac_xcoff_vec): Likewise.
2948 * coff64-rs6000.c (rs6000coff64_vec): Likewise.
2949 (aix5coff64_vec): Likewise.
2950 * coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
2951 * elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
2952 (bfd_elf32_bfd_link_hash_table_free): Define.
2953 * elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
2954 (bfd_elf32_bfd_link_hash_table_free): Define.
2955 * elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
2956 define.
2957 * i386msdos.c (msdos_bfd_link_hash_table_free): Define.
2958 * i386os9k.c (os9k_bfd_link_hash_table_free): Define.
2959 * ieee.c (ieee_bfd_link_hash_table_free): Define.
2960 * ihex.c (ihex_bfd_link_hash_table_free): Define.
2961 * libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
2962 (_bfd_generic_link_hash_table_free): Add prototype.
2963 * libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
2964 * libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
2965 * linker.c (_bfd_generic_link_hash_table_free): New function.
2966 * mmo.c (mmo_bfd_link_hash_table_free): Define.
2967 * nlm-target.h (nlm_bfd_link_hash_table_free): Define.
2968 * oasys.c (oasys_bfd_link_hash_table_free): Define.
2969 * ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
2970 * som.c (som_bfd_link_hash_table_free): Define.
2971 * srec.c (srec_bfd_link_hash_table_free): Define.
2972 * tekhex.c (tekhex_bfd_link_hash_table_free): Define.
2973 * versados.c (versados_bfd_link_hash_table_free): Define.
2974 * vms.c (vms_bfd_link_hash_table_free): New function.
2975 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
2976
2977 * coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
2978 instead of bfd_alloc.
2979 * coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
2980 * coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
2981 * coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
2982 * cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
2983 * ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
2984 * elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
2985 * elf.c (_bfd_elf_link_hash_table_create): Likewise.
2986 * elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
2987 * elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
2988 * elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
2989 * elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
2990 * elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
2991 * elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
2992 * elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
2993 * elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
2994 * elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
2995 * elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
2996 * elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
2997 * elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
2998 * elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
2999 * elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
3000 * linker.c (_bfd_generic_link_hash_table_create): Likewise.
3001 * m68klinux.c (linux_link_hash_table_create): Likewise.
3002 * sparclinux.c (linux_link_hash_table_create): Likewise.
3003 * sunos.c (sunos_link_hash_table_create): Likewise.
3004 * xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
3005
3006 * targets.c: Add _bfd_link_hash_table_free to xvec.
3007
3008 * bfd-in2.h: Regenerate.
3009 * libbfd.h: Regenerate.
3010 * libcoff.h: Regenerate.
3011
3012 2002-04-04 Alan Modra <amodra@bigpond.net.au>
3013
3014 * dep-in.sed: Cope with absolute paths.
3015 * Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
3016 Run "make dep-am".
3017 * Makefile.in: Regenerate.
3018 * coff-arm.c: Fix copyright date.
3019 * cpu-h8300.c: Likewise.
3020 * cpu-i370.c: Likewise.
3021 * cpu-s390.c: Likewise.
3022 * cpu-mips.c: Likewise.
3023 * po/SRC-POTFILES.in: Regenerate.
3024
3025 2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
3026
3027 * Makefile.am: Add elfxx-mips.c to the known backends.
3028 (elf32-mips.lo): remove dependency to coff/external.h.
3029 * Makefile.in: Regenerate.
3030 * configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
3031 Remove elf32-mips.lo from 64 bit vectors. Update dependencies
3032 accordingly.
3033 * configure: Regenerate.
3034 * elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
3035 (irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
3036 (elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
3037 MIPS specific backend functions.
3038 * elf32-mips.c: Moved most code to elfxx-mips.c.
3039 (mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
3040 static.
3041 (mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
3042 (mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
3043 (mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
3044 (mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
3045 interface to allow selection of the right REL or RELA howto table.
3046 (mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
3047 static. Let it refuse n32 objects.
3048 (elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
3049 (elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
3050 (elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
3051 (elf32_mips_ignore_discarded_relocs): Rename from
3052 _bfd_elf32_mips_ignore_discarded_relocs.
3053 (elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
3054 (elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
3055 (elf_mips_howto_table_rela): Remove.
3056 * elf64-mips.c: Moved most code to elfxx-mips.c.
3057 (bfd_elf64_bfd_reloc_type_lookup): Make static.
3058 (mips_elf64_rtype_to_howto): New function.
3059 (mips_elf64_object_p): Likewise.
3060 (elf64_mips_irix_compat): Likewise.
3061 * elfxx-mips.c: New file containing common code merged together from
3062 elf32-mips.c and elf64-mips.c.
3063 * elfxx-mips.h: New file containing MIPS specific prototypes from
3064 elf-bfd.h.
3065 * elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
3066 elf_backend_mips_rtype_to_howto.
3067
3068 2002-04-04 Alan Modra <amodra@bigpond.net.au>
3069
3070 * srec.c (MAXCHUNK, Chunk): Revise comments.
3071 (srec_write_record): Correct buffer size.
3072 (srec_write_header): Do without intermediate buffer.
3073 (srec_write_section): Validate Chunk.
3074 (srec_write_terminator): Pass NULL instead of dummy buffer.
3075 (srec_write_symbols): Pass file and symbol names directly to
3076 bfd_bwrite so sprintf won't overflow buffer.
3077
3078 2002-04-03 Jakub Jelinek <jakub@redhat.com>
3079
3080 * elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
3081 PC relative relocs against hidden symbols.
3082 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3083
3084 2002-04-03 Alan Modra <amodra@bigpond.net.au>
3085
3086 * elf.c (_bfd_elf_make_section_from_shdr): When setting section
3087 LMAs, loop over segments until p_vaddr and p_memsz specify an
3088 extent enclosing the section.
3089
3090 2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
3091
3092 * ihex.c (ihex_write_object_contents): Do not allow records to
3093 cross a 64K boundary - wrap if necessary.
3094
3095 2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
3096
3097 * elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
3098 which caused the returned LWP ID to always be 0.
3099
3100 2002-04-01 Richard Henderson <rth@redhat.com>
3101
3102 * elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
3103 (elf32_sparc_relocate_section): Use it to figure out when to
3104 initialize .got entries.
3105 * elf64-sparc.c: Similarly.
3106
3107 2002-03-28 Alan Modra <amodra@bigpond.net.au>
3108
3109 * linker.c (link_action): Ignore duplicate warning syms.
3110 (_bfd_generic_link_write_global_symbol): Follow warning symbol link.
3111 * elflink.h (elf_adjust_dynstr_offsets): Likewise.
3112 (elf_adjust_dynamic_symbol): Likewise.
3113 (elf_export_symbol): Likewise.
3114 (elf_link_find_version_dependencies): Likewise.
3115 (elf_link_assign_sym_version): Likewise.
3116 (elf_link_sec_merge_syms): Likewise.
3117 (elf_link_output_extsym): Likewise.
3118 (elf_gc_sweep_symbol): Likewise.
3119 (elf_gc_propagate_vtable_entries_used): Likewise.
3120 (elf_gc_smash_unused_vtentry_relocs): Likewise.
3121 (elf_gc_allocate_got_offsets): Likewise.
3122 (elf_collect_hash_codes): Likewise.
3123 * elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
3124 * elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
3125 (elf_hppa_remark_useless_dynamic_symbols): Likewise.
3126 * elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
3127 * elf32-arm.h (elf32_arm_discard_copies): Likewise.
3128 * elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
3129 (elf_cris_discard_excess_dso_dynamics): Likewise.
3130 * elf32-hppa.c (clobber_millicode_symbols): Likewise.
3131 (mark_PIC_calls): Likewise.
3132 (allocate_plt_static): Likewise.
3133 (allocate_dynrelocs): Likewise.
3134 (readonly_dynrelocs): Likewise.
3135 * elf32-i386.c (allocate_dynrelocs): Likewise.
3136 (readonly_dynrelocs): Likewise.
3137 * elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
3138 * elf32-m68k.c (elf_m68k_discard_copies): Likewise.
3139 * elf32-mips.c (mips_elf_output_extsym): Likewise.
3140 (mips_elf_sort_hash_table_f): Likewise.
3141 (mips_elf_check_mips16_stubs): Likewise.
3142 * elf32-s390.c (allocate_dynrelocs): Likewise.
3143 (readonly_dynrelocs): Likewise.
3144 * elf32-sh.c (sh_elf_discard_copies): Likewise.
3145 * elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
3146 (xstormy16_relax_plt_realloc): Likewise.
3147 * elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
3148 (elf64_alpha_output_extsym): Likewise.
3149 * elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
3150 * elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
3151 (mips_elf64_check_mips16_stubs): Likewise.
3152 (mips_elf64_output_extsym): Likewise.
3153 * elf64-ppc.c (func_desc_adjust): Likewise.
3154 (allocate_dynrelocs): Likewise.
3155 (readonly_dynrelocs): Likewise.
3156 * elf64-s390.c (allocate_dynrelocs): Likewise.
3157 (readonly_dynrelocs): Likewise.
3158 * elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
3159 * elf64-x86-64.c (allocate_dynrelocs): Likewise.
3160 (readonly_dynrelocs): Likewise.
3161 * elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
3162 * aoutx.h (aout_link_write_other_symbol): Likewise.
3163 * cofflink.c (_bfd_coff_write_task_globals): Likewise.
3164 (_bfd_coff_write_global_sym): Likewise.
3165 * i386linux.c (linux_tally_symbols): Likewise.
3166 * m68klinux.c (linux_tally_symbols): Likewise.
3167 * sparclinux.c (linux_tally_symbols): Likewise.
3168 * pdp11.c (aout_link_write_other_symbol): Likewise.
3169 * sunos.c (sunos_scan_dynamic_symbol): Likewise.
3170 * xcofflink.c (xcoff_build_ldsyms): Likewise.
3171 (xcoff_write_global_symbol): Likewise.
3172
3173 * cofflink.c (_bfd_coff_final_link): Formatting.
3174 * cpu-mips.c (mips_compatible): Make static, prototype.
3175 * elf32-i386.c (elf_i386_check_relocs): Formatting.
3176 * elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
3177 * elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
3178 * elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
3179 (mips_elf64_final_link): Likewise.
3180 * elflink.h (elf_link_find_version_dependencies): Remove duplicate
3181 prototype.
3182
3183 2002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
3184
3185 * coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
3186 (SWAP_OUT_RELOC_OFFSET): Define.
3187
3188 2002-03-27 Gregory Steuck <greg@nest.cx>
3189
3190 * elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
3191 terminating NULL if empty symbol table.
3192 (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
3193
3194 2002-03-26 H.J. Lu (hjl@gnu.org)
3195
3196 * elflink.h (elf_link_input_bfd): Revert the last change since
3197 the gcc exception handling isn't fixed yet.
3198
3199 2002-03-26 H.J. Lu (hjl@gnu.org)
3200
3201 * elflink.h (elf_link_input_bfd): Complain about relocations
3202 against local symbols in discarded sections.
3203
3204 2002-03-26 Alan Modra <amodra@bigpond.net.au>
3205
3206 * elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
3207
3208 2002-03-23 Alan Modra <amodra@bigpond.net.au>
3209
3210 * elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
3211 section file offset for !SEC_LOAD sections.
3212
3213 2002-03-21 Richard Earnshaw <rearnsha@arm.com>
3214
3215 * elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
3216 <case R_ARM_GOT>): Handle relocations to Thumb functions.
3217
3218 2002-03-21 Alan Modra <amodra@bigpond.net.au>
3219
3220 * coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
3221 Whitespace changes.
3222 * archive.c: Update copyright date.
3223 * bfd-in2.h: Regenerate.
3224 * libbfd.h: Regenerate.
3225 * Makefile.am: Run "make dep-am"
3226 * Makefile.in: Regenerate.
3227 * po/SRC-POTFILES.in: Regenerate.
3228
3229 2002-03-20 Daniel Jacobowitz <drow@mvista.com>
3230
3231 * dwarf2.c (struct funcinfo): Move up.
3232 (lookup_address_in_function_table): New argument function_ptr.
3233 Set it.
3234 (lookup_address_in_line_table): New argument function. If function
3235 is non-NULL, use it to handle ``addr'' before the first line note of
3236 the function.
3237 (comp_unit_find_nearest_line): Update and swap calls to
3238 lookup_address_in_function_table and lookup_address_in_line_table.
3239 * syms.c (_bfd_stab_section_find_nearest_line): Use the first
3240 N_SLINE encountered if we see an N_FUN before any N_SLINE.
3241
3242 2002-03-20 Tom Rix <trix@redhat.com>
3243
3244 * coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
3245 _bfd_xcoff_generic_stat_arch_elt. Fix format check.
3246 * coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
3247
3248 2002-03-19 Tom Rix <trix@redhat.com>
3249
3250 * xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
3251 dynamic objects in archives.
3252
3253 2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
3254
3255 * elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
3256 STT_NOTYPE symbols to STT_OBJECT.
3257
3258 2002-03-18 Jan Hubicka <jh@suse.cz>
3259
3260 * cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
3261
3262 2002-03-18 Tom Rix <trix@redhat.com>
3263
3264 * aix5ppc.core.c : New file for AIX 5 64 bit core support.
3265 * bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
3266 * coff-rs6000 (do_pad) : New function for archive padding.
3267 (do_copy) : New function for object file copying in archives.
3268 (do_shared_object_padding) : New function for padding shared
3269 objects to their text section alignment in archives.
3270 (bfd_xcoff_ar_achive_set_magic) : Stub.
3271 (xcoff_write_armap_big) : Use do_copy and do_pad.
3272 (xcoff_write_archive_contents_big) : Use do_shared_object_padding,
3273 do_copy and do_pad.
3274 * coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
3275 bfd_xcoff_magic_number.
3276 (xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
3277 fop.
3278 (xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
3279 (bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
3280 (aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
3281 * rs6000-core.c : Update copyright date.
3282 * xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
3283 csectpp.
3284 * coffcode.h (coff_new_section_hook) : Use new accessor macros.
3285 (coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
3286 (coff_set_flags) : Use bfd_xcoff_magic_number.
3287 * libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
3288 * configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
3289 * Makefile.am : Same.
3290 * config.bfd : Same.
3291 * targets.c : Same.
3292 * configure : Regnerate.
3293 * Makefile.in : Same.
3294 * bfd-in2.h : Same.
3295
3296 2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
3297
3298 * po/fr.po: Updated version.
3299
3300 2002-03-18 Alan Modra <amodra@bigpond.net.au>
3301
3302 * libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
3303 * libbfd.h: Regenerate.
3304 * archive.c (coff_write_armap): Pass on failures from
3305 bfd_write_bigendian_4byte_int.
3306
3307 2002-03-14 H.J. Lu <hjl@gnu.org>
3308
3309 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
3310 error to bfd_error_nonrepresentable_section for reinit_array
3311 section in DSO.
3312
3313 2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
3314
3315 * coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
3316 OR it in rather than replacing previously selected flags.
3317
3318 * elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
3319 (TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
3320
3321 2002-03-14 Alan Modra <amodra@bigpond.net.au>
3322
3323 * cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
3324 (N): Use the above.
3325 * elflink.h (elf_bfd_final_link): Revert last change. Instead,
3326 ensure reloc size matches before calling elf_link_input_bfd.
3327 Add an assert to check reloc size when counting output relocs.
3328
3329 2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
3330
3331 * mmo.c (mmo_get_loc): Return NULL rather than false.
3332
3333 2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
3334
3335 * po/fr.po: Updated version.
3336
3337 2002-03-13 Alan Modra <amodra@bigpond.net.au>
3338
3339 * archures.c (bfd_default_compatible): Test bits_per_word.
3340 * cpu-i386.c (i386_compatible): Remove. Replace occurrences with
3341 bfd_default_compatible.
3342 * cpu-i370.c (i370_compatible): Likewise.
3343 * cpu-sparc.c (sparc_compatible): Likewise.
3344 * cpu-h8300.c (compatible): Test in->arch == out->arch.
3345
3346 * elflink.h: Formatting fixes.
3347 (elf_link_output_extsym): Merge undefined and undef weak cases.
3348
3349 * elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
3350 when word size of input matches output word size.
3351
3352 2002-03-12 Andreas Jaeger <aj@suse.de>
3353
3354 * cpu-i386.c (i386_compatible): New. Use it instead of
3355 bfd_default_compatible.
3356
3357 2002-03-07 H.J. Lu (hjl@gnu.org)
3358
3359 * coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
3360 as the type for bfd_reloc_val.
3361
3362 2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
3363
3364 * elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
3365 (elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
3366 (elf_hppa_final_link_relocate): Correct relocations for indirect
3367 references to local data through the DLT. Fix .opd creation for
3368 local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
3369 relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
3370 R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
3371 "Processor-Specific ELF for PA_RISC, Version 1.43" document.
3372 Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
3373 * elf32-hppa.c (final_link_relocate): Revise relocation selectors
3374 as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
3375
3376 2002-03-05 Jakub Jelinek <jakub@redhat.com>
3377
3378 * merge.c (_bfd_merge_sections): Don't segfault if there
3379 is nothing to merge due to GC.
3380
3381 2002-03-05 Alan Modra <amodra@bigpond.net.au>
3382
3383 * elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
3384 symbols that have been forced local.
3385
3386 * elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
3387 to output forced local syms for non-shared link.
3388 (elf_link_output_extsym): Tweak condition for calling backend
3389 adjust_dynamic_symbol so that previous behaviour is kept.
3390 Whitespace changes throughout file.
3391
3392 2002-03-04 H.J. Lu <hjl@gnu.org>
3393
3394 * elf.c (bfd_section_from_shdr): Handle special sections,
3395 .init_array, .fini_array and .preinit_array.
3396 (elf_fake_sections): Likewise.
3397
3398 * elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
3399 DT entry only if the section is in output for .init_array,
3400 .fini_array and .preinit_array. Complain about .preinit_array
3401 section in DSO.
3402 (elf_bfd_final_link): Warn zero size for .init_array,
3403 .fini_array and .preinit_array sections.
3404
3405 * elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
3406 SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
3407 (elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
3408 .preinit_array.
3409
3410 2002-03-04 Alan Modra <amodra@bigpond.net.au>
3411
3412 * configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
3413 * configure: Regenerate.
3414
3415 2002-03-02 Tom Rix <trix@redhat.com>
3416
3417 * coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
3418 symbolic equiv.
3419 * coff-rs6000.c (xcoff_howto_table): Same.
3420
3421 2002-03-01 David Mosberger <davidm@hpl.hp.com>
3422
3423 * elflink.h (size_dynamic_sections): If section named
3424 ".preinit_array" exists, create DT_PREINIT_ARRAY and
3425 DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
3426 ".init_array" and ".fini_array".
3427 (elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
3428 DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
3429 DT_FINI_ARRAY.
3430
3431 2002-02-26 Andrew Macleod <amacleod@cygnus.com>
3432
3433 * elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
3434 dynsyms.
3435
3436 2002-02-25 Alan Modra <amodra@bigpond.net.au>
3437
3438 * elf64-hppa.h: Update copyright date.
3439
3440 * elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
3441 (ppc64_elf_relocate_section): Don't generate power4 style branch
3442 hints for *_BRTAKEN and *_BRNTAKEN relocs.
3443
3444 2002-02-22 Jakub Jelinek <jakub@redhat.com>
3445
3446 * elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
3447 last patch.
3448 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3449
3450 2002-02-21 Andreas Jaeger <aj@suse.de>
3451
3452 * elf64-x86-64.c: Major rework that introduces all recent changes
3453 to the x86-64 backend. Get a closer match to elf32-i386.
3454 (struct elf64_x86_64_dyn_relocs): Rename from
3455 elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
3456 all users.
3457 (struct elf64_x86_64_link_hash_table): Add short cuts to some
3458 sections.
3459 (link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
3460 remove casts, initialize new hash members.
3461 (create_got_section): New.
3462 (elf64_x86_64_create_dynamic_sections): New.
3463 (elf64_x86_64_copy_indirect_symbol): New.
3464 (elf64_x86_64_check_relocs): Don't allocate space for dynamic
3465 relocs, .got or .relgot here but do it in allocate_dynrelocs.
3466 Reference count possible .plt and .got entries. Don't test input
3467 section SEC_READONLY here to try to avoid copy relocs, and keep
3468 dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
3469 DF_TEXTREL here. Delay setting of variables until needed. Cache
3470 pointer to "sreloc" section in elf_section_data. Tweak condition
3471 under which .got created. Report files with bad relocation
3472 section names.
3473 (elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
3474 Reference count possible .plt entries. Don't deallocate .got and
3475 .relgot space here.
3476 (elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
3477 do copy reloc processing for weakdefs. Remove redundant casts and
3478 aborts. Delay setting of vars until needed. Move creation of
3479 dynamic symbols and allocation of .plt and .rela.plt to
3480 allocate_dynrelocs. Replace BFD_ASSERT with abort.
3481 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
3482 (allocate_dynrelocs): New.
3483 (readonly_dynrelocs): New.
3484 (elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
3485 Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
3486 Zero out the dynamic allocated content space.
3487 (elf64_x86_64_discard_copies): Removed.
3488 (elf64_x86_64_relocate_section): Make use of dynamic section
3489 short-cuts. Localise vars, and delay setting. Better error
3490 reporting, replace BFD_ASSERT with abort. Check
3491 ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
3492 regular object file and tread the weak definition as the normal
3493 one. Don't discard relocs for undefweak or undefined symbols and
3494 check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
3495 relocs.
3496 (elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
3497 symbols that have been forced local. Use same test to decide if
3498 we can use a relative reloc for got as relocate_section. Expand
3499 SHN_UNDEF comment. Move expressions out of function calls.
3500 Replace BFD_ASSERT with abort.
3501 (bfd_elf64_bfd_final_link): Removed.
3502 (elf_backend_copy_indirect_symbol): Define.
3503
3504 2002-02-20 Tom Rix <trix@redhat.com>
3505
3506 * coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
3507 (_bfd_xcoff_reloc_type_lookup): Use it.
3508 * coff64-rs6000.c (xcoff64_howto_table): Same.
3509 (xcoff64_reloc_type_lookup): Same.
3510
3511 2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
3512
3513 * osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
3514 little endian.
3515
3516 2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
3517
3518 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
3519 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
3520 * bfd-in2.h: Regenerate.
3521 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
3522 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
3523 with "s390:64-bit".
3524 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
3525 (elf_s390_reloc_type_lookup): Likewise.
3526 (elf_s390_check_relocs): Likewise.
3527 (elf_s390_gc_sweep_hook): Likewise.
3528 (elf_s390_relocate_section): Likewise.
3529 (elf_s390_object_p): Use renamed architecture define.
3530 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
3531
3532 2002-02-19 Frank Ch. Eigler <fche@redhat.com>
3533
3534 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
3535
3536 2002-02-19 Jakub Jelinek <jakub@redhat.com>
3537
3538 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
3539 absptr -> pcrel optimization for shared libs.
3540 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
3541 library cannot be converted to pcrel.
3542 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
3543 relative.
3544 * elf32-i386.c (elf_i386_relocate_section): If
3545 _bfd_elf_section_offset returned -2, skip, but make sure the
3546 relocation is installed.
3547 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
3548 * elf32-cris.c (cris_elf_relocate_section): Likewise.
3549 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
3550 * elf32-i370.c (i370_elf_relocate_section): Likewise.
3551 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
3552 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
3553 * elf32-s390.c (elf_s390_relocate_section): Likewise.
3554 * elf32-sh.c (sh_elf_relocate_section): Likewise.
3555 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
3556 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
3557 * elf64-s390.c (elf_s390_relocate_section): Likewise.
3558 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
3559 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
3560 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
3561 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
3562 _bfd_elf_section_offset returning -2 the same way as -1.
3563 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
3564 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
3565 and BFD_ASSERT.
3566 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
3567
3568 2002-02-18 Tom Rix <trix@redhat.com>
3569
3570 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
3571 (bfd_xcoff_size_dynamic_sections): Same.
3572 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
3573 (bfd_xcoff_size_dynamic_sections): Same.
3574 * coff-rs6000.c (xcoff_generate_rtinit): Same.
3575 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
3576 * libxcoff.h (struct xcoff_backend_data_rec): Same.
3577 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
3578 * bfd-in2.h: Regenerate.
3579
3580 2002-02-18 Alan Modra <amodra@bigpond.net.au>
3581
3582 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
3583 (struct ppc_link_hash_table): Add sfpr.
3584 (ppc64_elf_link_hash_table_create): Init it.
3585 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
3586 .glink out to..
3587 (create_linkage_sections): ..here. Make .sfpr too.
3588 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
3589 dynobj early.
3590 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
3591 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
3592 ._restf* functions, and create as needed.
3593 (func_desc_adjust): Only force_local for shared libs.
3594
3595 2002-02-18 David O'Brien <obrien@FreeBSD.org>
3596
3597 * configure.in: Bump version number post 2.12 branching.
3598 * configure: Regenerate.
3599
3600 2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
3601
3602 * mmo.c: Correct and improve comments.
3603 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
3604 zero-pad. Use input to fill up non-empty bfd buffer.
3605 (mmo_flush_chunk): New function.
3606 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
3607 changed. Don't emit location specifier if VMA is same as
3608 *LAST_VMAP after omitting leading zero contents. Call
3609 mmo_flush_chunk before emitting location specifier.
3610 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
3611 with mmo_write_loc_chunk calls.
3612 (mmo_internal_write_section): Call mmo_flush_chunk after
3613 mmo_write_chunk.
3614 (mmo_write_symbols_and_terminator): Move :Main to first position
3615 in symbol array. Add faked one if it does not exist if there are
3616 other symbols. Don't add it if there are no symbols at all. Move
3617 out test for value of :Main from symbol loop. Rename table
3618 fakemain to maintable and variable mainsym to fakemain.
3619
3620 2002-02-15 Richard Henderson <rth@redhat.com>
3621
3622 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
3623 section with no got matches any got. Simplify error generaion.
3624
3625 2002-02-15 Alan Modra <amodra@bigpond.net.au>
3626
3627 Support arbitrary length fill patterns.
3628 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
3629 (_bfd_default_link_order): Remove bfd_fill_link_order code.
3630 Call default_data_link_order.
3631 (default_fill_link_order): Delete.
3632 (default_data_link_order): New function.
3633 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
3634 of bfd_fill_link_order with bfd_data_link_order.
3635 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
3636 * elf64-mips.c (mips_elf64_final_link): Likewise.
3637
3638 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
3639 Correct value returned in "end" for "0x<non-hex>".
3640
3641 2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
3642
3643 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
3644 (scan): Test against 'mach' field in info structure.
3645
3646 2002-02-14 Alan Modra <amodra@bigpond.net.au>
3647
3648 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
3649
3650 2002-02-14 Matt Fredette <fredette@netbsd.org>
3651
3652 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
3653 EF_M68000.
3654
3655 2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
3656
3657 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
3658 non-zero physical addresses when adjusting the LMAs of new
3659 sections.
3660
3661 2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
3662
3663 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
3664 from _bfd_elf_hppa_gen_reloc_type.
3665 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
3666 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
3667 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
3668 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
3669
3670 2002-02-12 Alexandre Oliva <aoliva@redhat.com>
3671
3672 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
3673 loading its contents if there's nothing to do in it.
3674
3675 2002-02-12 Alan Modra <amodra@bigpond.net.au>
3676
3677 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
3678 64k boundary.
3679
3680 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
3681 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
3682 (ppc64_elf_finish_dynamic_sections): Set values for them.
3683
3684 2002-02-11 Michael Snyder <msnyder@redhat.com>
3685
3686 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
3687 * elf.c (elfcore_grok_pstatus): Add prototype.
3688 (elfcore_grok_lwpstatus): Add prototype.
3689 (elfcore_write_lwpstatus): New function.
3690 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
3691
3692 2002-02-11 Alexandre Oliva <aoliva@redhat.com>
3693
3694 * elf32-sh.c: Added missing prototypes.
3695 * elf32-sh64.c: Likewise.
3696 (sh_elf_align_loads): Mark unused args as such.
3697 * elf64-sh64.c: Added missing prototypes.
3698 (struct elf_sh64_link_hash_entry): Fix typo.
3699 (sh_elf64_relocate_section): Fix info argument passed to
3700 _bfd_elf_section_offset.
3701
3702 2002-02-11 Alan Modra <amodra@bigpond.net.au>
3703
3704 * Makefile.am: "make dep-am".
3705 * Makefile.in: Regenerate.
3706 * aclocal.m4: Regenerate.
3707 * config.in: Regenerate.
3708 * configure: Regenerate.
3709
3710 2002-02-10 Daniel Jacobowitz <drow@mvista.com>
3711
3712 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
3713 variable warnings.
3714 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
3715 comparison warning.
3716 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
3717 cast warnings for the common case.
3718
3719 2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
3720
3721 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
3722 vectors.
3723 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
3724 vectors.
3725
3726 2002-02-09 Richard Henderson <rth@redhat.com>
3727
3728 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
3729 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
3730 (elf64_alpha_relocate_section): Likewise.
3731 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
3732 * bfd-in2.h, libbfd.h: Rebuild.
3733
3734 2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
3735
3736 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
3737 that base-plus-offset reloc accounting is consistent.
3738 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
3739 up to date for undefined symbols.
3740
3741 2002-02-08 Eric Christopher <echristo@redhat.com>
3742
3743 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3744
3745 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
3746 sections for the O32 ABI.
3747
3748 2002-02-08 Chris Demetriou <cgd@broadcom.com>
3749
3750 * elf32-arm.h: Fix formatting of _("...").
3751 * elf32-d10v.c: Likewise.
3752 * elf32-m68k.c: Likewise.
3753 * elf32-mips.c: Likewise.
3754
3755 2002-02-08 Ivan Guzvinec <ivang@opencores.org>
3756
3757 * coff-or32.c: Fix compile time warning messages.
3758
3759 2002-02-08 Alexandre Oliva <aoliva@redhat.com>
3760
3761 Contribute sh64-elf.
3762 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
3763 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
3764 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
3765 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
3766 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
3767 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
3768 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
3769 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
3770 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
3771 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
3772 New relocs.
3773 * libbfd.h, bfd-in2.h: Rebuilt.
3774 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
3775 (sh_reloc_map): Map them.
3776 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
3777 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
3778 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
3779 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
3780 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
3781 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
3782 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
3783 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
3784 datalabel_got_offset.
3785 (sh_elf_link_hash_newfunc): Initialize it.
3786 (sh_elf_relocate_section): Augment the scope of
3787 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
3788 GOT and GOTOFF handling to new SHmedia relocation types. Support
3789 GOT_BIAS.
3790 (sh_elf_check_relocs): Likewise.
3791 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
3792 PLT entries using movi_shori_putval. Support GOT_BIAS.
3793 (sh_elf_finish_dynamic_sections): Likewise.
3794 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
3795 relocation, it's now done by the caller.
3796 (GOT_BIAS): New.
3797 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
3798 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
3799 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
3800 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
3801 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
3802 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
3803 sh64_elf64_hash_table): New.
3804 (sh_elf64_howto_table): Introduce new relocs.
3805 (sh_elf64_info_to_howto): Accept new PIC relocs.
3806 (sh_elf64_relocate_section): Augment the scope of
3807 seen_stt_datalabel. Support new PIC relocs.
3808 (sh_elf64_check_relocs): Support new PIC relocs.
3809 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
3810 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
3811 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
3812 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
3813 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
3814 movi_shori_putval, movi_3shori_putval,
3815 sh64_elf64_create_dynamic_sections,
3816 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
3817 sh64_elf64_size_dynamic_sections,
3818 sh64_elf64_finish_dynamic_symbol,
3819 sh64_elf64_finish_dynamic_sections): New.
3820 (elf_backend_create_dynamic-sections,
3821 bfd_elf64_bfd_link_hash_table_create,
3822 elf_backend_adjust_dynamic_symbol,
3823 elf_backend_size_dynamic_sections,
3824 elf_backend_finish_dynamic_symbol,
3825 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
3826 elf_backend_plt_readonly, elf_backend_want_plt_sym,
3827 elf_backend_got_header_size, elf_backend_plt_header_size):
3828 Define.
3829 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
3830 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
3831 match official numbers and names; moved unmaching ones to the
3832 range 0xf2-0xff.
3833 * elf32-sh64.c, elf64-sh64.c: Likewise.
3834 2001-03-12 DJ Delorie <dj@redhat.com>
3835 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
3836 sections.
3837 2001-03-12 DJ Delorie <dj@redhat.com>
3838 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
3839 be aligned.
3840 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
3841 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
3842 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
3843 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
3844 .cranges section with SEC_SORT_ENTRIES set.
3845 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
3846 incoming sorted .cranges section.
3847 (sh64_bfd_elf_copy_private_section_data): New.
3848 (sh64_elf_final_write_processing): Only sort .cranges and modify
3849 start address if called by linker.
3850 2001-01-08 Ben Elliston <bje@redhat.com>
3851 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
3852 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
3853 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
3854 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
3855 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
3856 line. Add comments before all entries.
3857 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
3858 comment.
3859 (sh_elf64_reloc): Correct head comment.
3860 (sh_elf64_relocate_section): Correct spacing.
3861 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
3862 instead call reloc_dangerous callback.
3863 <case R_SH_SHMEDIA_CODE>: New case.
3864 (sh_elf64_gc_mark_hook): Correct spacing.
3865 (sh_elf64_check_relocs): Ditto.
3866 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
3867 New case.
3868 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
3869 functions.
3870 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
3871 clarify describing comment. Add comments before all entries.
3872 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
3873 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
3874 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
3875 Sort .cranges section in final link. Prepare to set bit 0 on
3876 entry address.
3877 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
3878 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
3879 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
3880 .cranges section.
3881 (sh64_backend_section_from_shdr): New, to recognize
3882 SHT_SH5_CR_SORTED on incoming .cranges section.
3883 (elf_backend_section_from_shdr): Define.
3884 (sh64_elf_final_write_processing): Sort outgoing .cranges
3885 section. (New, temporarily disabled:) Set bit 0 on entry address
3886 according to ISA type.
3887 (sh64_find_section_for_address): New.
3888 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
3889 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
3890 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
3891 bfd_malloc, not xmalloc.
3892 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
3893 global.
3894 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
3895 temporarily disabled) setting bit 0 on entry address.
3896 (elf_backend_final_write_processing): Define.
3897 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
3898 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
3899 be a proper relocation for PTA and PTB rather than a marker.
3900 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
3901 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
3902 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
3903 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
3904 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
3905 Zero src_mask.
3906 * elf64-sh64.c: Ditto.
3907 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
3908 * elf32-sh64.c: Include opcodes/sh64-opc.h
3909 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
3910 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
3911 parameters. No unused parameters. Caller changed.
3912 <case R_SH_PT_16>: New case.
3913 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
3914 * Makefile.in: Regenerate.
3915 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
3916 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
3917 all code sections.
3918 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
3919 (sh64_elf_merge_private_data): Ditto.
3920 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
3921 to access stored section flags.
3922 (sh64_elf_final_write_processing): Return immediately unless
3923 called by linker. Use sh64_elf_section_data (cranges) to get size
3924 of linker-generated cranges entries.
3925 (sh64_elf_copy_private_data): Add missing "return true".
3926 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
3927 (sh_elf64_merge_private_data): Ditto.
3928 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
3929 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
3930 elf64-sh64.c:sh64_elf_fake_sections.
3931 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
3932 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
3933 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
3934 (sh64_elf_final_write_processing): New.
3935 (elf_backend_final_write_processing): Define.
3936 (sh64_elf_fake_sections): Get header flags from tdata field.
3937 (sh64_elf_copy_private_data): Do not call
3938 sh64_elf_copy_private_data_internal, just copy e_flags field.
3939 (sh64_elf_merge_private_data): Do not call
3940 sh64_elf_copy_private_data_internal.
3941 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
3942 Remove EF_SH64_ABI64, let ELF size make difference.
3943 Remove SH64-specific BFD section flag.
3944 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
3945 containing SHmedia through elf_section_data (asect)->tdata
3946 non-zero, not using a BFD section flag.
3947 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
3948 (sh64_elf_merge_private_data): Similar.
3949 (elf_backend_section_flags): Don't define.
3950 (sh64_elf_backend_section_flags): Delete.
3951 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
3952 not EF_SH64_ABI64.
3953 (sh_elf64_merge_private_data): Similar.
3954 * section.c (Section flags definitions): Don't define
3955 SEC_SH_ISA_SHMEDIA.
3956 (bfd-in2.h): Regenerate.
3957 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
3958 Make DataLabel references work with partial linking.
3959 * elf32-sh64.c: Fix formatting.
3960 (sh64_elf_link_output_symbol_hook): New.
3961 (elf_backend_link_output_symbol_hook): Define to
3962 sh64_elf_link_output_symbol_hook.
3963 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
3964 undefined if partial linking. Adjust sanity check.
3965 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
3966 (elf_backend_link_output_symbol_hook): Define to
3967 sh64_elf64_link_output_symbol_hook.
3968 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
3969 undefined if partial linking. Adjust sanity check.
3970 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
3971 Implement semantics for inter-file DataLabel references.
3972 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
3973 (sh64_elf64_add_symbol_hook): New.
3974 (sh_elf64_relocate_section): If passing an indirect symbol with
3975 st_type STT_DATALABEL on the way to a symbol with st_other
3976 STO_SH5_ISA32, do not bitor 1 to the relocation.
3977 (elf_backend_add_symbol_hook): Define to
3978 sh64_elf64_add_symbol_hook.
3979 * elf64-sh32.c: Tweak comments.
3980 (DATALABEL_SUFFIX): Define.
3981 (sh64_elf_add_symbol_hook): New.
3982 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
3983 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
3984 symbol with st_type STT_DATALABEL on the way to a symbol with
3985 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
3986 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
3987 Pass through STT_DATALABEL.
3988 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
3989 (elf_backend_get_symbol_type): Define.
3990 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
3991 (elf_backend_get_symbol_type): Define.
3992 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
3993 * elf32-sh64.c: Tweak comments.
3994 (sh64_elf_copy_private_data_internal): Add prototype.
3995 (bfd_elf32_bfd_set_private_flags): Define.
3996 (sh64_elf_copy_private_data_internal): Compare machine name, not
3997 textual BFD target name, to check whether to copy section flag
3998 SHF_SH5_ISA32.
3999 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
4000 Tweak section-contents-type-mismatch message.
4001 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
4002 Validize reloc-types.
4003 * elf64-sh64.c: New file.
4004 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
4005 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
4006 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
4007 Regenerate dependencies.
4008 * Makefile.in: Regenerate.
4009 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
4010 bfd_elf64_sh64l_vec.
4011 * configure.in: Handle bfd_elf64_sh64_vec and
4012 bfd_elf64_sh64l_vec.
4013 * configure: Regenerate.
4014 * po/POTFILES.in: Regenerate.
4015 * po/bfd.pot: Regenerate.
4016 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
4017 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
4018 anything else but EF_SH64 and EF_SH64_ABI64.
4019 (sh64_elf_merge_private_data): Emit error for anything else but
4020 EF_SH64 and EF_SH64_ABI64.
4021 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
4022 from targ_selvecs.
4023 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
4024 bfd_elf32_sh64l_vec as a temporary measure.
4025 * configure: Regenerate.
4026 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
4027 * cpu-sh.c (arch_info_struct): Include sh5 item
4028 unconditionalized.
4029 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
4030 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
4031 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
4032 * elf32-sh64.c: Tweak comments.
4033 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
4034 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
4035 (sh64_elf_copy_private_data_internal): Wrap long line.
4036 (sh64_elf_merge_private_data): Rewrite to allow objects from
4037 SH64 subsets to be linked together.
4038 (INCLUDE_SHMEDIA): Define.
4039 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
4040 Parenthesize plus-expression inside or-expression.
4041 <global symbol>: Ditto.
4042 (sh_elf_set_mach_from_flags): Remove code refusing
4043 deleted EF_SH64_32BIT_ABI flag.
4044 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
4045 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
4046 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
4047 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
4048 (sh_elf_relocate_section) <local symbol>: Or 1 in
4049 calculation of relocation if sym->st_other & STO_SH5_ISA32.
4050 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
4051 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
4052 relocation.
4053 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
4054 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
4055 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
4056 Regenerate dependencies.
4057 * Makefile.in: Regenerate.
4058 * archures.c: Add bfd_mach_sh5.
4059 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
4060 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
4061 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
4062 * configure: Regenerate.
4063 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
4064 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
4065 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
4066 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
4067 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
4068 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
4069 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
4070 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
4071 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
4072 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
4073 in item for SH5.
4074 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
4075 for SHmedia relocs.
4076 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
4077 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
4078 shmedia_prepare_reloc, goto final_link_relocate if it returns
4079 non-zero, else fail as before.
4080 (sh_elf_set_mach_from_flags): Provide function only if not defined
4081 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
4082 (sh_elf_set_private_flags): Provide function only if not defined
4083 as a macro.
4084 (sh_elf_copy_private_data): Similar.
4085 (sh_elf_merge_private_data): Similar.
4086 * section.c (SEC_SH_ISA_SHMEDIA): New.
4087 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
4088 * elf32-sh64.c: New file.
4089 * libbfd.h: Regenerate.
4090 * bfd-in2.h: Regenerate.
4091 * po/POTFILES.in: Regenerate.
4092 * po/bfd.pot: Regenerate.
4093 * bfd-in2.h: Regenerate.
4094 * libbfd.h: Regenerate.
4095
4096 2002-02-07 Daniel Jacobowitz <drow@mvista.com>
4097
4098 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
4099 been included, not drag it in.
4100 * bfd-in2.h: Regenerate.
4101
4102 2002-02-06 H.J. Lu (hjl@gnu.org)
4103
4104 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
4105 the mach and ISA fields if necessary.
4106
4107 2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
4108
4109 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
4110 ARM architecture when an F_ARM_5 flag is detected, since we cannot
4111 be sure exactly which architecture this represents.
4112
4113 2002-02-05 Nick Clifton <nickc@redhat.com>
4114
4115 * po/tr.po: Updated translation.
4116
4117 2002-02-05 Alan Modra <amodra@bigpond.net.au>
4118
4119 From Jimi X <jimix@watson.ibm.com>
4120 * archures (bfd_mach_ppc64): Define.
4121 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
4122 (bfd_powerpc_arch): Define.
4123 * bfd-in2.h: Regenerate.
4124 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
4125 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
4126 (bfd_powerpc_archs): Add default powerpc64 arch.
4127
4128 2002-02-05 Alan Modra <amodra@bigpond.net.au>
4129
4130 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
4131 against section syms in readonly sections. Don't do the global
4132 sym check if we find one.
4133 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
4134 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
4135 * elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
4136 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
4137 (elf_s390_grok_prstatus): Add missing prototype.
4138
4139 2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
4140
4141 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
4142 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
4143 Call bfd_get_section_by_name only once. Initialize
4144 bpodata->n_bpo_relocs_this_section.
4145 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
4146 referring to DSOs.
4147 (bpo_reloc_request_sort_fn): Don't use difference of values as
4148 return-value.
4149
4150 2002-02-02 David O'Brien <obrien@FreeBSD>
4151
4152 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
4153 version 4.5 and later the same as 5-CURRENT.
4154 * configure: Re-generate.
4155
4156 2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
4157
4158 * config.bfd (hppa*-*-netbsd*): New target.
4159
4160 2002-01-31 Philipp Thomas <pthomas@suse.de>
4161
4162 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
4163 to front of message. Unify messages with elf32-arm.h. Use
4164 commas where neccessary.
4165 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
4166 ERROR in messages. Unify messages with coff-arm.c. Correct
4167 VFP/FPA error message.
4168 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
4169 APCS-32 for translation.
4170
4171 2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
4172
4173 Perform on-demand global register allocation from
4174 R_MMIX_BASE_PLUS_OFFSET relocs.
4175 * elf64-mmix.c (struct bpo_reloc_section_info, struct
4176 bpo_reloc_request, struct bpo_greg_section_info): New.
4177 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
4178 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
4179 _bfd_mmix_check_all_relocs,
4180 _bfd_mmix_prepare_linker_allocated_gregs,
4181 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
4182 (elf_mmix_howto_table): Correct src_mask for most relocs.
4183 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
4184 case.
4185 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
4186 case. Fix typo in comment. New label do_mmix_reloc.
4187 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
4188 store first object file with a base-plus-offset reloc. Call
4189 mmix_elf_check_common_relocs for the part common with mmo.
4190 (mmix_elf_final_link): Write out linker-allocated register
4191 contents section.
4192 (elf_backend_gc_sweep_hook): Define.
4193 (bfd_elf64_bfd_relax_section): Define.
4194
4195 * mmo.c: Don't include <ctype.h>
4196 (mmo_init): Correct init-once logic.
4197
4198 2002-02-01 Tom Rix <trix@redhat.com>
4199
4200 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
4201
4202 2002-02-01 Alan Modra <amodra@bigpond.net.au>
4203
4204 * Makefile.am: Run "make dep-am"
4205 * Makefile.in: Regenerate.
4206
4207 2002-01-31 David O'Brien <obrien@FreeBSD>
4208
4209 * configure.in: Recognize the differences in core files from FreeBSD
4210 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
4211 5-CURRENT.
4212 * configure: Regenerate.
4213
4214 2002-01-31 Ivan Guzvinec <ivang@opencores.org>
4215
4216 * coff-or32.c: New file.
4217 * cpu-or32.c: New file.
4218 * elf32-or32.c: New file.
4219 * archures.c: Add support for or32.
4220 * targets.c: Add support for or32.
4221 * bfd-in2.h: Regenerate.
4222 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
4223 coff_write_object_contents): Add support for or32.
4224 * config.bfd: Add target.
4225 * configure.in: Add support for or32.
4226 * configure: Regenerate.
4227 * Makefile.am: Add support for or32.
4228 * Makefile.in: Regenerate.
4229 * po/SRC-POTFILES.in: Add or32 files.
4230 * po/bfd.pot: Regenerate.
4231
4232 2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
4233 Don Lindsay <lindsayd@cisco.com>
4234
4235 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
4236 false' with a return of a bfd_reloc_ error code.
4237
4238 2002-01-31 Hans-Peter Nilsson <hp@axis.com>
4239
4240 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
4241 unexport unreferenced symbols when --export-dynamic. Call
4242 _bfd_elf_strtab_delref when unexporting.
4243
4244 2002-01-30 Daniel Jacobowitz <drow@mvista.com>
4245
4246 * bfd-in.h: Include <stdbool.h> if it is available.
4247 * bfd-in2.h: Regenerated.
4248
4249 2002-01-31 Alan Modra <amodra@bigpond.net.au>
4250
4251 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
4252 not go via the plt.
4253
4254 2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
4255
4256 * archures.c: Tidy up formatting of embedded comments.
4257 * bfd.c: Tidy up formatting of embedded comments.
4258 * bfd-in.h: Fix formatting of comments.
4259 * reloc.c: Tidy up formatting of ordinary & embedded comments.
4260 * section.c: Tidy up formatting of embedded comments.
4261 * syms.c: Tidy up formatting of embedded comments.
4262 * targets.c: Tidy up formatting of embedded comments.
4263
4264 * bfd-in2.h: Regenerate.
4265
4266 2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
4267
4268 * vms-tir.c (cmd_name): New function.
4269 (tir_cmd_name): New function.
4270 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
4271 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
4272 Fix formatting.
4273
4274 * peXXigen.c (pe_print_idata): Rearrange message to aid in
4275 translation.
4276 (pe_print_pdata): Rearrange message to aid in translation.
4277
4278 * libbfd.c (warn_deprecated): Rearrange error message to aid in
4279 translation.
4280
4281 * ihex.c (ihex_write_object_contents): Fix spelling typo.
4282
4283 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
4284
4285 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
4286 message to aid in translation.
4287
4288 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
4289 to aid in translation.
4290
4291 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
4292
4293 2002-01-30 Philipp Thomas <pthomas@suse.de>
4294
4295 * coff-arm.c, elf32-elf.h: Unify messages.
4296
4297 2002-01-30 Nick Clifton <nickc@redhat.com>
4298
4299 * po/sv.po: Updated translation.
4300
4301 2002-01-30 Philipp Thomas <pthomas@suse.de>
4302
4303 * dwarf2.c (read_abbrev): Use full section name in error message.
4304 (decode_line_info): Likewise.
4305
4306 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
4307 message.
4308
4309 2002-01-30 Alan Modra <amodra@bigpond.net.au>
4310
4311 * elf64-ppc.c (func_desc_adjust): Only provide missing function
4312 descriptor symbols for undefined function code syms. Clear
4313 ELF_LINK_NON_ELF so that they can stay weak.
4314
4315 2002-01-29 Chris Demetriou <cgd@broadcom.com>
4316 Mitch Lichtenberg <mpl@broadcom.com>
4317
4318 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
4319 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
4320 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
4321 generation.
4322 * bfd-in2.h: Regenerate.
4323
4324 2002-01-29 Chris Demetriou <cgd@broadcom.com>
4325
4326 * elf32-mips.c: Add additional comments about HI16 relocation
4327 processing.
4328 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
4329 pc-relative relocations. (Reverts change made on 2001-10-31.)
4330 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
4331 for pc-relative relocations.
4332 (mips_elf_calculate_relocation): Add a comment about a kludge
4333 in the R_MIPS_GNU_REL_HI16 handling.
4334 (_bfd_mips_elf_relocate_section): Implement that kludge;
4335 adjust pc-relative HI16 relocation for difference in HI16 and
4336 LO16 addresses, since it can't easily be done in
4337 mips_elf_calculate_relocation.
4338
4339 2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
4340
4341 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
4342 relocations with PC32 relocations for undefined or weak symbols.
4343 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
4344 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
4345
4346 2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
4347
4348 * elfcore.h (elf_core_file_p): Improve comment for last change.
4349
4350 2002-01-27 Daniel Jacobowitz <drow@mvista.com>
4351
4352 * configure: Regenerated.
4353
4354 2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
4355
4356 * elfcore.h (elf_core_file_p): Set the machine architecture
4357 before processing the program headers.
4358
4359 2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
4360
4361 * configure.in <64-bit configuration>: If using gcc, check and
4362 emit error for egcs-1.1.2.
4363 * configure: Regenerate.
4364
4365 2002-01-26 Egor Duda <deo@logos-m.ru>
4366
4367 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
4368 as possible to avoid stack corruption.
4369
4370 2002-01-26 Richard Henderson <rth@redhat.com>
4371
4372 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
4373 for non-allocated sections.
4374
4375 2002-01-25 Mark Kettenis <kettenis@gnu.org>
4376
4377 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
4378 prstat.pr_reg even if it is a struct.
4379
4380 2002-01-25 Steve Ellcey <sje@cup.hp.com>
4381
4382 * elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
4383
4384 2002-01-25 Philipp Thomas <pthomas@suse.de>
4385
4386 * coffgen.c (coff_print_symbol): Don't mark info message
4387 for translation.
4388
4389 2002-01-25 Nick Clifton <nickc@redhat.com>
4390
4391 * po/fr.po: Updated translation.
4392 * po/es.po: Updated translation.
4393
4394 2002-01-25 Philipp Thomas <pthomas@suse.de>
4395
4396 * coff-alpha.c (alpha_relocate_section): Unify warning message
4397 for GP relative relocations without GP defined.
4398 * coff-mips.c (mips_relocate_section): Likewise.
4399
4400 2002-01-25 Alan Modra <amodra@bigpond.net.au>
4401
4402 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
4403 unsigned overflow when new_offset < old_offset.
4404
4405 2002-01-24 Philipp Thomas <pthomas@suse.de>
4406
4407 * bfd.c (_bfd_abort): Fix typo.
4408
4409 2002-01-23 Richard Henderson <rth@redhat.com>
4410
4411 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
4412 plt entries for undefweak symbols.
4413
4414 2002-01-23 Steve Ellcey <sje@cup.hp.com>
4415
4416 * targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
4417 (bfd_elf64_ia64_hpux_big_vec): Ditto.
4418 (bfd_elf32_h8300_vec): Ditto.
4419
4420 2002-01-23 Alan Modra <amodra@bigpond.net.au>
4421
4422 * elf64-ppc.c: Remove stale part of ABI comment.
4423 (NO_OPD_RELOCS): Define.
4424 (ppc64_elf_check_relocs): Use it.
4425 (ppc64_elf_relocate_section): Here too.
4426 (build_one_stub): Don't point function syms at the stub. Instead,
4427 hijack plt.offset.
4428 (ppc64_elf_relocate_section): Check whether REL24 relocs should
4429 really go to the stub. Make all dynamic relocs in opd against
4430 locals.
4431 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
4432 plt.offset.
4433
4434 2002-01-22 Richard Henderson <rth@redhat.com>
4435
4436 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
4437
4438 2002-01-22 Alan Modra <amodra@bigpond.net.au>
4439
4440 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
4441 TOC_BASE_OFF adjustment.
4442
4443 * Makefile.am: Run "make dep-am".
4444 * Makefile.in: Regenerate.
4445 * po/SRC-POTFILES.in: Regenerate.
4446
4447 2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
4448
4449 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
4450 host defines.
4451
4452 2002-01-21 Hans-Peter Nilsson <hp@axis.com>
4453
4454 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
4455 Check for and emit error if sgot is NULL at this point.
4456
4457 2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
4458
4459 * config.bfd (ia64*-*-netbsd*): New target.
4460
4461 2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
4462
4463 * som.c (som_write_space_strings): Comment typo fix.
4464
4465 2002-01-21 Alan Modra <amodra@bigpond.net.au>
4466
4467 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
4468 is_func_descriptor fields.
4469 (link_hash_newfunc): Init them.
4470 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
4471 dot are candidates for plt entries. When processing .opd relocs,
4472 set function descriptor strings to point inside function code
4473 string, and set new ppc_link_hash_entry fields.
4474 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
4475 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
4476 function descriptors. It's now done in..
4477 (func_desc_adjust): New.
4478 (ppc64_elf_func_desc_adjust): New.
4479 (define elf_backend_always_size_sections): Define.
4480 (ppc64_elf_hide_symbol): New.
4481 (define elf_backend_hide_symbol): Define.
4482 (allocate_dynrelocs): Remove code looking up function descriptors
4483 as that has been done earlier.
4484 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
4485 table.
4486 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
4487 up function descriptor.
4488 (build_one_stub): Look up the function code sym. Check for
4489 invalid plt offsets.
4490 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
4491 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
4492
4493 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
4494 boolean param.
4495 (_bfd_elf_link_hash_hide_symbol): Likewise.
4496 * elflink.h (elf_link_add_object_symbols): Adjust call to
4497 elf_backend_hide_symbol.
4498 (elf_fix_symbol_flags): Likewise.
4499 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
4500 than bfd_alloc.
4501 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
4502 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
4503 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
4504 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
4505 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
4506 and adjust to suit.
4507 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
4508 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
4509 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
4510
4511 2002-01-18 Alan Modra <amodra@bigpond.net.au>
4512
4513 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
4514 dynamic function descriptor symbol, not the associated function
4515 symbol.
4516
4517 2002-01-17 Eric Christopher <echristo@redhat.com>
4518
4519 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
4520
4521 2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
4522
4523 * po/bfd.pot: Regenerate.
4524 * po/fr.po: Regenerate.
4525
4526 2002-01-17 Alan Modra <amodra@bigpond.net.au>
4527
4528 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
4529 Remove "Elf_Internal_Shdr *" param.
4530 (_bfd_mips_elf_section_from_bfd_section): Ditto.
4531 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
4532 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
4533 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
4534 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
4535 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
4536 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
4537 function to override special sections. Remove hdr arg from
4538 backend call, and don't loop.
4539
4540 2002-01-16 Eric Christopher <echristo@redhat.com>
4541
4542 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
4543 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
4544 relocations requiring gp0 and gp.
4545
4546 2002-01-16 Richard Earnshaw <rearnsha@arm.com>
4547
4548 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
4549 EF_ARM_VFP_FLOAT.
4550 (elf32_arm_print_private_bfd_data): Likewise.
4551
4552 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
4553
4554 * po/tr.po: Import new version.
4555
4556 2002-01-16 Alan Modra <amodra@bigpond.net.au>
4557
4558 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
4559 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
4560 (ORI_R0_R0_0): Correct.
4561
4562 2002-01-16 Alan Modra <amodra@bigpond.net.au>
4563
4564 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
4565 when plt_not_loaded.
4566 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
4567 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
4568 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
4569 (ppc64_elf_glink_code): Delete.
4570 (PPC64_ELF_GLINK_SIZE): Delete.
4571 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
4572 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
4573 ORI_R0_R0_0): Define.
4574 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
4575 (struct ppc_link_hash_table): Add sstub and plt_overflow.
4576 (ppc64_elf_link_hash_table_create): Init them.
4577 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
4578 Don't copy to shared lib.
4579 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
4580 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
4581 (allocate_dynrelocs <plt>): Don't change function sym here. Make
4582 room for .stub and .glink code.
4583 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
4584 DT_PPC64_GLINK.
4585 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
4586 bfd_elf64_bfd_final_link.
4587 (bfd_elf64_bfd_final_link): Don't define.
4588 (ppc64_elf_size_stubs): New.
4589 (build_plt_stub): New.
4590 (build_one_stub): New.
4591 (ppc64_elf_build_stubs): New.
4592 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
4593 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
4594 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
4595 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
4596 case output sections not separate. Adjust DT_RELASZ to not
4597 include plt relocs. Set reserved got entry. Set got and plt
4598 entry size.
4599 (elf_backend_got_header_size): Set to 8.
4600 * elf64-ppc.h: New file.
4601
4602 2002-01-16 Alan Modra <amodra@bigpond.net.au>
4603
4604 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
4605 sections, use bfd_section_list_remove.
4606 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
4607 * elflink.h (elf_link_add_object_symbols): When removing all
4608 sections, use bfd_section_list_clear.
4609
4610 2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
4611
4612 * po/sv.po: New file: Swedish translation.
4613 * configure.in (ALL_LINGUAS): Add sv.
4614 * configure: Regenerate.
4615
4616 2002-01-15 Jakub Jelinek <jakub@redhat.com>
4617
4618 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
4619 * elf.c (merge_sections_remove_hook): New function.
4620 (_bfd_elf_merge_sections): Pass it as 3rd argument to
4621 _bfd_merge_sections.
4622 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
4623 * libbfd.h: Rebuilt.
4624 * merge.c (_bfd_merge_sections): Add remove_hook argument.
4625 Call remove_hook if a SEC_EXCLUDE section is encountered.
4626
4627 2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
4628
4629 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
4630 (xstormy16_reloc_map): Initialise new field with correct howto
4631 table.
4632 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
4633 howto entry.
4634
4635 2002-01-10 Michael Snyder <msnyder@redhat.com>
4636
4637 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
4638 (elfcore_write_pstatus): Use long instead of pid_t;
4639 * elf-bfd.h: Change prototypes to use long instead of pid_t;
4640
4641 2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
4642
4643 * elf.c: Update copyright years.
4644 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
4645 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
4646
4647 2002-01-08 Michael Snyder <msnyder@redhat.com>
4648
4649 Add capability to write corefile note sections, for gdb.
4650 * elf.c (elfcore_write_note): New function.
4651 (elfcore_write_prpsinfo): New function.
4652 (elfcore_write_prstatus): New function.
4653 (elfcore_write_pstatus): New function.
4654 (elfcore_write_prfpreg): New function.
4655 (elfcore_write_prxfpreg): New function.
4656 * elf-bfd.h: Add prototypes for above functions.
4657
4658 2002-01-08 Alexandre Oliva <aoliva@redhat.com>
4659
4660 * elf.c (elf_fake_sections): Propagate errors from
4661 elf_backend_fake_section.
4662
4663 2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
4664
4665 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
4666 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
4667 (elf32-sh-nbsd.lo): New rule.
4668 * Makefile.in: Regenerate.
4669 * config.bfd (sh*le-*-netbsdelf*): New target.
4670 (sh*-*-netbsdelf*): New target.
4671 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
4672 (bfd_elf32_shnbsd_vec): New vector.
4673 (bfd_elf32_shlnbsd_vec): New vector.
4674 * configure: Regenerate.
4675 * elf32-sh-nbsd.c: New file.
4676 * targets.c: Update copyright years.
4677 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
4678 bfd_elf32_shnbsd_vec.
4679
4680 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
4681
4682 * coff-rs6000.c (READ20): Use bfd_scan_vma.
4683
4684 2002-01-07 Geoffrey Keating <geoffk@redhat.com>
4685
4686 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
4687 of a symbol in a section that will be deleted.
4688
4689 2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
4690
4691 * po/es.po: New file: Spanish translation.
4692 * configure.in (ALL_LINGUAS): Add es.
4693 * configure: Regenerate.
4694
4695 2002-01-06 Steve Ellcey <sje@cup.hp.com>
4696
4697 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
4698 argument so we can handle HP-UX specially.
4699 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
4700 (elfNN_hpux_backend_section_from_bfd_section): New for support
4701 of SHN_IA_64_ANSI_COMMON.
4702 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
4703 (is_unwind_section_name): Add special HP-UX support.
4704 (elfNN_ia64_section_from_shdr): Add support for more sections.
4705 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
4706 add support for more sections.
4707 (elfNN_ia64_additional_program_headers): Modify
4708 is_unwind_section_name call.
4709 (elfNN_ia64_modify_segment_map): Remove assumption that there is
4710 only one unwind section in segment.
4711
4712 2002-01-06 Alan Modra <amodra@bigpond.net.au>
4713
4714 * syms.c (_bfd_generic_make_empty_symbol): New function.
4715 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
4716 _bfd_generic_make_empty_symbol.
4717 * libbfd.h: Regenerate.
4718 * bfd-in2.h: Regenerate.
4719 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
4720 (hppabsd_core_get_symtab_upper_bound): Don't define.
4721 (hppabsd_core_get_symtab): Likewise.
4722 (hppabsd_core_print_symbol): Likewise.
4723 (hppabsd_core_get_symbol_info): Likewise.
4724 (hppabsd_core_bfd_is_local_label_name): Likewise.
4725 (hppabsd_core_get_lineno): Likewise.
4726 (hppabsd_core_find_nearest_line): Likewise.
4727 (hppabsd_core_bfd_make_debug_symbol): Likewise.
4728 (hppabsd_core_read_minisymbols): Likewise.
4729 (hppabsd_core_minisymbol_to_symbol): Likewise.
4730 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
4731 Formatting fixes.
4732 * hpux-core.c: Similarly.
4733 * irix-core.c: Similarly.
4734 * osf-core.c: Similarly.
4735 * sco5-core.c: Similarly.
4736 * binary.c (binary_make_empty_symbol): Remove function, define as
4737 _bfd_generic_make_empty_symbol.
4738 * ihex.c (ihex_make_empty_symbol): Likewise.
4739 * mmo.c (mmo_make_empty_symbol): Likewise.
4740 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
4741 * srec.c (srec_make_empty_symbol): Likewise.
4742 * versados.c (versados_make_empty_symbol): Likewise.
4743 * vms.c (_bfd_vms_make_empty_symbol): Remove.
4744 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
4745 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
4746 rather than _bfd_vms_make_empty_symbol.
4747 * vms-misc.c (new_symbol): Likewise.
4748
4749 2002-01-05 Alan Modra <amodra@bigpond.net.au>
4750
4751 * section.c (bfd_section_init): Remove unnecessary initialisations.
4752 (bfd_section_list_clear): New function.
4753 (bfd_section_list_remove, bfd_section_list_insert): New macros.
4754 (_bfd_strip_section_from_output): Use them.
4755 * coffcode.h (coff_set_alignment_hook): Likewise.
4756 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
4757 * elf64-mips.c (mips_elf64_final_link): Likewise.
4758 * elf64-mmix.c (mmix_elf_final_link): Likewise.
4759 * sunos.c (sunos_add_dynamic_symbols): Likewise.
4760 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
4761 * bfd-in2.h: Regenerate.
4762
4763 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
4764 rather than doing our own section handling. Clean up after errors
4765 with bfd_release and bfd_section_list_clear. Handle unexpected
4766 flags.
4767 * aoutf1.h (sunos4_core_file_p): Likewise.
4768 * aix386-core.c (aix386_core_file_p): Likewise.
4769 * cisco-core.c (cisco_core_file_validate): Likewise.
4770 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
4771 * trad-core.c (trad_unix_core_file_p): Likewise.
4772
4773 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
4774 with bfd_release and bfd_section_list_clear.
4775 * hpux-core.c (hpux_core_core_file_p): Likewise.
4776 * irix-core.c (irix_core_core_file_p): Likewise.
4777 * lynx-core.c (lynx_core_file_p): Likewise.
4778 * osf-core.c (osf_core_core_file_p): Likewise.
4779 * rs6000-core.c (rs6000coff_core_p): Likewise.
4780 * sco5-core.c (sco5_core_file_p): Likewise.
4781
4782 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
4783 sign extension adjustments without conditionals.
4784
4785 2002-01-04 Jakub Jelinek <jakub@redhat.com>
4786
4787 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
4788 CIE at .eh_frame start is removed due to no FDEs referencing it.
4789
4790 2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
4791
4792 * config.bfd (x86_64-*-netbsd*): New target.
4793 * configure.in (x86_64-*-netbsd*): Set COREFILE
4794 to netbsd-core.lo.
4795 * configure: Regenerated.
4796
4797 2002-01-03 Tom Rix <trix@redhat.com>
4798
4799 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
4800 for recent bfd_make_section_anyway change.
4801
4802 2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
4803
4804 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
4805 R_ARM_THM_PC11 reloc.
4806
4807 2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
4808
4809 * configure.in (LINGUAS): Add ja.
4810 * configure: Regenerate.
4811 * po/ja.po: Import from translation project's web site.
4812
4813 2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
4814
4815 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
4816 messages to ease translation into other languages.
4817
4818 For older changes see ChangeLog-0001
4819 \f
4820 Local Variables:
4821 mode: change-log
4822 left-margin: 8
4823 fill-column: 74
4824 version-control: never
4825 End: