1 2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
3 * archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
4 (bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
5 * bfd-in2.h: Regenerate.
6 * cpu-s390.c (arch_info_struct): Use renamed architecture defines.
7 Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
9 * elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
10 (elf_s390_reloc_type_lookup): Likewise.
11 (elf_s390_check_relocs): Likewise.
12 (elf_s390_gc_sweep_hook): Likewise.
13 (elf_s390_relocate_section): Likewise.
14 (elf_s390_object_p): Use renamed architecture define.
15 * elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
17 2002-02-19 Frank Ch. Eigler <fche@redhat.com>
19 * syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
21 2002-02-19 Jakub Jelinek <jakub@redhat.com>
23 * elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
24 absptr -> pcrel optimization for shared libs.
25 Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
26 library cannot be converted to pcrel.
27 (_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
29 * elf32-i386.c (elf_i386_relocate_section): If
30 _bfd_elf_section_offset returned -2, skip, but make sure the
31 relocation is installed.
32 * elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
33 * elf32-cris.c (cris_elf_relocate_section): Likewise.
34 * elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
35 * elf32-i370.c (i370_elf_relocate_section): Likewise.
36 * elf32-m68k.c (elf_m68k_relocate_section): Likewise.
37 * elf32-ppc.c (ppc_elf_relocate_section): Likewise.
38 * elf32-s390.c (elf_s390_relocate_section): Likewise.
39 * elf32-sh.c (sh_elf_relocate_section): Likewise.
40 * elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
41 * elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
42 * elf64-s390.c (elf_s390_relocate_section): Likewise.
43 * elf64-sh64.c (sh_elf64_relocate_section): Likewise.
44 * elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
45 * elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
46 * elf64-alpha.c (elf64_alpha_relocate_section): Handle
47 _bfd_elf_section_offset returning -2 the same way as -1.
48 * elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
49 * elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
51 * elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
53 2002-02-18 Tom Rix <trix@redhat.com>
55 * xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
56 (bfd_xcoff_size_dynamic_sections): Same.
57 * bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
58 (bfd_xcoff_size_dynamic_sections): Same.
59 * coff-rs6000.c (xcoff_generate_rtinit): Same.
60 * coff-rs646000.c (xcoff64_generate_rtinit): Same.
61 * libxcoff.h (struct xcoff_backend_data_rec): Same.
62 * xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
63 * bfd-in2.h: Regenerate.
65 2002-02-18 Alan Modra <amodra@bigpond.net.au>
67 * elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
68 (struct ppc_link_hash_table): Add sfpr.
69 (ppc64_elf_link_hash_table_create): Init it.
70 (ppc64_elf_create_dynamic_sections): Split creation of .stub and
72 (create_linkage_sections): ..here. Make .sfpr too.
73 (ppc64_elf_check_relocs): Call create_linkage_sections, and set
75 (MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
76 (ppc64_elf_func_desc_adjust): Look for missing ._savef* and
77 ._restf* functions, and create as needed.
78 (func_desc_adjust): Only force_local for shared libs.
80 2002-02-18 David O'Brien <obrien@FreeBSD.org>
82 * configure.in: Bump version number post 2.12 branching.
83 * configure: Regenerate.
85 2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
87 * mmo.c: Correct and improve comments.
88 (mmo_write_chunk): Store trailing byte in bfd buffer; don't
89 zero-pad. Use input to fill up non-empty bfd buffer.
90 (mmo_flush_chunk): New function.
91 (mmo_write_loc_chunk): Add parameter last_vmap, all callers
92 changed. Don't emit location specifier if VMA is same as
93 *LAST_VMAP after omitting leading zero contents. Call
94 mmo_flush_chunk before emitting location specifier.
95 (mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
96 with mmo_write_loc_chunk calls.
97 (mmo_internal_write_section): Call mmo_flush_chunk after
99 (mmo_write_symbols_and_terminator): Move :Main to first position
100 in symbol array. Add faked one if it does not exist if there are
101 other symbols. Don't add it if there are no symbols at all. Move
102 out test for value of :Main from symbol loop. Rename table
103 fakemain to maintable and variable mainsym to fakemain.
105 2002-02-15 Richard Henderson <rth@redhat.com>
107 * elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
108 section with no got matches any got. Simplify error generaion.
110 2002-02-15 Alan Modra <amodra@bigpond.net.au>
112 Support arbitrary length fill patterns.
113 * linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
114 (_bfd_default_link_order): Remove bfd_fill_link_order code.
115 Call default_data_link_order.
116 (default_fill_link_order): Delete.
117 (default_data_link_order): New function.
118 * elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
119 of bfd_fill_link_order with bfd_data_link_order.
120 * elf64-alpha.c (elf64_alpha_final_link): Likewise.
121 * elf64-mips.c (mips_elf64_final_link): Likewise.
123 * bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
124 Correct value returned in "end" for "0x<non-hex>".
126 2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
128 * cpu-arm.c (processors): Replace 'arch' field with 'mach'.
129 (scan): Test against 'mach' field in info structure.
131 2002-02-14 Alan Modra <amodra@bigpond.net.au>
133 * elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
135 2002-02-14 Matt Fredette <fredette@netbsd.org>
137 * elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
140 2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
142 * elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
143 non-zero physical addresses when adjusting the LMAs of new
146 2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
148 * elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
149 from _bfd_elf_hppa_gen_reloc_type.
150 (_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
151 * elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
152 * elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
153 * elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
155 2002-02-12 Alexandre Oliva <aoliva@redhat.com>
157 * elf-m10300.c (mn10300_elf_relax_section): Skip section before
158 loading its contents if there's nothing to do in it.
160 2002-02-12 Alan Modra <amodra@bigpond.net.au>
162 * elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
165 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
166 DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
167 (ppc64_elf_finish_dynamic_sections): Set values for them.
169 2002-02-11 Michael Snyder <msnyder@redhat.com>
171 * elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
172 * elf.c (elfcore_grok_pstatus): Add prototype.
173 (elfcore_grok_lwpstatus): Add prototype.
174 (elfcore_write_lwpstatus): New function.
175 (elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
177 2002-02-11 Alexandre Oliva <aoliva@redhat.com>
179 * elf32-sh.c: Added missing prototypes.
180 * elf32-sh64.c: Likewise.
181 (sh_elf_align_loads): Mark unused args as such.
182 * elf64-sh64.c: Added missing prototypes.
183 (struct elf_sh64_link_hash_entry): Fix typo.
184 (sh_elf64_relocate_section): Fix info argument passed to
185 _bfd_elf_section_offset.
187 2002-02-11 Alan Modra <amodra@bigpond.net.au>
189 * Makefile.am: "make dep-am".
190 * Makefile.in: Regenerate.
191 * aclocal.m4: Regenerate.
192 * config.in: Regenerate.
193 * configure: Regenerate.
195 2002-02-10 Daniel Jacobowitz <drow@mvista.com>
197 * coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
199 * elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
201 * trad-core.c (trad_unix_core_file_p): Silence pointer/integer
202 cast warnings for the common case.
204 2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
206 * config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
208 (sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
211 2002-02-09 Richard Henderson <rth@redhat.com>
213 * elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
214 (elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
215 (elf64_alpha_relocate_section): Likewise.
216 * reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
217 * bfd-in2.h, libbfd.h: Rebuild.
219 2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
221 * elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
222 that base-plus-offset reloc accounting is consistent.
223 (mmix_elf_relax_section): Keep base-plus-offset reloc accounting
224 up to date for undefined symbols.
226 2002-02-08 Eric Christopher <echristo@redhat.com>
228 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
230 * elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
231 sections for the O32 ABI.
233 2002-02-08 Chris Demetriou <cgd@broadcom.com>
235 * elf32-arm.h: Fix formatting of _("...").
236 * elf32-d10v.c: Likewise.
237 * elf32-m68k.c: Likewise.
238 * elf32-mips.c: Likewise.
240 2002-02-08 Ivan Guzvinec <ivang@opencores.org>
242 * coff-or32.c: Fix compile time warning messages.
244 2002-02-08 Alexandre Oliva <aoliva@redhat.com>
247 2002-01-23 Alexandre Oliva <aoliva@redhat.com>
248 * reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
249 R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
250 R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
251 R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
252 R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
253 R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
254 R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
255 R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
256 R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
258 * libbfd.h, bfd-in2.h: Rebuilt.
259 * elf32-sh.c (sh_elf_howto_table): Define new relocs.
260 (sh_reloc_map): Map them.
261 (PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
262 elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
263 elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
264 elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
265 elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
266 elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
267 movi_shori_putval) [INCLUDE_SHMEDIA]: New.
268 (elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
269 datalabel_got_offset.
270 (sh_elf_link_hash_newfunc): Initialize it.
271 (sh_elf_relocate_section): Augment the scope of
272 seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
273 GOT and GOTOFF handling to new SHmedia relocation types. Support
275 (sh_elf_check_relocs): Likewise.
276 (sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
277 PLT entries using movi_shori_putval. Support GOT_BIAS.
278 (sh_elf_finish_dynamic_sections): Likewise.
279 * elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
280 relocation, it's now done by the caller.
282 * elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
283 elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
284 elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
285 elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
286 elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
287 elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
288 sh64_elf64_hash_table): New.
289 (sh_elf64_howto_table): Introduce new relocs.
290 (sh_elf64_info_to_howto): Accept new PIC relocs.
291 (sh_elf64_relocate_section): Augment the scope of
292 seen_stt_datalabel. Support new PIC relocs.
293 (sh_elf64_check_relocs): Support new PIC relocs.
294 (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
295 elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
296 elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
297 elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
298 sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
299 movi_shori_putval, movi_3shori_putval,
300 sh64_elf64_create_dynamic_sections,
301 sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
302 sh64_elf64_size_dynamic_sections,
303 sh64_elf64_finish_dynamic_symbol,
304 sh64_elf64_finish_dynamic_sections): New.
305 (elf_backend_create_dynamic-sections,
306 bfd_elf64_bfd_link_hash_table_create,
307 elf_backend_adjust_dynamic_symbol,
308 elf_backend_size_dynamic_sections,
309 elf_backend_finish_dynamic_symbol,
310 elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
311 elf_backend_plt_readonly, elf_backend_want_plt_sym,
312 elf_backend_got_header_size, elf_backend_plt_header_size):
314 2001-05-16 Alexandre Oliva <aoliva@redhat.com>
315 * elf32-sh.c: Renumbered and renamed some SH5 relocations to
316 match official numbers and names; moved unmaching ones to the
318 * elf32-sh64.c, elf64-sh64.c: Likewise.
319 2001-03-12 DJ Delorie <dj@redhat.com>
320 * elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
322 2001-03-12 DJ Delorie <dj@redhat.com>
323 * elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
325 * elf64-sh64.c (sh_elf64_relocate_section): Ditto.
326 2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
327 * elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
328 (sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
329 .cranges section with SEC_SORT_ENTRIES set.
330 (sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
331 incoming sorted .cranges section.
332 (sh64_bfd_elf_copy_private_section_data): New.
333 (sh64_elf_final_write_processing): Only sort .cranges and modify
334 start address if called by linker.
335 2001-01-08 Ben Elliston <bje@redhat.com>
336 * elf32-sh64.c (sh64_elf_final_write_processing): Activate
337 Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
338 * elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
339 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
340 * elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
341 line. Add comments before all entries.
342 <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
344 (sh_elf64_reloc): Correct head comment.
345 (sh_elf64_relocate_section): Correct spacing.
346 <relocating for a local symbol>: Do not honour STO_SH5_ISA32;
347 instead call reloc_dangerous callback.
348 <case R_SH_SHMEDIA_CODE>: New case.
349 (sh_elf64_gc_mark_hook): Correct spacing.
350 (sh_elf64_check_relocs): Ditto.
351 * elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
353 * elf32-sh.c: Correct #endif comments for #ifndef-wrapped
355 (sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
356 clarify describing comment. Add comments before all entries.
357 (sh_elf_relocate_section) <relocating for a local symbol>: Do not
358 honour STO_SH5_ISA32; instead call reloc_dangerous callback.
359 2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
360 Sort .cranges section in final link. Prepare to set bit 0 on
362 * elf32-sh64.c (struct sh64_find_section_vma_data): New.
363 (sh64_elf_link_output_symbol_hook): Fix typo in prototype.
364 (sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
366 (sh64_backend_section_from_shdr): New, to recognize
367 SHT_SH5_CR_SORTED on incoming .cranges section.
368 (elf_backend_section_from_shdr): Define.
369 (sh64_elf_final_write_processing): Sort outgoing .cranges
370 section. (New, temporarily disabled:) Set bit 0 on entry address
371 according to ISA type.
372 (sh64_find_section_for_address): New.
373 (crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
374 crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
375 (sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
376 bfd_malloc, not xmalloc.
377 (sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
379 * elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
380 temporarily disabled) setting bit 0 on entry address.
381 (elf_backend_final_write_processing): Define.
382 2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
383 * elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
384 be a proper relocation for PTA and PTB rather than a marker.
385 <R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
386 R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
387 R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
388 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
389 R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
391 * elf64-sh64.c: Ditto.
392 (sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
393 * elf32-sh64.c: Include opcodes/sh64-opc.h
394 (shmedia_prepare_reloc): Take a bfd_link_info pointer as first
395 argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
396 parameters. No unused parameters. Caller changed.
397 <case R_SH_PT_16>: New case.
398 * Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
399 * Makefile.in: Regenerate.
400 2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
401 * elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
403 (sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
404 (sh64_elf_merge_private_data): Ditto.
405 * elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
406 to access stored section flags.
407 (sh64_elf_final_write_processing): Return immediately unless
408 called by linker. Use sh64_elf_section_data (cranges) to get size
409 of linker-generated cranges entries.
410 (sh64_elf_copy_private_data): Add missing "return true".
411 (sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
412 (sh_elf64_merge_private_data): Ditto.
413 2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
414 * elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
415 elf64-sh64.c:sh64_elf_fake_sections.
416 (elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
417 2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
418 * elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
419 (sh64_elf_final_write_processing): New.
420 (elf_backend_final_write_processing): Define.
421 (sh64_elf_fake_sections): Get header flags from tdata field.
422 (sh64_elf_copy_private_data): Do not call
423 sh64_elf_copy_private_data_internal, just copy e_flags field.
424 (sh64_elf_merge_private_data): Do not call
425 sh64_elf_copy_private_data_internal.
426 2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
427 Remove EF_SH64_ABI64, let ELF size make difference.
428 Remove SH64-specific BFD section flag.
429 * elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
430 containing SHmedia through elf_section_data (asect)->tdata
431 non-zero, not using a BFD section flag.
432 (sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
433 (sh64_elf_merge_private_data): Similar.
434 (elf_backend_section_flags): Don't define.
435 (sh64_elf_backend_section_flags): Delete.
436 * elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
438 (sh_elf64_merge_private_data): Similar.
439 * section.c (Section flags definitions): Don't define
441 (bfd-in2.h): Regenerate.
442 2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
443 Make DataLabel references work with partial linking.
444 * elf32-sh64.c: Fix formatting.
445 (sh64_elf_link_output_symbol_hook): New.
446 (elf_backend_link_output_symbol_hook): Define to
447 sh64_elf_link_output_symbol_hook.
448 (sh64_elf_add_symbol_hook): Make DataLabel symbol just global
449 undefined if partial linking. Adjust sanity check.
450 * elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
451 (elf_backend_link_output_symbol_hook): Define to
452 sh64_elf64_link_output_symbol_hook.
453 (sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
454 undefined if partial linking. Adjust sanity check.
455 2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
456 Implement semantics for inter-file DataLabel references.
457 * elf64-sh64.c (DATALABEL_SUFFIX): Define.
458 (sh64_elf64_add_symbol_hook): New.
459 (sh_elf64_relocate_section): If passing an indirect symbol with
460 st_type STT_DATALABEL on the way to a symbol with st_other
461 STO_SH5_ISA32, do not bitor 1 to the relocation.
462 (elf_backend_add_symbol_hook): Define to
463 sh64_elf64_add_symbol_hook.
464 * elf64-sh32.c: Tweak comments.
465 (DATALABEL_SUFFIX): Define.
466 (sh64_elf_add_symbol_hook): New.
467 (elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
468 * elf32-sh.c (sh_elf_relocate_section): If passing an indirect
469 symbol with st_type STT_DATALABEL on the way to a symbol with
470 st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
471 2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
472 Pass through STT_DATALABEL.
473 * elf32-sh64.c (sh64_elf_get_symbol_type): New.
474 (elf_backend_get_symbol_type): Define.
475 * elf64-sh64.c (sh64_elf64_get_symbol_type): New.
476 (elf_backend_get_symbol_type): Define.
477 2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
478 * elf32-sh64.c: Tweak comments.
479 (sh64_elf_copy_private_data_internal): Add prototype.
480 (bfd_elf32_bfd_set_private_flags): Define.
481 (sh64_elf_copy_private_data_internal): Compare machine name, not
482 textual BFD target name, to check whether to copy section flag
484 (sh64_elf_merge_private_data): Validize bfd_get_arch_size.
485 Tweak section-contents-type-mismatch message.
486 (shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
487 Validize reloc-types.
488 * elf64-sh64.c: New file.
489 * targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
490 * Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
491 (BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
492 Regenerate dependencies.
493 * Makefile.in: Regenerate.
494 * config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
496 * configure.in: Handle bfd_elf64_sh64_vec and
498 * configure: Regenerate.
499 * po/POTFILES.in: Regenerate.
500 * po/bfd.pot: Regenerate.
501 2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
502 * elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
503 anything else but EF_SH64 and EF_SH64_ABI64.
504 (sh64_elf_merge_private_data): Emit error for anything else but
505 EF_SH64 and EF_SH64_ABI64.
506 * config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
508 * configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
509 bfd_elf32_sh64l_vec as a temporary measure.
510 * configure: Regenerate.
511 2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
512 * cpu-sh.c (arch_info_struct): Include sh5 item
514 * config.bfd (sh64-*-elf*): Do not set targ_cflags.
515 Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
516 bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
517 * elf32-sh64.c: Tweak comments.
518 (sh64_elf_set_mach_from_flags): Recognize all machine flags that
519 are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
520 (sh64_elf_copy_private_data_internal): Wrap long line.
521 (sh64_elf_merge_private_data): Rewrite to allow objects from
522 SH64 subsets to be linked together.
523 (INCLUDE_SHMEDIA): Define.
524 * elf32-sh.c (sh_elf_relocate_section) <local symbol>:
525 Parenthesize plus-expression inside or-expression.
526 <global symbol>: Ditto.
527 (sh_elf_set_mach_from_flags): Remove code refusing
528 deleted EF_SH64_32BIT_ABI flag.
529 2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
530 * elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
531 R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
532 R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
533 (sh_elf_relocate_section) <local symbol>: Or 1 in
534 calculation of relocation if sym->st_other & STO_SH5_ISA32.
535 <global symbol>: Ditto if h->other & STO_SH5_ISA32.
536 * elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
538 2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
539 * Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
540 (BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
541 Regenerate dependencies.
542 * Makefile.in: Regenerate.
543 * archures.c: Add bfd_mach_sh5.
544 * config.bfd: Map targ_cpu sh* to bfd_sh_arch.
545 Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
546 * configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
547 * configure: Regenerate.
548 * reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
549 BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
550 BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
551 BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
552 BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
553 BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
554 BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
555 BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
556 BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
557 * cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
559 * elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
561 [INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
562 [INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
563 shmedia_prepare_reloc, goto final_link_relocate if it returns
564 non-zero, else fail as before.
565 (sh_elf_set_mach_from_flags): Provide function only if not defined
566 as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
567 (sh_elf_set_private_flags): Provide function only if not defined
569 (sh_elf_copy_private_data): Similar.
570 (sh_elf_merge_private_data): Similar.
571 * section.c (SEC_SH_ISA_SHMEDIA): New.
572 * targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
573 * elf32-sh64.c: New file.
574 * libbfd.h: Regenerate.
575 * bfd-in2.h: Regenerate.
576 * po/POTFILES.in: Regenerate.
577 * po/bfd.pot: Regenerate.
578 * bfd-in2.h: Regenerate.
579 * libbfd.h: Regenerate.
581 2002-02-07 Daniel Jacobowitz <drow@mvista.com>
583 * bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
584 been included, not drag it in.
585 * bfd-in2.h: Regenerate.
587 2002-02-06 H.J. Lu (hjl@gnu.org)
589 * elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
590 the mach and ISA fields if necessary.
592 2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
594 * coffcode.h (coff_set_arch_mach_hook): Select the highest known
595 ARM architecture when an F_ARM_5 flag is detected, since we cannot
596 be sure exactly which architecture this represents.
598 2002-02-05 Nick Clifton <nickc@redhat.com>
600 * po/tr.po: Updated translation.
602 2002-02-05 Alan Modra <amodra@bigpond.net.au>
604 From Jimi X <jimix@watson.ibm.com>
605 * archures (bfd_mach_ppc64): Define.
606 (bfd_powerpc_arch): Rename to bfd_powerpc_archs.
607 (bfd_powerpc_arch): Define.
608 * bfd-in2.h: Regenerate.
609 * cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
610 (bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
611 (bfd_powerpc_archs): Add default powerpc64 arch.
613 2002-02-05 Alan Modra <amodra@bigpond.net.au>
615 * elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
616 against section syms in readonly sections. Don't do the global
617 sym check if we find one.
618 * elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
619 * elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
620 * elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
621 (elf_s390_grok_prstatus): Add missing prototype.
623 2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
625 * elf64-mmix.c (mmix_dump_bpo_gregs): New function.
626 (mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
627 Call bfd_get_section_by_name only once. Initialize
628 bpodata->n_bpo_relocs_this_section.
629 (_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
631 (bpo_reloc_request_sort_fn): Don't use difference of values as
634 2002-02-02 David O'Brien <obrien@FreeBSD>
636 * configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
637 version 4.5 and later the same as 5-CURRENT.
638 * configure: Re-generate.
640 2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
642 * config.bfd (hppa*-*-netbsd*): New target.
644 2002-01-31 Philipp Thomas <pthomas@suse.de>
646 * coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
647 to front of message. Unify messages with elf32-arm.h. Use
648 commas where neccessary.
649 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
650 ERROR in messages. Unify messages with coff-arm.c. Correct
651 VFP/FPA error message.
652 (elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
653 APCS-32 for translation.
655 2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
657 Perform on-demand global register allocation from
658 R_MMIX_BASE_PLUS_OFFSET relocs.
659 * elf64-mmix.c (struct bpo_reloc_section_info, struct
660 bpo_reloc_request, struct bpo_greg_section_info): New.
661 (mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
662 bpo_reloc_request_sort_fn, mmix_elf_relax_section,
663 _bfd_mmix_check_all_relocs,
664 _bfd_mmix_prepare_linker_allocated_gregs,
665 _bfd_mmix_finalize_linker_allocated_gregs): New functions.
666 (elf_mmix_howto_table): Correct src_mask for most relocs.
667 (mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
669 (mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
670 case. Fix typo in comment. New label do_mmix_reloc.
671 (mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
672 store first object file with a base-plus-offset reloc. Call
673 mmix_elf_check_common_relocs for the part common with mmo.
674 (mmix_elf_final_link): Write out linker-allocated register
676 (elf_backend_gc_sweep_hook): Define.
677 (bfd_elf64_bfd_relax_section): Define.
679 * mmo.c: Don't include <ctype.h>
680 (mmo_init): Correct init-once logic.
682 2002-02-01 Tom Rix <trix@redhat.com>
684 * config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
686 2002-02-01 Alan Modra <amodra@bigpond.net.au>
688 * Makefile.am: Run "make dep-am"
689 * Makefile.in: Regenerate.
691 2002-01-31 David O'Brien <obrien@FreeBSD>
693 * configure.in: Recognize the differences in core files from FreeBSD
694 4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
696 * configure: Regenerate.
698 2002-01-31 Ivan Guzvinec <ivang@opencores.org>
700 * coff-or32.c: New file.
701 * cpu-or32.c: New file.
702 * elf32-or32.c: New file.
703 * archures.c: Add support for or32.
704 * targets.c: Add support for or32.
705 * bfd-in2.h: Regenerate.
706 * coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
707 coff_write_object_contents): Add support for or32.
708 * config.bfd: Add target.
709 * configure.in: Add support for or32.
710 * configure: Regenerate.
711 * Makefile.am: Add support for or32.
712 * Makefile.in: Regenerate.
713 * po/SRC-POTFILES.in: Add or32 files.
714 * po/bfd.pot: Regenerate.
716 2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
717 Don Lindsay <lindsayd@cisco.com>
719 * elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
720 false' with a return of a bfd_reloc_ error code.
722 2002-01-31 Hans-Peter Nilsson <hp@axis.com>
724 * elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
725 unexport unreferenced symbols when --export-dynamic. Call
726 _bfd_elf_strtab_delref when unexporting.
728 2002-01-30 Daniel Jacobowitz <drow@mvista.com>
730 * bfd-in.h: Include <stdbool.h> if it is available.
731 * bfd-in2.h: Regenerated.
733 2002-01-31 Alan Modra <amodra@bigpond.net.au>
735 * elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
738 2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
740 * archures.c: Tidy up formatting of embedded comments.
741 * bfd.c: Tidy up formatting of embedded comments.
742 * bfd-in.h: Fix formatting of comments.
743 * reloc.c: Tidy up formatting of ordinary & embedded comments.
744 * section.c: Tidy up formatting of embedded comments.
745 * syms.c: Tidy up formatting of embedded comments.
746 * targets.c: Tidy up formatting of embedded comments.
748 * bfd-in2.h: Regenerate.
750 2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
752 * vms-tir.c (cmd_name): New function.
753 (tir_cmd_name): New function.
754 (etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
755 (tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
758 * peXXigen.c (pe_print_idata): Rearrange message to aid in
760 (pe_print_pdata): Rearrange message to aid in translation.
762 * libbfd.c (warn_deprecated): Rearrange error message to aid in
765 * ihex.c (ihex_write_object_contents): Fix spelling typo.
767 * ieee.c (ieee_slurp_external_symbols): Remove spurious space.
769 * elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
770 message to aid in translation.
772 * elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
773 to aid in translation.
775 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
777 2002-01-30 Philipp Thomas <pthomas@suse.de>
779 * coff-arm.c, elf32-elf.h: Unify messages.
781 2002-01-30 Nick Clifton <nickc@redhat.com>
783 * po/sv.po: Updated translation.
785 2002-01-30 Philipp Thomas <pthomas@suse.de>
787 * dwarf2.c (read_abbrev): Use full section name in error message.
788 (decode_line_info): Likewise.
790 * elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
793 2002-01-30 Alan Modra <amodra@bigpond.net.au>
795 * elf64-ppc.c (func_desc_adjust): Only provide missing function
796 descriptor symbols for undefined function code syms. Clear
797 ELF_LINK_NON_ELF so that they can stay weak.
799 2002-01-29 Chris Demetriou <cgd@broadcom.com>
800 Mitch Lichtenberg <mpl@broadcom.com>
802 * bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
803 * elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
804 to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
806 * bfd-in2.h: Regenerate.
808 2002-01-29 Chris Demetriou <cgd@broadcom.com>
810 * elf32-mips.c: Add additional comments about HI16 relocation
812 (_bfd_mips_elf_hi16_reloc): Don't subtract address here for
813 pc-relative relocations. (Reverts change made on 2001-10-31.)
814 (_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
815 for pc-relative relocations.
816 (mips_elf_calculate_relocation): Add a comment about a kludge
817 in the R_MIPS_GNU_REL_HI16 handling.
818 (_bfd_mips_elf_relocate_section): Implement that kludge;
819 adjust pc-relative HI16 relocation for difference in HI16 and
820 LO16 addresses, since it can't easily be done in
821 mips_elf_calculate_relocation.
823 2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
825 * elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
826 relocations with PC32 relocations for undefined or weak symbols.
827 * elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
828 * elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
830 2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
832 * elfcore.h (elf_core_file_p): Improve comment for last change.
834 2002-01-27 Daniel Jacobowitz <drow@mvista.com>
836 * configure: Regenerated.
838 2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
840 * elfcore.h (elf_core_file_p): Set the machine architecture
841 before processing the program headers.
843 2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
845 * configure.in <64-bit configuration>: If using gcc, check and
846 emit error for egcs-1.1.2.
847 * configure: Regenerate.
849 2002-01-26 Egor Duda <deo@logos-m.ru>
851 * elf.c (elfcore_grok_win32pstatus): Copy only as much information
852 as possible to avoid stack corruption.
854 2002-01-26 Richard Henderson <rth@redhat.com>
856 * elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
857 for non-allocated sections.
859 2002-01-25 Mark Kettenis <kettenis@gnu.org>
861 * elf.c (elfcore_write_prstatus): Make sure we pass the address of
862 prstat.pr_reg even if it is a struct.
864 2002-01-25 Steve Ellcey <sje@cup.hp.com>
866 * bfd/elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
868 2002-01-25 Philipp Thomas <pthomas@suse.de>
870 * coffgen.c (coff_print_symbol): Don't mark info message
873 2002-01-25 Nick Clifton <nickc@redhat.com>
875 * po/fr.po: Updated translation.
876 * po/es.po: Updated translation.
878 2002-01-25 Philipp Thomas <pthomas@suse.de>
880 * coff-alpha.c (alpha_relocate_section): Unify warning message
881 for GP relative relocations without GP defined.
882 * coff-mips.c (mips_relocate_section): Likewise.
884 2002-01-25 Alan Modra <amodra@bigpond.net.au>
886 * elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
887 unsigned overflow when new_offset < old_offset.
889 2002-01-24 Philipp Thomas <pthomas@suse.de>
891 * bfd.c (_bfd_abort): Fix typo.
893 2002-01-23 Richard Henderson <rth@redhat.com>
895 * elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
896 plt entries for undefweak symbols.
898 2002-01-23 Steve Ellcey <sje@cup.hp.com>
900 * bfd/targets.c (bfd_elf32_ia64_hpux_big_vec): Add to
902 (bfd_elf64_ia64_hpux_big_vec): Ditto.
903 (bfd_elf32_h8300_vec): Ditto.
905 2002-01-23 Alan Modra <amodra@bigpond.net.au>
907 * elf64-ppc.c: Remove stale part of ABI comment.
908 (NO_OPD_RELOCS): Define.
909 (ppc64_elf_check_relocs): Use it.
910 (ppc64_elf_relocate_section): Here too.
911 (build_one_stub): Don't point function syms at the stub. Instead,
913 (ppc64_elf_relocate_section): Check whether REL24 relocs should
914 really go to the stub. Make all dynamic relocs in opd against
916 (ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
919 2002-01-22 Richard Henderson <rth@redhat.com>
921 * elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
923 2002-01-22 Alan Modra <amodra@bigpond.net.au>
925 * elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
926 TOC_BASE_OFF adjustment.
928 * Makefile.am: Run "make dep-am".
929 * Makefile.in: Regenerate.
930 * po/SRC-POTFILES.in: Regenerate.
932 2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
934 * configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
937 2002-01-21 Hans-Peter Nilsson <hp@axis.com>
939 * elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
940 Check for and emit error if sgot is NULL at this point.
942 2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
944 * config.bfd (ia64*-*-netbsd*): New target.
946 2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
948 * som.c (som_write_space_strings): Comment typo fix.
950 2002-01-21 Alan Modra <amodra@bigpond.net.au>
952 * elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
953 is_func_descriptor fields.
954 (link_hash_newfunc): Init them.
955 (ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
956 dot are candidates for plt entries. When processing .opd relocs,
957 set function descriptor strings to point inside function code
958 string, and set new ppc_link_hash_entry fields.
959 (ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
960 (ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
961 function descriptors. It's now done in..
962 (func_desc_adjust): New.
963 (ppc64_elf_func_desc_adjust): New.
964 (define elf_backend_always_size_sections): Define.
965 (ppc64_elf_hide_symbol): New.
966 (define elf_backend_hide_symbol): Define.
967 (allocate_dynrelocs): Remove code looking up function descriptors
968 as that has been done earlier.
969 (ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
971 (ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
972 up function descriptor.
973 (build_one_stub): Look up the function code sym. Check for
975 (ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
976 Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
978 * elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
980 (_bfd_elf_link_hash_hide_symbol): Likewise.
981 * elflink.h (elf_link_add_object_symbols): Adjust call to
982 elf_backend_hide_symbol.
983 (elf_fix_symbol_flags): Likewise.
984 (elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
986 * elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
987 Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
988 * elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
989 (clobber_millicode_symbols): Adjust to suit new hide_symbol.
990 * elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
992 * elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
993 _bfd_elf_link_hash_hide_symbol rather than duplicating code.
994 * elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
996 2002-01-18 Alan Modra <amodra@bigpond.net.au>
998 * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
999 dynamic function descriptor symbol, not the associated function
1002 2002-01-17 Eric Christopher <echristo@redhat.com>
1004 * elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
1006 2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
1008 * po/bfd.pot: Regenerate.
1009 * po/fr.po: Regenerate.
1011 2002-01-17 Alan Modra <amodra@bigpond.net.au>
1013 * elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
1014 Remove "Elf_Internal_Shdr *" param.
1015 (_bfd_mips_elf_section_from_bfd_section): Ditto.
1016 * elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
1017 * elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
1018 * elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
1019 * elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
1020 * elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
1021 * elf.c (_bfd_elf_section_from_bfd_section): Allow backend
1022 function to override special sections. Remove hdr arg from
1023 backend call, and don't loop.
1025 2002-01-16 Eric Christopher <echristo@redhat.com>
1027 * elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
1028 on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
1029 relocations requiring gp0 and gp.
1031 2002-01-16 Richard Earnshaw <rearnsha@arm.com>
1033 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
1035 (elf32_arm_print_private_bfd_data): Likewise.
1037 2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
1039 * po/tr.po: Import new version.
1041 2002-01-16 Alan Modra <amodra@bigpond.net.au>
1043 * elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
1044 (ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
1045 (ORI_R0_R0_0): Correct.
1047 2002-01-16 Alan Modra <amodra@bigpond.net.au>
1049 * elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
1050 when plt_not_loaded.
1051 * elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
1052 clear .plt SEC_CODE here. Create .stub and correct .glink flags.
1053 (PLT_INITIAL_ENTRY_SIZE): Set to 24.
1054 (ppc64_elf_glink_code): Delete.
1055 (PPC64_ELF_GLINK_SIZE): Delete.
1056 (ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
1057 BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
1058 ORI_R0_R0_0): Define.
1059 (PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
1060 (struct ppc_link_hash_table): Add sstub and plt_overflow.
1061 (ppc64_elf_link_hash_table_create): Init them.
1062 (ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
1063 Don't copy to shared lib.
1064 (ppc64_elf_check_relocs): Call bfd_set_error on errors.
1065 (ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
1066 (allocate_dynrelocs <plt>): Don't change function sym here. Make
1067 room for .stub and .glink code.
1068 (ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
1070 (ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
1071 bfd_elf64_bfd_final_link.
1072 (bfd_elf64_bfd_final_link): Don't define.
1073 (ppc64_elf_size_stubs): New.
1074 (build_plt_stub): New.
1075 (build_one_stub): New.
1076 (ppc64_elf_build_stubs): New.
1077 (ppc64_elf_relocate_section <toc relocs>): Remove assert.
1078 (ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
1079 (ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
1080 DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
1081 case output sections not separate. Adjust DT_RELASZ to not
1082 include plt relocs. Set reserved got entry. Set got and plt
1084 (elf_backend_got_header_size): Set to 8.
1085 * elf64-ppc.h: New file.
1087 2002-01-16 Alan Modra <amodra@bigpond.net.au>
1089 * elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
1090 sections, use bfd_section_list_remove.
1091 * elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
1092 * elflink.h (elf_link_add_object_symbols): When removing all
1093 sections, use bfd_section_list_clear.
1095 2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
1097 * po/sv.po: New file: Swedish translation.
1098 * configure.in (ALL_LINGUAS): Add sv.
1099 * configure: Regenerate.
1101 2002-01-15 Jakub Jelinek <jakub@redhat.com>
1103 * elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
1104 * elf.c (merge_sections_remove_hook): New function.
1105 (_bfd_elf_merge_sections): Pass it as 3rd argument to
1106 _bfd_merge_sections.
1107 * libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
1108 * libbfd.h: Rebuilt.
1109 * merge.c (_bfd_merge_sections): Add remove_hook argument.
1110 Call remove_hook if a SEC_EXCLUDE section is encountered.
1112 2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
1114 * elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
1115 (xstormy16_reloc_map): Initialise new field with correct howto
1117 (xstormy16_reloc_type_lookup): Use 'table' field to locate correct
1120 2002-01-10 Michael Snyder <msnyder@redhat.com>
1122 * elf.c (elfcore_write_prstatus): Use long instead of pid_t;
1123 (elfcore_write_pstatus): Use long instead of pid_t;
1124 * elf-bfd.h: Change prototypes to use long instead of pid_t;
1126 2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
1128 * elf.c: Update copyright years.
1129 (elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
1130 and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
1132 2002-01-08 Michael Snyder <msnyder@redhat.com>
1134 Add capability to write corefile note sections, for gdb.
1135 * elf.c (elfcore_write_note): New function.
1136 (elfcore_write_prpsinfo): New function.
1137 (elfcore_write_prstatus): New function.
1138 (elfcore_write_pstatus): New function.
1139 (elfcore_write_prfpreg): New function.
1140 (elfcore_write_prxfpreg): New function.
1141 * elf-bfd.h: Add prototypes for above functions.
1143 2002-01-08 Alexandre Oliva <aoliva@redhat.com>
1145 * elf.c (elf_fake_sections): Propagate errors from
1146 elf_backend_fake_section.
1148 2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
1150 * Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
1151 (BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
1152 (elf32-sh-nbsd.lo): New rule.
1153 * Makefile.in: Regenerate.
1154 * config.bfd (sh*le-*-netbsdelf*): New target.
1155 (sh*-*-netbsdelf*): New target.
1156 * configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
1157 (bfd_elf32_shnbsd_vec): New vector.
1158 (bfd_elf32_shlnbsd_vec): New vector.
1159 * configure: Regenerate.
1160 * elf32-sh-nbsd.c: New file.
1161 * targets.c: Update copyright years.
1162 (_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
1163 bfd_elf32_shnbsd_vec.
1165 2002-01-07 Aldy Hernandez <aldyh@redhat.com>
1167 * coff-rs6000.c (READ20): Use bfd_scan_vma.
1169 2002-01-07 Geoffrey Keating <geoffk@redhat.com>
1171 * elflink.h (elf_link_input_bfd): Don't ask for the merged offset
1172 of a symbol in a section that will be deleted.
1174 2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
1176 * po/es.po: New file: Spanish translation.
1177 * configure.in (ALL_LINGUAS): Add es.
1178 * configure: Regenerate.
1180 2002-01-06 Steve Ellcey <sje@cup.hp.com>
1182 * elfxx-ia64.c (is_unwind_section_name): Add target vector as
1183 argument so we can handle HP-UX specially.
1184 (elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
1185 (elfNN_hpux_backend_section_from_bfd_section): New for support
1186 of SHN_IA_64_ANSI_COMMON.
1187 (elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
1188 (is_unwind_section_name): Add special HP-UX support.
1189 (elfNN_ia64_section_from_shdr): Add support for more sections.
1190 (elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
1191 add support for more sections.
1192 (elfNN_ia64_additional_program_headers): Modify
1193 is_unwind_section_name call.
1194 (elfNN_ia64_modify_segment_map): Remove assumption that there is
1195 only one unwind section in segment.
1197 2002-01-06 Alan Modra <amodra@bigpond.net.au>
1199 * syms.c (_bfd_generic_make_empty_symbol): New function.
1200 * libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
1201 _bfd_generic_make_empty_symbol.
1202 * libbfd.h: Regenerate.
1203 * bfd-in2.h: Regenerate.
1204 * hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
1205 (hppabsd_core_get_symtab_upper_bound): Don't define.
1206 (hppabsd_core_get_symtab): Likewise.
1207 (hppabsd_core_print_symbol): Likewise.
1208 (hppabsd_core_get_symbol_info): Likewise.
1209 (hppabsd_core_bfd_is_local_label_name): Likewise.
1210 (hppabsd_core_get_lineno): Likewise.
1211 (hppabsd_core_find_nearest_line): Likewise.
1212 (hppabsd_core_bfd_make_debug_symbol): Likewise.
1213 (hppabsd_core_read_minisymbols): Likewise.
1214 (hppabsd_core_minisymbol_to_symbol): Likewise.
1215 (hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
1217 * hpux-core.c: Similarly.
1218 * irix-core.c: Similarly.
1219 * osf-core.c: Similarly.
1220 * sco5-core.c: Similarly.
1221 * binary.c (binary_make_empty_symbol): Remove function, define as
1222 _bfd_generic_make_empty_symbol.
1223 * ihex.c (ihex_make_empty_symbol): Likewise.
1224 * mmo.c (mmo_make_empty_symbol): Likewise.
1225 * ppcboot.c (ppcboot_make_empty_symbol): Likewise.
1226 * srec.c (srec_make_empty_symbol): Likewise.
1227 * versados.c (versados_make_empty_symbol): Likewise.
1228 * vms.c (_bfd_vms_make_empty_symbol): Remove.
1229 (vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
1230 * vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
1231 rather than _bfd_vms_make_empty_symbol.
1232 * vms-misc.c (new_symbol): Likewise.
1234 2002-01-05 Alan Modra <amodra@bigpond.net.au>
1236 * section.c (bfd_section_init): Remove unnecessary initialisations.
1237 (bfd_section_list_clear): New function.
1238 (bfd_section_list_remove, bfd_section_list_insert): New macros.
1239 (_bfd_strip_section_from_output): Use them.
1240 * coffcode.h (coff_set_alignment_hook): Likewise.
1241 * elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
1242 * elf64-mips.c (mips_elf64_final_link): Likewise.
1243 * elf64-mmix.c (mmix_elf_final_link): Likewise.
1244 * sunos.c (sunos_add_dynamic_symbols): Likewise.
1245 * xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
1246 * bfd-in2.h: Regenerate.
1248 * netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
1249 rather than doing our own section handling. Clean up after errors
1250 with bfd_release and bfd_section_list_clear. Handle unexpected
1252 * aoutf1.h (sunos4_core_file_p): Likewise.
1253 * aix386-core.c (aix386_core_file_p): Likewise.
1254 * cisco-core.c (cisco_core_file_validate): Likewise.
1255 * ptrace-core.c (ptrace_unix_core_file_p): Likewise.
1256 * trad-core.c (trad_unix_core_file_p): Likewise.
1258 * hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
1259 with bfd_release and bfd_section_list_clear.
1260 * hpux-core.c (hpux_core_core_file_p): Likewise.
1261 * irix-core.c (irix_core_core_file_p): Likewise.
1262 * lynx-core.c (lynx_core_file_p): Likewise.
1263 * osf-core.c (osf_core_core_file_p): Likewise.
1264 * rs6000-core.c (rs6000coff_core_p): Likewise.
1265 * sco5-core.c (sco5_core_file_p): Likewise.
1267 * elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
1268 sign extension adjustments without conditionals.
1270 2002-01-04 Jakub Jelinek <jakub@redhat.com>
1272 * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
1273 CIE at .eh_frame start is removed due to no FDEs referencing it.
1275 2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
1277 * config.bfd (x86_64-*-netbsd*): New target.
1278 * configure.in (x86_64-*-netbsd*): Set COREFILE
1280 * configure: Regenerated.
1282 2002-01-03 Tom Rix <trix@redhat.com>
1284 * xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
1285 for recent bfd_make_section_anyway change.
1287 2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
1289 * elf32-arm.h (elf32_arm_final_link_relocate): Handle
1290 R_ARM_THM_PC11 reloc.
1292 2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
1294 * configure.in (LINGUAS): Add ja.
1295 * configure: Regenerate.
1296 * po/ja.po: Import from translation project's web site.
1298 2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
1300 * elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
1301 messages to ease translation into other languages.
1303 For older changes see ChangeLog-0001
1309 version-control: never