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