mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 02:53:48 +08:00
11412 lines
432 KiB
Plaintext
11412 lines
432 KiB
Plaintext
2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||
|
||
Adfd m32r-linux and PIC support. Add new ABI that uses RELA.
|
||
* config.bfd (m32r*-*-linux*, m32r*le-*-linux*, m32r*le-*-*): Added.
|
||
* configure.in (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
|
||
bfd_elf32_m32rle_vec): Added
|
||
* configure: Regenerated.
|
||
* elf32-m32r.c (m32r_info_to_howto, m32r_elf_adjust_dynamic_symbol,
|
||
m32r_elf_size_dynamic_sections, m32r_elf_create_dynamic_sections,
|
||
m32r_elf_finish_dynamic_sections, m32r_elf_finish_dynamic_symbol,
|
||
allocate_dynrelocs, readonly_dynrelocs, m32r_elf_reloc_type_class,
|
||
m32r_elf_fake_sections): Added.
|
||
(m32r_elf_howto_table): Added
|
||
R_M32R_16_RELA, R_M32R_32_RELA, R_M32R_24_RELA,
|
||
R_M32R_10_PCREL_RELA, R_M32R_18_PCREL_RELA,
|
||
R_M32R_26_PCREL_RELA, R_M32R_HI16_ULO_RELA,
|
||
R_M32R_HI16_SLO_RELA, R_M32R_LO16_RELA,
|
||
R_M32R_SDA16_RELA, R_M32R_RELA_GNU_VTINHERIT,
|
||
R_M32R_RELA_GNU_VTENTRY, R_M32R_GOT24,
|
||
R_M32R_26_PLTREL, R_M32R_COPY, R_M32R_GLOB_DAT,
|
||
R_M32R_JMP_SLOT, R_M32R_RELATIVE, R_M32R_GOTOFF,
|
||
R_M32R_GOTPC24, R_M32R_GOT16_HI_ULO,
|
||
R_M32R_GOT16_HI_SLO, R_M32R_GOT16_LO,
|
||
R_M32R_GOTPC_HI_ULO, R_M32R_GOTPC_HI_SLO,
|
||
R_M32R_GOTPC_LO.
|
||
(m32r_elf_relocate_section, m32r_elf_check_relocs): Changed for
|
||
New ABI.
|
||
* reloc.c: Add BFD_RELOC_M32R_GOT24, BFD_RELOC_M32R_26_PLTREL,
|
||
BFD_RELOC_M32R_COPY, BFD_RELOC_M32R_GLOB_DAT,
|
||
BFD_RELOC_M32R_JMP_SLOT, BFD_RELOC_M32R_RELATIVE,
|
||
BFD_RELOC_M32R_GOTOFF, BFD_RELOC_M32R_GOTPC24,
|
||
BFD_RELOC_M32R_GOT16_HI_ULO, BFD_RELOC_M32R_GOT16_HI_SLO,
|
||
BFD_RELOC_M32R_GOT16_LO, BFD_RELOC_M32R_GOTPC_HI_ULO,
|
||
BFD_RELOC_M32R_GOTPC_HI_SLO, BFD_RELOC_M32R_GOTPC_LO.
|
||
* targets.c (bfd_elf32_m32rlin_vec, bfd_elf32_m32rlelin_vec,
|
||
bfd_elf32_m32rle_vec): Added.
|
||
* bfd-in2.h: Regenerated.
|
||
* libbfd.h: Regenerated.
|
||
|
||
2003-12-19 Danny Smith <dannysmith@users.sourceforge.net>
|
||
|
||
* coffcode.h (styp_to_sec_flags): Don't treat .reloc section
|
||
as SEC_DEBUGGING.
|
||
|
||
2003-12-18 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elf32-mips.c (elf_mips_howto_table_rel): Replace all uses of
|
||
mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
|
||
_bfd_mips_elf_hi16_reloc for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16,
|
||
_bfd_mips_elf_lo16_reloc for R_MIPS_LO16 and R_MIPS_GNU_REL_LO16,
|
||
and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16. Change rightshift
|
||
to 16 for R_MIPS_HI16 and R_MIPS_GNU_REL_HI16.
|
||
(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
|
||
(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
|
||
(_bfd_mips_elf32_gprel16_reloc): Remove special case.
|
||
(mips_elf_gprel32_reloc, mips32_64bit_reloc): Likewise.
|
||
|
||
* elf64-mips.c (mips_elf64_howto_table_rel): Replace all uses of
|
||
mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc. Use
|
||
_bfd_mips_elf_hi16_reloc for R_MIPS_HI16, _bfd_mips_elf_lo16_reloc
|
||
for R_MIPS_LO16 and _bfd_mips_elf_got16_reloc for R_MIPS_GOT16.
|
||
Change R_MIPS_HI16's rightshift to 16.
|
||
(mips_elf64_howto_table_rela): Replace all uses of
|
||
mips_elf_generic_reloc with _bfd_mips_elf_generic_reloc.
|
||
Use _bfd_mips_elf_generic_reloc for R_MIPS_GOT16 as well.
|
||
(mips_elf64_hi16_reloc, mips_elf64_got16_reloc): Delete.
|
||
(mips_elf64_shift6_reloc): Remove special case. Use
|
||
_bfd_mips_elf_generic_reloc instead of returning bfd_reloc_continue.
|
||
|
||
* elfn32-mips.c (prev_reloc_section): Delete.
|
||
(prev_reloc_address, prev_reloc_addend): Delete.
|
||
(elf_mips_howto_table_rel, elf_mips_howto_table_rela): As for
|
||
elf64-mips.c
|
||
(GET_RELOC_ADDEND, SET_RELOC_ADDEND): Delete.
|
||
(mips_elf_generic_reloc, struct mips_hi16, mips_elf_hi16_reloc)
|
||
(mips_elf_lo16_reloc, mips_elf_got16_reloc): Delete.
|
||
(mips_elf_gprel16_reloc): Delete use of GET_RELOC_ADDEND.
|
||
(mips_elf_literal_reloc, mips_elf_gprel32_reloc): Likewise.
|
||
(mips16_jump_reloc, mips16_gprel_reloc): Likewise.
|
||
(mips_elf_shift6_reloc): Likewise. Delete use of SET_RELOC_ADDEND.
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Use
|
||
_bfd_relocate_contents to install an in-place addend.
|
||
(mips_hi16): New structure.
|
||
(mips_hi16_list): Moved from elf32-mips.c.
|
||
(_bfd_mips_elf_hi16_reloc, _bfd_mips_elf_got16_reloc): New functions.
|
||
(_bfd_mips_elf_lo16_reloc, _bfd_mips_elf_generic_reloc): New functions.
|
||
(mips_elf_calculate_relocation): Assume addend is unshifted.
|
||
(_bfd_mips_elf_relocate_section): Don't apply the howto rightshift
|
||
on top of the usual high-part shift. Don't shift the addend right
|
||
before calling mips_elf_calculate_relocation.
|
||
|
||
* elfxx-mips.h (_bfd_mips_elf_hi16_reloc): Declare.
|
||
(_bfd_mips_elf_got16_reloc, _bfd_mips_elf_lo16_reloc): Declare.
|
||
(_bfd_mips_elf_generic_reloc): Declare.
|
||
|
||
2003-12-16 Eric Youngdale <eric@mkssoftware.com>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
* peicode.h (pe_ILF_build_a_bfd): Only skip one instance of each
|
||
prefix character, if they are present.
|
||
|
||
2003-12-15 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Ensure that correct flags
|
||
are set on known section types.
|
||
|
||
2003-12-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/ro.po: Updated translation.
|
||
|
||
2003-12-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Check for
|
||
NULL dyn_h.
|
||
|
||
2003-12-11 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf.c (INCLUDE_SECTION_IN_SEGMENT): Skip PT_GNU_STACK segments.
|
||
|
||
2003-12-08 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.h, elfxx-mips.c, cpu-mips.c: Convert prototypes.
|
||
Remove casts that were only needed for K&R compatibility.
|
||
|
||
2003-12-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Remove "bfd *" and add
|
||
"elflink_hash_entry *" param to elf_backend_link_output_symbol_hook.
|
||
Add "elflink_hash_entry *" param to elf_backend_output_arch_syms.
|
||
* elflink.h (elf_link_output_sym): Add "elflink_hash_entry *" param,
|
||
and pass to output_symbol_hook.
|
||
(elf_bfd_final_link): Adjust elf_link_output_sym calls.
|
||
(elf_link_output_extsym): Likewise.
|
||
(elf_link_input_bfd): Likewise.
|
||
* elf32-sh64.c (sh64_elf_link_output_symbol_hook): Adjust.
|
||
* elf32-v850.c (v850_elf_link_output_symbol_hook): Likewise.
|
||
* elf64-mmix.c (mmix_elf_link_output_symbol_hook): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_link_output_symbol_hook): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_elf_link_output_symbol_hook): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_output_arch_syms): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_link_output_symbol_hook): Likewise.
|
||
Validate dynh->h against h.
|
||
* elf64-ppc.c (struct ppc_link_hash_entry): Add adjust_done bitfield.
|
||
(link_hash_newfunc): Init it.
|
||
(adjust_opd_syms): New function.
|
||
(ppc64_elf_edit_opd): Set adjust_done when global .opd sym adjusted.
|
||
Set opd.adjust for all .opd relocs. Call adjust_opd_syms.
|
||
(ppc64_elf_tls_optimize): Adjust possible .opd sym values here.
|
||
(ppc64_elf_relocate_section): Also adjust syms not a multiple of 24.
|
||
(ppc64_elf_output_symbol_hook): New function.
|
||
(elf_backend_link_output_symbol_hook): Define.
|
||
|
||
2003-12-07 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elf32-mips.c, elfn32-mips.c, elf64-mips.c: Convert prototypes.
|
||
Remove casts that were only needed for K&R compatibility.
|
||
|
||
2003-12-05 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
|
||
|
||
* coff-arm.c (aoutarm_std_reloc_howto [ARM_WINCE]): Set
|
||
partial_inplace for these relocs to FALSE for comptability with
|
||
the MS linker.
|
||
Remap ARM_26D relocation from 5 to 0. This fixes "bad fixup" error
|
||
generated by MS linker, and brings the relocation in line the MS
|
||
PE documentation.
|
||
|
||
2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_relax_section): Don't check relax_finalizing.
|
||
|
||
2003-12-04 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Use the
|
||
need_relax_finalize field in link_info instead of
|
||
relax_finalizing to check if the relax finalize pass is being
|
||
done.
|
||
|
||
2003-12-04 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
|
||
|
||
* coff-arm.c (coff_arm_relocate_section, bfd_arm_process_before_allocation):
|
||
Change ARM26* to ARM_26* in comments to match definitions.
|
||
(coff_arm_adjust_symndx): Replace hard-coded constants with
|
||
appropriate definitions (ARM_26*).
|
||
|
||
2003-12-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-i860.c (coff_i860_reloc_nyi): Return bfd_reloc_not_supported.
|
||
* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Warning fixes.
|
||
(mn10300_elf_relax_section): Likewise.
|
||
* nlm32-alpha.c (ONES): Define.
|
||
(nlm32_alpha_howto_table): Use it to avoid warnings.
|
||
|
||
2003-12-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i386.c (elf_i386_object_p): Delete.
|
||
(elf_backend_object_p): Don't define.
|
||
* elf32-s390.c (elf_s390_object_p): No need to alloc tdata here.
|
||
* elf32-sh.c (sh_elf_object_p): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_object_p): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_object_p): Likewise.
|
||
* elf64-s390.c (elf_s390_object_p): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_elf_object_p): Likewise.
|
||
|
||
2003-12-03 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||
|
||
* archures.c (bfd_mach_m32r2): Add new machine type.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-m32r.c : Add new machine type.
|
||
* elf32-m32r.c (m32r_elf_object_p, m32r_elf_final_write_processing,
|
||
m32r_elf_merge_private_bfd_data): Add support for new machine
|
||
type.
|
||
|
||
2003-12-03 Dave Airlie <airlied@linux.ie>
|
||
|
||
* config.bfd: Add vax-linux-gnu target.
|
||
* configure.in: Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2003-12-03 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* ecoff.c (ecoff_link_add_archive_symbols): Update for renamed
|
||
bfd_link_hash_entry field "next" -> "und_next".
|
||
* linker.c (_bfd_link_hash_newfunc): Likewise.
|
||
(bfd_link_add_undef): Likewise.
|
||
(_bfd_generic_link_add_archive_symbols): Likewise.
|
||
(_bfd_generic_link_add_one_symbol): Likewise.
|
||
* xcofflink.c (xcoff_link_add_symbols): Likewise.
|
||
|
||
2003-12-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
* configure.in (ALL_LINGUAS): Add ro.
|
||
* po/ro.po: New Romanian translation.
|
||
|
||
2003-12-02 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-12-01 Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
|
||
|
||
* coffcode.h (coff_compute_section_file_positions): Set page_size
|
||
to 1 instead of 0 in the case file alignment value is zero.
|
||
|
||
2003-12-01 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* coff-rs6000.c: Remove ARGSUSED and VARARGS.
|
||
* coff64-rs6000.c: Likewise.
|
||
* coffcode.h: Likewise.
|
||
* elf32-vax.c: Likewise.
|
||
* hash.c: Likewise.
|
||
* hppabsd-core.c: Likewise.
|
||
* hpux-core.c: Likewise.
|
||
* ihex.c: Likewise.
|
||
* netbsd-core.c: Likewise.
|
||
* osf-core.c: Likewise.
|
||
* pdp11.c: Likewise.
|
||
* ptrace-core.c: Likewise.
|
||
* sco5-core.c: Likewise.
|
||
* section.c: Likewise.
|
||
* sunos.c: Likewise.
|
||
* trad-core.c: Likewise.
|
||
|
||
2003-12-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (is_elf_hash_table): Take hash tab rather than info arg.
|
||
* elf.c (_bfd_elf_merge_sections): Adjust to suit.
|
||
(_bfd_elf_link_just_syms): Likewise.
|
||
(bfd_elf_get_needed_list): Likewise.
|
||
(bfd_elf_get_runpath_list): Likewise.
|
||
(_bfd_elf_link_hash_copy_indirect): Remove unneeded parens.
|
||
* elf32-hppa.c (elf32_hppa_setup_section_lists): Don't check hash tab
|
||
creator flavour.
|
||
(elf32_hppa_set_gp): Look up output sections rather than using htab.
|
||
* elf32-i960.c: Comment fix. Formatting.
|
||
* elf32-m32r.c (m32r_elf_add_symbol_hook): Use is_elf_hash_table
|
||
rather than testing creator flavour.
|
||
* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
|
||
* elflink.c (_bfd_elf_link_create_dynamic_sections): Adjust for
|
||
is_elf_hash_table change. Remove redundant test.
|
||
(bfd_elf_record_link_assignment): Use is_elf_hash_table rather than
|
||
testing creator flavour.
|
||
(elf_link_record_local_dynamic_symbol): Adjust for is_elf_hash_table.
|
||
(_bfd_elf_fix_symbol_flags): Likewise.
|
||
(_bfd_elf_adjust_dynamic_symbol): Likewise.
|
||
* elflink.h (elf_link_add_object_symbols): Likewise. Remove redundant
|
||
checks. Use is_elf_hash_table rather than testing creator flavour.
|
||
Use hash_table throughout in place of info->hash.
|
||
(elf_add_dynamic_entry): Adjust for is_elf_hash_table change.
|
||
(NAME(bfd_elf,size_dynamic_sections)): Likewise. Remove redundant
|
||
check.
|
||
(elf_bfd_final_link): Adjust for is_elf_hash_table change.
|
||
(elf_link_check_versioned_symbol): Use is_elf_hash_table rather than
|
||
testing creator flavour.
|
||
(elf_gc_sections): Add is_elf_hash_table check.
|
||
(elf_gc_common_finalize_got_offsets): Likewise.
|
||
(elf_bfd_discard_info): Adjust for is_elf_hash_table change. Remove
|
||
redundant check.
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Use is_elf_hash_table
|
||
rather than testing creator flavour.
|
||
|
||
2003-11-28 Christian Groessler <chris@groessler.org>
|
||
|
||
* cpu-z8k.c: Convert to ISO C90.
|
||
* coff-z8k.c: Likewise.
|
||
|
||
2003-11-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf-bfd.h (elf_backend_data::elf_backend_modify_segment_map):
|
||
Add link info argument.
|
||
* elf32-i370.c (elf_backend_modify_segment_map): Likewise.
|
||
* elf32-ppc.c (ppc_elf_modify_segment_map): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_modify_segment_map): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_modify_segment_map): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_modify_segment_map): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_elf_modify_segment_map): Likewise.
|
||
* elf.c (assign_file_positions_except_relocs,
|
||
assign_file_positions_for_segments): Likewise. Adjust calls.
|
||
|
||
2003-11-27 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* elf.c (elfcore_grok_netbsd_procinfo): Make a pseudosection out
|
||
of the note.
|
||
|
||
2003-11-26 Daniel Jacobowitz <drow@mvista.com>
|
||
Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_set_global_got_offset): Don't set no_fn_stub.
|
||
(mips_elf_set_no_stub): New function.
|
||
(mips_elf_multi_got): Call it.
|
||
(_bfd_mips_elf_finish_dynamic_symbol): If a relocation is needed for
|
||
a secondary GOT entry, create an R_MIPS_32 or R_MIPS_64 relocation and
|
||
use mips_elf_create_dynamic_relocation to deal with any compatibility
|
||
issues. Store the adjusted addend in the GOT slot.
|
||
|
||
2003-11-25 Mattias Engdeg<65>rd <mattias@virtutech.se>
|
||
|
||
* stabs.c (_bfd_link_section_stabs): Skip N_EXCL stabs when
|
||
procesing N_BINCL stabs.
|
||
|
||
2003-11-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc_type_of_stub): Disallow stubs other than
|
||
ppc_stub_plt_call to symbols defined in shared libs.
|
||
|
||
2003-11-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-bfd.h (ELF_LINK_POINTER_EQUALITY_NEEDED): Define new flag.
|
||
* elf.c (_bfd_elf_link_hash_copy_indirect): Copy it.
|
||
* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
|
||
(elf_i386_check_relocs): Set it.
|
||
(elf_i386_finish_dynamic_symbol): If it is not set,
|
||
clear st_value of SHN_UNDEF symbol.
|
||
|
||
2003-11-20 Jim Blandy <jimb@redhat.com>
|
||
|
||
* cpu-powerpc.c (powerpc_compatible): Any ISA in the PowerPC
|
||
family is a superset of <bfd_arch_rs6000,bfd_mach_rs6k>.
|
||
|
||
2003-11-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-s390.c (elf_s390_relocate_section): Don't recalculate symbol
|
||
section for reloc output and subtract the output section's address
|
||
from the addend when converting a relocation into one against a
|
||
section symbol.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
|
||
2003-11-18 James E Wilson <wilson@specifixinc.com>
|
||
|
||
* elfxx-ia64.c (get_fptr): For fptr_rel, use dynobj not abfd.
|
||
(elfNN_ia64_size_dynamic_sections): When stripping sections, check
|
||
for ia64_info->rel_fptr_sec.
|
||
|
||
2003-11-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (toc_adjusting_stub_needed): Exit early if section
|
||
size is zero.
|
||
|
||
2003-11-17 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf.c (_bfd_elf_link_hash_copy_indirect): Copy
|
||
ELF_LINK_HASH_NEEDS_PLT. Fix formatting.
|
||
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
|
||
* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
|
||
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Likewise.
|
||
* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
|
||
* elf32-sh.c (sh_elf_copy_indirect_symbol): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
|
||
* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_copy_indirect_symbol): Remove.
|
||
(elf_backend_copy_indirect_symbol): Don't define.
|
||
|
||
2003-11-14 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elfxx-mips.c (mips_elf_merge_gots): Weaken assert for local
|
||
GOT entries.
|
||
|
||
2003-11-13 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-s390.c (elf_s390_relocate_section): Only convert R_390_32
|
||
to R_390_RELATIVE. Convert the other relocations against local
|
||
symbols to relocations against the start of the section.
|
||
* elf64-s390.c (elf_s390_relocate_section): Only convert R_390_64
|
||
to R_390_RELATIVE. Convert the other relocations against local
|
||
symbols to relocations against the start of the section.
|
||
|
||
2003-11-11 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf-m10300.c (bfd_mn10300_elf_size_dynamic_sections): Use
|
||
info->executable not info->shared to decide if a .interp section
|
||
should be present.
|
||
* elf32-arm.h (elf32_arm_size_dynamic_sections): Likewise.
|
||
* elf32-cris.c (elf_cris_size_dynamic_sections): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
|
||
* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
|
||
* elf32-m68k.c (elf_m68k_size_dynamic_sections): Likewise.
|
||
* elf32-vax.c (elf_vax_size_dynamic_sections): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_size_dynamic_sections): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_size_dynamic_sections): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_size_dynamic_sections): Likewise.
|
||
* elflink.h (size_dynamic_sections): Likewise.
|
||
|
||
2003-11-10 Jonathan Wilson <jonwil@tpgi.com.au>
|
||
|
||
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Swap out tls pointer.
|
||
(_bfd_XXi_final_link_postscript): Look for __tks_used symbol. If
|
||
found initialise the tls data directory entry.
|
||
|
||
2003-11-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_install_value): Delete.
|
||
(shared_stub_entry, stub_entry): Make them arrays of ints.
|
||
Remove initial branch.
|
||
(ppc_elf_relax_section): Write one branch around all trampolines
|
||
instead. Correct bogus R_PPC_PLTREL24 handling. Correct
|
||
branch range check. Only use shared_stub_entry when shared.
|
||
Test that branches can reach stubs. Write trampolines out at
|
||
end so that just one realloc is used. Handle little-endian
|
||
mode. Move relevant code from ppc_elf_install_value to here.
|
||
(ppc_elf_relocate_section): Move code handling RELAX32 from
|
||
ppc_elf_install_value to here.
|
||
|
||
2003-11-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_howto_raw); Add entry for R_PPC_RELAX32PC.
|
||
(ppc_elf_install_value): Handle R_PPC_RELAX32PC. Merge duplicate
|
||
cases.
|
||
(shared_stub_entry): Correct opcode.
|
||
(ppc_elf_relax_section): Generate R_PPC_RELAX32PC relocs.
|
||
(ppc_elf_relocate_section): Handle them.
|
||
|
||
2003-11-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (_bfd_elf_rela_local_sym): Accept asection **, and return
|
||
updated section in case of merged section.
|
||
* elf-bfd.h (_bfd_elf_rela_local_sym): Update declaration.
|
||
* elf-hppa.h (elf_hppa_relocate_section): Adjust call.
|
||
* elf-m10200.c (mn10200_elf_relocate_section): Likewise.
|
||
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
|
||
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
|
||
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
|
||
* elf32-cris.c (cris_elf_relocate_section): Likewise.
|
||
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
|
||
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
|
||
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
|
||
* elf32-i370.c (i370_elf_relocate_section): Likewise.
|
||
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
|
||
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
|
||
* elf32-msp430.c (elf32_msp430_relocate_section): Likewise.
|
||
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-sh.c (sh_elf_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf32-v850.c (v850_elf_relocate_section) Likewise.
|
||
* elf32-vax.c (elf_vax_relocate_section): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||
* elf64-mmix.c (mmix_elf_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
|
||
|
||
* elf32-cris.c (cris_elf_relocate_section): Don't recalculate symbol
|
||
section for reloc output.
|
||
* elf32-i370.c (i370_elf_relocate_section): Likewise.
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf32-vax.c (elf_vax_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Don't recalculate everything
|
||
for R_PPC_RELAX32 reloc. Don't bother checking ppc_elf_install_value
|
||
return value.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section <R_PPC64_TOC>): Sanity check
|
||
sec->id.
|
||
|
||
2003-11-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-d10v.c (extract_rel_addend, insert_rel_addend): New functions.
|
||
(elf32_d10v_relocate_section): Use them to handle -r reloc
|
||
adjustments, and in place of _bfd_elf_rela_local_sym.
|
||
|
||
* cpu-iq2000.c (arch_info_struct): Warning fix.
|
||
|
||
2003-11-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (ELIMINATE_COPY_RELOCS): Define.
|
||
(elf32_hppa_copy_indirect_symbol): Don't copy NON_GOT_REF on
|
||
weakdefs.
|
||
(elf32_hppa_check_relocs): Use ELIMINATE_COPY_RELOCS.
|
||
(elf32_hppa_adjust_dynamic_symbol): Likewise. Copy weakdef
|
||
NON_GOT_REF.
|
||
(allocate_dynrelocs): Use ELIMINATE_COPY_RELOCS and
|
||
SYMBOL_CALLS_LOCAL. Discard relocs for undef weak syms with
|
||
non-default visibility.
|
||
(elf32_hppa_relocate_section): Use ELIMINATE_COPY_RELOCS and
|
||
SYMBOL_CALLS_LOCAL.
|
||
|
||
2003-11-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aout-target.h, aoutf1.h, bfdio.c, bfdwin.c: Update copyright date.
|
||
* coff-apollo.c, coff-sparc.c, coff-w65.c, coff-we32k.c: Ditto.
|
||
* coff-z8k.c, coffgen.c, cpu-frv.c, cpu-h8500.c, cpu-hppa.c: Ditto.
|
||
* cpu-ia64-opc.c, cpu-m10300.c, cpu-mips.c, cpu-msp430.c: Ditto.
|
||
* cpu-rs6000.c, cpu-z8k.c, efi-app-ia32.c, elf32-am33lin.c: Ditto.
|
||
* gen-aout.c, hash.c, hp300hpux.c, init.c, mach-o.c: Ditto.
|
||
* nlm-target.h, nlm.c, som.h, stabs.c, sysdep.h, xsym.h: Ditto.
|
||
|
||
* elf-m10300.c (_bfd_mn10300_elf_create_got_section): Fix
|
||
"dereferencing type-punned pointer" warnings.
|
||
|
||
* aout-adobe.c (aout_adobe_set_section_contents): Constify location.
|
||
* aoutx.h (NAME(aout,set_section_contents)): Ditto.
|
||
* bfd-in2.h: Regenerate.
|
||
* binary.c (binary_set_section_contents): Ditto.
|
||
* bout.c (b_out_set_section_contents): Ditto.
|
||
* coff-tic54x.c (tic54x_set_section_contents): Ditto.
|
||
* coffcode.h (coff_set_section_contents): Ditto.
|
||
* ecoff.c (_bfd_ecoff_set_section_contents): Ditto.
|
||
* elf-bfd.h (_bfd_elf_set_section_contents): Ditto.
|
||
* elf.c (_bfd_elf_set_section_contents): Ditto.
|
||
* elfxx-mips.c (_bfd_mips_elf_set_section_contents): Ditto.
|
||
* elfxx-mips.h (_bfd_mips_elf_set_section_contents): Ditto.
|
||
* i386msdos.c (msdos_set_section_contents): Ditto.
|
||
* ieee.c (ieee_set_section_contents): Ditto.
|
||
* ihex.c (ihex_set_section_contents): Ditto.
|
||
* libaout.h (NAME(aout,set_section_contents)): Ditto.
|
||
* libbfd-in.h (_bfd_nowrite_set_section_contents): Ditto.
|
||
(_bfd_generic_set_section_contents): Ditto.
|
||
* libbfd.h: Regenerate.
|
||
* libbfd.c (_bfd_generic_set_section_contents): Ditto.
|
||
* libecoff.h (_bfd_ecoff_set_section_contents): Ditto.
|
||
* libnlm.h (nlmNAME(set_section_contents)): Ditto.
|
||
(struct nlm_backend_data <nlm_mangle_relocs>): Ditto.
|
||
* mmo.c (mmo_set_section_contents): Ditto.
|
||
* nlm32-alpha.c (nlm_alpha_mangle_relocs): Ditto.
|
||
* nlm32-i386.c (nlm_i386_mangle_relocs): Ditto.
|
||
* nlm32-ppc.c (nlm_powerpc_mangle_relocs): Ditto.
|
||
* nlm32-sparc.c (nlm_sparc_mangle_relocs): Ditto.
|
||
* nlmcode.h (nlm_set_section_contents): Ditto.
|
||
* oasys.c (oasys_set_section_contents): Ditto.
|
||
* pdp11.c (NAME(aout,set_section_contents)): Ditto.
|
||
* ppcboot.c (ppcboot_set_section_contents): Ditto.
|
||
* srec.c (srec_set_section_contents): Ditto.
|
||
* targets.c (BFD_JUMP_TABLE_WRITE <_bfd_set_section_contents>): Ditto.
|
||
* tekhex.c (tekhex_set_section_contents): Ditto.
|
||
(move_section_contents): Ditto.
|
||
* versados.c (versados_set_section_contents): Ditto.
|
||
* vms-misc.c (_bfd_save_vms_section): Ditto.
|
||
* vms.c (vms_set_section_contents): Ditto.
|
||
* vms.h (_bfd_save_vms_section): Ditto.
|
||
|
||
2003-11-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc_size_one_stub): Size relbrlt. Accept info arg
|
||
rather than htab.
|
||
(ppc64_elf_size_stubs): Adjust ppc_size_one_stub traversal. Zero
|
||
relbrlt size.
|
||
(ppc64_elf_build_stubs): Allocate space for relbrlt.
|
||
|
||
2003-11-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd-in.h (_bfd_elf_tls_setup): Declare.
|
||
* bfd-in2.h: Regenerate.
|
||
* elf-bfd.h (struct elf_link_tls_segment): Delete.
|
||
(struct elf_link_hash_table): Add tls_sec and tls_size.
|
||
* elf.c (_bfd_elf_link_hash_table_init): Init tls_sec and tls_size.
|
||
* elflink.c (_bfd_elf_tls_setup): New function.
|
||
* elflink.h (struct elf_final_link_info): Remove first_tls_sec.
|
||
(elf_bfd_final_link): Don't set first_tls_sec here. Update code
|
||
saving tls segment info, round segment size up.
|
||
(elf_link_output_extsym): Adjust code using tls segment info.
|
||
(elf_link_input_bfd): Likewise.
|
||
* elf32-i386.c (dtpoff_base, tpoff): Likewise.
|
||
* elf32-s390.c (dtpoff_base, tpoff): Likewise.
|
||
* elf32-sh.c (dtpoff_base, tpoff): Likewise.
|
||
* elf32-sparc.c (dtpoff_base, tpoff): Likewise.
|
||
* elf64-s390.c (dtpoff_base, tpoff): Likewise.
|
||
* elf64-x86-64.c (dtpoff_base, tpoff): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_tprel_base): Likewise.
|
||
(elfNN_ia64_dtprel_base): Likewise.
|
||
* elf64-alpha.c (alpha_get_dtprel_base): Likewise.
|
||
(alpha_get_tprel_base): Likewise.
|
||
(struct alpha_relax_info): Remove tls_segment.
|
||
(elf64_alpha_relax_got_load): Adjust invocation of
|
||
alpha_get_dtprel_base and alpha_get_tprel_base.
|
||
(elf64_alpha_relax_tls_get_addr): Likewise.
|
||
(elf64_alpha_relax_section): Likewise.
|
||
(elf64_alpha_relocate_section): Likewise.
|
||
(elf64_alpha_relax_find_tls_segment): Delete.
|
||
* elf32-ppc.c (struct ppc_elf_link_hash_table): Remove tls_sec.
|
||
(ppc_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
|
||
(ppc_elf_relocate_section): Adjust to use elf.tls_sec.
|
||
* elf32-ppc.h (ppc_elf_tls_setup): Update.
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Remove tls_sec.
|
||
(ppc64_elf_tls_setup): Call _bfd_elf_tls_setup. Return section.
|
||
(ppc64_elf_tls_optimize): Adjust to use elf.tls_sec.
|
||
(ppc64_elf_relocate_section): Likewise.
|
||
* elf64-ppc.h (ppc64_elf_tls_setup): Update.
|
||
|
||
2003-11-03 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Remove plt_header_size.
|
||
* elf-m10300.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-arm.h (elf_backend_plt_header_size): Don't define.
|
||
* elf32-cris.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-i386.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-mips.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-ppc.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-s390.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-sh.c (elf_backend_plt_header_size): Don't define.
|
||
* elf32-sparc.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-alpha.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-hppa.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-mips.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-ppc.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-s390.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-sh64.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-sparc.c (elf_backend_plt_header_size): Don't define.
|
||
* elf64-x86-64.c (elf_backend_plt_header_size): Don't define.
|
||
* elfn32-mips.c (elf_backend_plt_header_size): Don't define.
|
||
* elfxx-ia64.c (elf_backend_plt_header_size): Don't define.
|
||
* elfxx-target.h (elf_backend_plt_header_size): Don't define
|
||
or include in target initializer.
|
||
|
||
2003-11-03 Andrew Cagney <cagney@redhat.com>
|
||
|
||
* section.c (bfd_set_section_contents): Make the "location" buffer
|
||
constant.
|
||
* bfd-in2.h: Re-generate.
|
||
|
||
2003-10-30 Andrew Cagney <cagney@redhat.com>
|
||
|
||
* syms.c: Replace "struct symbol_cache_entry" with "struct
|
||
bfd_symbol".
|
||
* vms.h, targets.c, section.c, reloc.c, peicode.h: Ditto.
|
||
* mipsbsd.c, elf.c, linker.c, elf-bfd.h, ecoff.c: Ditto.
|
||
* cpu-z8k.c, cpu-ns32k.c, cpu-h8500.c, bfd.c, bfd-in.h: Ditto.
|
||
* bfd-in2.h: Re-generate.
|
||
|
||
2003-10-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c: Include objalloc.h, hashtab.h.
|
||
(struct elfNN_ia64_local_hash_entry): Remove root. Add id and r_sym
|
||
fields.
|
||
(struct elfNN_ia64_local_hash_table): Remove.
|
||
(struct elfNN_ia64_link_hash_table): Change loc_hash_table's type
|
||
to htab_t. Add loc_hash_memory field.
|
||
(elfNN_ia64_local_hash_table_init, elfNN_ia64_new_loc_hash_entry):
|
||
Removed.
|
||
(elfNN_ia64_local_htab_hash, elfNN_ia64_local_htab_eq): New
|
||
functions.
|
||
(elfNN_ia64_hash_table_create): Use hashtab.h hashtable for
|
||
loc_hash_table. Initialize loc_hash_memory.
|
||
(elfNN_ia64_hash_table_free): New function.
|
||
(elfNN_ia64_local_hash_lookup): Remove.
|
||
(elfNN_ia64_local_dyn_sym_thunk): Change into htab_traverse
|
||
callback.
|
||
(elfNN_ia64_dyn_sym_traverse): Use htab_traverse.
|
||
(get_local_sym_hash): Use hashtab.h hashtable for loc_hash_table.
|
||
(bfd_elfNN_bfd_link_hash_table_free): Define.
|
||
|
||
2003-10-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Modify versioned
|
||
symbol string in place.
|
||
|
||
2003-10-30 Jim Blandy <jimb@redhat.com>
|
||
|
||
* cpu-rs6000.c (rs6000_compatible): Check the correct arch_info
|
||
object's mach field: all PowerPC machines are supersets of the
|
||
original rs6000, but not later rs6000 machines.
|
||
|
||
2003-10-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* dwarf2.c (struct attribute): Delete "unsnd", "snd" and "addr".
|
||
Add "val" and "sval" fields.
|
||
(DW_STRING, DW_UNSND, DW_BLOCK, DW_SND, DW_ADDR): Delete.
|
||
(read_attribute_value): Expand and adjust DW_* occurrences.
|
||
(scan_unit_for_functions, parse_comp_unit): Likewise.
|
||
|
||
2003-10-30 Phil Edwards <phil@codesourcery.com>
|
||
|
||
* config.bfd (arm-*-vxworks): Remove separate stanza; merge with
|
||
other common ELF triples.
|
||
(i[3-7]86-*-vxworks): Change to ELF format.
|
||
(mips*-*-windiss): New triple, add to common MIPS/ELF stanza.
|
||
(sh-*-vxworks): New stanza.
|
||
|
||
2003-10-30 Lars Knoll <lars@trolltech.com>
|
||
Michael Matz <matz@suse.de>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* merge.c (struct sec_merge_sec_info): Update comment.
|
||
(struct sec_merge_hash_entry): Remove entsize.
|
||
(sec_merge_hash_lookup): Only adjust alignment when creating.
|
||
(sec_merge_emit): Remove register keyword.
|
||
(cmplengthentry, last4_eq, last_eq): Delete.
|
||
(strrevcmp, strrevcmp_align, is_suffix): New.
|
||
(merge_strings): Use them to implement fast suffix merging.
|
||
* elf-strtab.c (struct elf_strtab_hash_entry): Update comments.
|
||
Make "len" signed.
|
||
(_bfd_elf_strtab_add): Lose on >2G strings.
|
||
(_bfd_elf_strtab_emit): Don't emit strings with len < 0.
|
||
(cmplengthentry, last4_eq): Delete.
|
||
(strrevcmp, is_suffix): New.
|
||
(_bfd_elf_strtab_finalize): Rework to implement fast suffix merging.
|
||
|
||
2003-10-29 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf32-arm.h (elf32_arm_final_link_relocate): Move check for
|
||
SEC_ALLOC.
|
||
|
||
2003-10-29 Philip Blundell <philb@gnu.org>
|
||
|
||
* elf32-arm.h (elf32_arm_plt0_entry, elf32_arm_plt_entry): New
|
||
code sequence.
|
||
(PLT_HEADER_SIZE): New.
|
||
(struct elf32_arm_pcrel_relocs_copied): Rename to ...
|
||
(struct elf32_arm_relocs_copied): ... this. Count both
|
||
pcrel and non-pcrel relocs. All uses updated.
|
||
(struct elf32_arm_link_hash_table): Add pointers to dynamic linker
|
||
sections and symbol/section mapping cache.
|
||
(create_got_section): New.
|
||
(elf32_arm_create_dynamic_sections): New.
|
||
(elf_backend_create_dynamic_sections): Use it.
|
||
(elf32_arm_final_link_relocate): Support garbage collection of relocs.
|
||
(elf32_arm_check_relocs): Likewise.
|
||
(elf32_arm_adjust_dynamic_symbol): Likewise.
|
||
(elf32_arm_copy_indirect_symbol): New.
|
||
(elf32_arm_link_hash_table_create): Initialise new fields.
|
||
(elf32_arm_gc_sweep_hook): Implement.
|
||
(elf32_arm_discard_copies): Delete.
|
||
(elf32_arm_finish_dynamic_symbol): Use new PLT code.
|
||
(elf32_arm_finish_dynamic_sections): Likewise.
|
||
(elf_backend_can_refcount): Define.
|
||
(elf_backend_copy_indirect_symbol): Likewise.
|
||
(elf_backend_plt_header_size): Set to PLT_HEADER_SIZE.
|
||
|
||
2003-10-29 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (elf_backend_grok_prstatus): Define.
|
||
(elf_backend_grok_psinfo): Define.
|
||
(ppc64_elf_grok_prstatus, ppc64_elf_grok_psinfo): New functions.
|
||
|
||
* elf.c (_bfd_elfcore_make_pseudosection): Allow multiple
|
||
sections with the same name.
|
||
(elfcore_grok_lwpstatus): Likewise.
|
||
(elfcore_grok_win32pstatus): Likewise.
|
||
(elfcore_grok_note): Likewise.
|
||
(elfcore_grok_nto_status): Likewise.
|
||
(elfcore_grok_nto_gregs): Likewise.
|
||
|
||
2003-10-27 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Never skip dynamic
|
||
objects.
|
||
|
||
2003-10-14 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_got_section): Initialize global_gotno.
|
||
|
||
2003-10-24 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Look up
|
||
hash table for real symbols.
|
||
|
||
2003-10-23 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* section.c (asection): Fix typo in comment.
|
||
|
||
2003-10-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (get_tls_mask): Add toc_symndx param, save toc
|
||
reloc symbol index to it. Don't allow gd syms in shared libs
|
||
to be optimized.
|
||
(ppc64_elf_tls_optimize): Adjust get_tls_mask call.
|
||
(ppc64_elf_size_stubs): Likewise.
|
||
(ppc64_elf_relocate_section): Check that tls relocs are only used
|
||
with tls syms, and similarly for non-tls. Correct symbol used
|
||
when optimizing toc tls code.
|
||
|
||
2003-10-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* peicode.h (coff_swap_scnhdr_in): Only remove padding when
|
||
processing an executable.
|
||
|
||
2003-10-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elflink.c (_bfd_elf_export_symbol): Adjust for globals and locals
|
||
field changes.
|
||
(_bfd_elf_link_assign_sym_version): Likewise.
|
||
* elflink.h (size_dynamic_sections): Likewise.
|
||
|
||
2003-10-21 Alexandre Oliva <aoliva@redhat.com>,
|
||
Michael Snyder <msnyder@redhat.com>
|
||
|
||
* archures.c (bfd_mach_sh4a, bfd_mach_sh4al_dsp, bfd_mach_sh4_nofpu,
|
||
bfd_mach_sh4a_nofpu): New machine types.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-sh.c (compatible): Remove unused function.
|
||
(SH4A_NEXT, SH4AL_DSP_NEXT, SH4_NOFPU_NEXT, SH4A_NOFPU_NEXT): New.
|
||
(arch_info_struct): Add sh4a, sh4al_dsp, sh4-nofpu and sh4a-nofpu.
|
||
* elf32-sh.c (sh_elf_set_mach_from_flags): Handle them.
|
||
|
||
2003-10-21 Wouter van Heyst <wouter@vidicode.nl>
|
||
|
||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Correct text
|
||
describing mismatched formats involving the Maverick FP type.
|
||
|
||
2003-10-21 Anil Paranjpe <anilp1@KPITCummins.com>
|
||
|
||
* binary.c (binary_object_p): Pass machine flag along with
|
||
architecture.
|
||
|
||
2003-10-21 Thorsten Brehm <brehm@gmx.net>
|
||
|
||
* archures.c (bfd_default_scan): Add support for mcf528x.
|
||
* ieee.c (ieee_write_processor): Likewise.
|
||
|
||
2003-10-21 Peter Barada <pbarada@mail.wm.sps.mot.com>
|
||
Bernardo Innocenti <bernie@develer.com>
|
||
|
||
* archures.c: Add MCF528x (MCFv4) support.
|
||
* cpu-m68k.c (arch_info_struct): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-10-20 Andrew Cagney <cagney@redhat.com>
|
||
|
||
* targets.c: Replace "struct sec" with "struct bfd_section"
|
||
* syms.c, sparclynx.c, section.c, opncls.c: Ditto.
|
||
* libcoff-in.h, libbfd-in.h, elfxx-target.h: Ditto.
|
||
* elf.c, coffgen.c, bfd.c, bfd-in.h, aoutf1.h: Ditto.
|
||
* aout-tic30.c, aout-target.h:
|
||
* bfd-in2.h, libcoff.h, libbfd.h: Regenerate.
|
||
|
||
2003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
Support linker relaxation of new R_MMIX_PUSHJ_STUBBABLE relocs.
|
||
* elf64-mmix.c (MAX_PUSHJ_STUB_SIZE): New macro.
|
||
(struct _mmix_elf_section_data): New member pjs.
|
||
(mmix_set_relaxable_size, mmix_elf_get_section_contents): New
|
||
functions.
|
||
(elf_mmix_howto_table): New entry for R_MMIX_PUSHJ_STUBBABLE.
|
||
(mmix_reloc_map): Ditto.
|
||
(mmix_elf_relocate_section): Handle R_MMIX_PUSHJ_STUBBABLE.
|
||
(mmix_final_link_relocate, mmix_elf_check_common_relocs): Ditto.
|
||
(mmix_elf_perform_relocation): Ditto. Don't mark parameter addr
|
||
unused.
|
||
(mmix_elf_check_relocs): Move early return to after
|
||
mmix_elf_check_common_relocs call.
|
||
(mmix_elf_symbol_processing): Fix cut-and-pasto in head comment.
|
||
(_bfd_mmix_before_linker_allocation): Rename from
|
||
_bfd_mmix_prepare_linker_allocated_gregs. All referers changed.
|
||
Arrange to set the initial relaxable size of sections.
|
||
(_bfd_mmix_after_linker_allocation): Rename from
|
||
_bfd_mmix_finalize_linker_allocated_gregs.
|
||
(mmix_elf_relax_section): Relax a R_MMIX_PUSHJ_STUBBABLE reloc.
|
||
(bfd_elf64_get_section_contents): Define.
|
||
* reloc.c: Add ENUMX for BFD_RELOC_MMIX_PUSHJ_STUBBABLE.
|
||
* libbfd.h, bfd-in2.h: Regenerate.
|
||
|
||
* reloc.c (bfd_generic_relax_section): Default-set
|
||
section->_cooked_size here.
|
||
(bfd_generic_get_relocated_section_contents): Don't set it here.
|
||
Explain why.
|
||
|
||
2003-10-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Skip relocation if
|
||
output section has been discarded.
|
||
|
||
2003-10-17 Shrinivas Atre <shrinivasa@KPITCummins.com>
|
||
|
||
* coff-h8300.c (funcvec_hash_newfunc): Handle normal mode.
|
||
(h8300_reloc16_extra_cases): Likewise.
|
||
(h8300_bfd_link_add_symbols): Likewise.
|
||
|
||
2003-10-17 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
|
||
|
||
* cpu-h8300.c (h8300sxn_info_struct): Correct address size.
|
||
(h8300sn_info_struct): Likewise.
|
||
(h8300hn_info_struct): Likewise.
|
||
|
||
2003-10-16 Pavel Roskin <proski@gnu.org>
|
||
|
||
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Don't calculate image size
|
||
for sections which lack size info.
|
||
|
||
2003-10-17 Danny Smith <dannysmith@users.sourceforge.net>
|
||
|
||
* configure.host: Add __USE_MINGW_FSEEK to HDEFINES for
|
||
mingw32.
|
||
|
||
2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Also warn
|
||
undefined patterns with '*'.
|
||
|
||
2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't
|
||
use the last CIE from a different section.
|
||
(_bfd_elf_write_section_eh_frame): Don't pad beyond the raw
|
||
size of the output section.
|
||
|
||
2003-10-07 Roland McGrath <roland@redhat.com>
|
||
|
||
* elf.c (_bfd_elf_make_section_from_phdr): Set alignment_power of
|
||
new section from p_align header field.
|
||
|
||
2003-10-16 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf32-xtensa.c (xtensa_read_table_entries): The external size
|
||
of entry is 8 bytes.
|
||
|
||
2003-10-15 Andrew Cagney <cagney@redhat.com>
|
||
|
||
* targets.c (BFD_JUMP_TABLE_SYMBOLS): Replace NAME##_get_symtab
|
||
with NAME##_canonicalize_symtab.
|
||
* libcoff-in.h (coff_canonicalize_symtab): Update.
|
||
* xsym.h (bfd_sym_canonicalize_symtab): Update.
|
||
* elf-bfd.h (_bfd_elf_canonicalize_symtab): Update.
|
||
* coffgen.c (coff_canonicalize_symtab): Update.
|
||
* libbfd-in.h (_bfd_nosymbols_canonicalize_symtab): Update.
|
||
* libnlm.h (nlmNAME(canonicalize_symtab)): Update.
|
||
* ieee.c (ieee_vec): Update comment.
|
||
* libecoff.h (_bfd_ecoff_canonicalize_symtab): Update.
|
||
* mmo.c (mmo_canonicalize_symtab): Update.
|
||
* nlm-target.h (nlm_canonicalize_symtab): Update.
|
||
* nlmcode.h (nlm_canonicalize_symtab): Update.
|
||
* i386msdos.c (msdos_canonicalize_symtab): Update.
|
||
* hp300hpux.c (MY (canonicalize_symtab)): Update.
|
||
* oasys.c (oasys_canonicalize_symtab): Update.
|
||
* som.c (som_canonicalize_symtab): Update.
|
||
* pef.c (bfd_pef_canonicalize_symtab): Update.
|
||
* nlmcode.h (nlm_canonicalize_symtab): Update.
|
||
* xsym.c (bfd_sym_canonicalize_symtab): Update.
|
||
* vms.c (vms_canonicalize_symtab): Update.
|
||
* versados.c (versados_canonicalize_symtab): Update.
|
||
* mach-o.c (bfd_mach_o_canonicalize_symtab): Update.
|
||
* ieee.c (ieee_canonicalize_symtab): Update.
|
||
* pdp11.c (NAME(aout,canonicalize_symtab)): Update.
|
||
* reloc.c: Update comment.
|
||
* libaout.h (NAME(aout,canonicalize_symtab)): Update.
|
||
* coff64-rs6000.c (aix5coff64_vec): Update.
|
||
* coff64-rs6000.c (bfd_xcoff_aix5_backend_data): Update.
|
||
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update.
|
||
* aoutx.h (NAME(aout,canonicalize_symtab)): Update.
|
||
* elfxx-target.h (bfd_elfNN_canonicalize_symtab): Update.
|
||
* hp300hpux.c (MY_canonicalize_symtab): Update.
|
||
* ecoff.c (_bfd_ecoff_canonicalize_symtab): Update.
|
||
* aout-tic30.c (MY_canonicalize_symtab): Update.
|
||
* aout-target.h (MY_canonicalize_symtab): Update.
|
||
* ppcboot.c (ppcboot_canonicalize_symtab): Update.
|
||
* elf.c (_bfd_elf_canonicalize_symtab): Update.
|
||
* elfcode.h (elf_canonicalize_symtab): Update.
|
||
* ihex.c (ihex_canonicalize_symtab): Update.
|
||
* tekhex.c (tekhex_canonicalize_symtab): Update.
|
||
* binary.c (binary_canonicalize_symtab): Update.
|
||
* srec.c (srec_canonicalize_symtab): Update.
|
||
|
||
2003-10-15 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* elf32-h8300.c (elf_reloc_map): Fix a comment typo.
|
||
|
||
2003-10-15 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_relocate_section): Handle R_SH_IMM_*_PCREL
|
||
relocations.
|
||
(sh_elf_check_relocs): Likewise.
|
||
|
||
* elf32-sh64.c (elf_backend_merge_symbol_attribute): Define.
|
||
(sh64_elf_merge_symbol_attribute): New.
|
||
* elf64-sh64.c (elf_backend_merge_symbol_attribute): Define.
|
||
(sh64_elf64_merge_symbol_attribute): New.
|
||
|
||
2003-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): New function pointer member
|
||
elf_backend_merge_symbol_attribute.
|
||
* elflink.h (elf_link_add_object_symbols): Adjust call to
|
||
elf_backend_merge_symbol_attribute if the backend defined it.
|
||
* elfxx-target.h (elf_backend_merge_symbol_attribute): New macro.
|
||
(elfNN_bed): Add that to the initializer.
|
||
|
||
2003-10-14 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elf32-xtensa.c (get_is_linkonce_section): Delete.
|
||
(xtensa_is_property_section, xtensa_is_littable_section): Use
|
||
XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Do not recognize
|
||
linkonce sections containing ".xt.insn" and ".xt.lit" substrings.
|
||
(xtensa_get_property_section_name): Check section name instead of
|
||
calling get_is_linkonce_section. Remove unused bfd parameter. Use
|
||
XTENSA_INSN_SEC_NAME and XTENSA_LIT_SEC_NAME macros. Never generate
|
||
linkonce section names by appending ".xt.insn" or ".xt.lit".
|
||
(xtensa_read_table_entries): Remove bfd argument in call to
|
||
xtensa_get_property_section_name. Free section name when done.
|
||
(elf_xtensa_combine_prop_entries): Free leaking table.
|
||
|
||
2003-10-13 Richard Sandiford <rsandifo@redht.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_size_dynamic_sections): Don't add
|
||
DT_MIPS_LIBLIST or DT_MIPS_CONFLICT entries.
|
||
(_bfd_mips_elf_finish_dynamic_symbol): Don't handle them. Don't
|
||
handle DT_MIPS_MSYM. Set DT_RELSZ based on the number of relocations
|
||
that were needed.
|
||
(_bfd_mips_elf_modify_segment_map): Fix placement of PT_MIPS_OPTIONS.
|
||
(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_UCODE.
|
||
|
||
2003-10-13 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* bfd-in.h (bfd_elf32_ia64_after_parse): New prototype.
|
||
(bfd_elf64_ia64_after_parse): Likewise.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
* elfxx-ia64.c (oor_ip): New.
|
||
(oor_branch_size): Likewise.
|
||
(bfd_elfNN_ia64_after_parse): Likewise.
|
||
(elfNN_ia64_relax_section): Use oor_ip if oor_branch_size
|
||
equals sizeof (oor_ip).
|
||
|
||
2003-10-12 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Tidy up for the
|
||
renumbering of some relocation numbers.
|
||
|
||
2003-10-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-sh.c: Move definition of MAP and guard more code with
|
||
COFF_IMAGE_WITH_PE.
|
||
|
||
* section.c (bfd_get_section_size_before_reloc): Ignore reloc_done.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-10-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Likewise.
|
||
|
||
2003-10-09 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* cofflink.c: Include "safe-ctype.h".
|
||
(coff_link_add_symbols): Use ISDIGIT instead of isdigit.
|
||
|
||
2003-10-08 Dave Brolley <brolley@redhat.com>
|
||
On behalf of Michael Snyder <msnyder@redhat.com>
|
||
|
||
* archures.c: Add FRV fr550 machine.
|
||
* cpu-frv.c: Ditto.
|
||
* elf32-frv.c: Ditto.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-10-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (STUB_MOVE,STUB_LI16): Fix stub code
|
||
for non-SGI N64 ABI. Improve code consitency.
|
||
|
||
2003-10-07 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf32-frv.c (elf32_frv_howto_table): Set R_FRV_LABEL16's
|
||
rightshift to 2.
|
||
|
||
2003-10-07 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* libbfd-in.h (_bfd_link_section_stabs): Add string offset
|
||
parameter.
|
||
* cofflink.c (coff_link_add_symbols): Deal with split stab
|
||
sections.
|
||
* elflink.h (elf_link_add_object_symbols): Deal with split stab
|
||
sections.
|
||
* stabs.c (_bfd_link_section_stabs): Add string offset parameter.
|
||
* libbfd.h: Regenerated.
|
||
|
||
* coffcode.h (coff_set_alignment_hook): With PE_COFF reloc
|
||
overflow, set reloc start position to after the count
|
||
reloc. Subtract one from num relocs. Give error on 0xffff relocs
|
||
and no overflow.
|
||
* cofflink.c (_bfd_coff_final_link): Deal with PE_COFF reloc
|
||
overflow.
|
||
* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Do overflow if >=
|
||
0xffff.
|
||
|
||
2003-10-06 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Pad the
|
||
last CIE/FDE if needed.
|
||
|
||
2003-10-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
* targets.c (_bfd_target_vector): Include bfd_elf64_sparc_vec if
|
||
BFD64 is enabled.
|
||
|
||
2003-10-06 Matt Thomas <matt@3am-software.com>
|
||
|
||
* config.bfd: Move the hppa*-*-netbsd* case to the hppa*-*-linux* case.
|
||
|
||
2003-10-06 Robert Millan <robertmh@gnu.org>
|
||
|
||
* configure.in: Match GNU/KNetBSD with new knetbsd*-gnu triplet.
|
||
* config.bfd: Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2003-10-04 Christian Groessler <chris@groessler.org>
|
||
|
||
* coff-z8k.c (extra_case): Fix displacement length check for R_JR
|
||
and R_CALLR.
|
||
|
||
2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc1x.c: Update to ISO C90; replace PTR with void*.
|
||
* elf32-m68hc11.c: Likewise.
|
||
* elf32-m68hc12.c: Likewise.
|
||
* elf32-m68hc1x.h: Likewise.
|
||
|
||
2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Fix merge
|
||
of flags between HC12 and HCS12.
|
||
|
||
2003-10-04 Bryce McKinlay <bryce@mckinlay.net.nz>
|
||
|
||
* merge.c (_bfd_merge_sections): Set SEC_EXCLUDE flag on sections
|
||
which become empty after merging.
|
||
|
||
2003-09-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c (ia64_howto_table): Fix size of R_IA64_TPREL64[LM]SB,
|
||
R_IA64_DTPREL{32,64}[LM]SB and R_IA64_DTPMOD64[LM]SB.
|
||
|
||
2003-09-30 Chris Demetriou <cgd@broadcom.com>
|
||
|
||
* archures.c (bfd_mach_mipsisa64r2): New define.
|
||
* bfd-in2.h: Regenerate.
|
||
* aoutx.h (NAME(aout,machine_type)): Handle bfd_mach_mipsisa64r2.
|
||
* cpu-mips.c (I_mipsisa64r2): New enum value.
|
||
(arch_info_struct): Add entry for I_mipsisa64r2.
|
||
* elfxx-mips.c (_bfd_elf_mips_mach)
|
||
(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_64R2.
|
||
(mips_set_isa_flags): Add bfd_mach_mipsisa64r2 case.
|
||
(mips_mach_extensions): Add entry for bfd_mach_mipsisa64r2.
|
||
|
||
2003-09-29 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_hpux_backend_symbol_processing): New.
|
||
Handle SHN_IA_64_ANSI_COMMON.
|
||
(elf_backend_section_from_bfd_section): Defined.
|
||
|
||
2003-09-26 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.c (elf_link_read_relocs_from_section): Add an argument
|
||
of a pointer to section. Check bad symbol index.
|
||
(_bfd_elf_link_read_relocs): Modify calls to
|
||
elf_link_read_relocs_from_section.
|
||
|
||
2003-09-23 DJ Delorie <dj@redhat.com>
|
||
|
||
* elf32-sh.c (sh_elf_howto_table): R_SH_SWITCH8,
|
||
R_SH_GNU_VTINHERIT, R_SH_GNU_VTENTRY,
|
||
R_SH_LOOP_START,R_SH_LOOP_END moved to "reserved" spaces,
|
||
R_SH_DIR16, R_SH_DIR8, R_SH_DIR8UL, R_SH_DIR8UW, R_SH_DIR8U,
|
||
R_SH_DIR8SW, R_SH_DIR8S, R_SH_DIR4UL, R_SH_DIR4UW, R_SH_DIR4U,
|
||
R_SH_PSHA, R_SH_PSHL added.
|
||
(sh_reloc_map): Add R_SH_DIR16 and R_SH_DIR8.
|
||
(sh_elf_relocate_section): Support new relocs.
|
||
|
||
2003-09-23 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elf32-xtensa.c (elf_xtensa_relocate_section): Fix typo that clobbered
|
||
dynamic relocation offsets.
|
||
|
||
2003-09-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Free the
|
||
hash table using _bfd_generic_link_hash_table_free.
|
||
|
||
2003-09-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct bfd_elf_special_section): Remove "suffix". Change
|
||
type of prefix_length and suffix_length to int. Rename "attributes"
|
||
to "attr". Comment.
|
||
(_bfd_elf_get_sec_type_attr): Update prototype.
|
||
* elf.c (get_special_section): Rewrite.
|
||
(_bfd_elf_get_sec_type_attr): Return struct rather than passing in
|
||
attr and type pointers.
|
||
(_bfd_elf_new_section_hook): Adjust for above.
|
||
(special_sections): Merge suffix with prefix. Set
|
||
prefix_length for all entries. Set suffix_length appropriately.
|
||
* elf32-m32r.c (m32r_elf_special_sections): Likewise.
|
||
* elf32-m68hc11.c (elf32_m68hc11_special_sections): Likewise.
|
||
* elf32-m68hc12.c (elf32_m68hc12_special_sections): Likewise.
|
||
* elf32-mcore.c (mcore_elf_special_sections): Likewise.
|
||
* elf32-sh64.c (sh64_elf_special_sections): Likewise.
|
||
* elf32-v850.c (v850_elf_special_sections): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_special_sections): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_special_sections): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_special_sections): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_special_sections): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_special_sections): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_special_sections): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_special_sections): Likewise.
|
||
* elf32-ppc.c (ppc_elf_special_sections): Likewise. Fix .plt flags.
|
||
|
||
2003-09-21 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_create_got_section): Initialize
|
||
->got if the section already exists.
|
||
|
||
2003-09-19 Nathan Sidwell <nathan@codesourcery.com>
|
||
|
||
* dwarf2.c (decode_line_info): Cope with an initially empty
|
||
filename table.
|
||
|
||
2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* acinclude.m4: Include ../config/accross.m4.
|
||
* aclocal.m4: Regenerated.
|
||
|
||
* configure.host (HOST_64BIT_TYPE): Remove if it is set to long
|
||
or long long.
|
||
(HOST_U_64BIT_TYPE): Remove if it is set to unsigned long long.
|
||
(host64): Remove if HOST_64BIT_TYPE is set to long.
|
||
|
||
* configure.in (HOST_64BIT_TYPE): Set according to the size of
|
||
long and long long.
|
||
(HOST_U_64BIT_TYPE): Likewise.
|
||
(host64): Likewise.
|
||
* configure: Regenerated.
|
||
|
||
2003-09-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (elfcore_write_note): Don't use sizeof(Elf_External_note)
|
||
since some ABIs round up the size of the struct.
|
||
|
||
2003-09-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.c (_bfd_elf_merge_symbol): Allow type change if
|
||
the old symbol is undefined and the new symbol is defined.
|
||
|
||
2003-09-18 Andreas Schwab <schwab@suse.de>
|
||
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Use
|
||
_bfd_generic_link_hash_table_create instead of
|
||
bfd_link_hash_table_create.
|
||
|
||
2003-09-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_special_sections): Mark all sections
|
||
started with ".sbss" or "".sdata" as SHF_IA_64_SHORT.
|
||
|
||
2003-09-10 John David Anglin <dave.anglin@nrc-cnrc.nrc.ca>
|
||
Randolph Chung <randolph@tausq.org>
|
||
|
||
* elf32-hppa.c (struct elf32_hppa_link_hash_entry,
|
||
hppa_link_hash_newfunc, hppa_build_one_stub,
|
||
elf32_hppa_adjust_dynamic_symbol, mark_PIC_calls, allocate_plt_static,
|
||
allocate_dynrelocs, elf32_hppa_size_dynamic_sections,
|
||
elf32_hppa_finish_dynamic_symbol): Remove pic_call field and all code
|
||
for generating import stubs for calls to statically linked PIC
|
||
functions.
|
||
(hppa_type_of_stub): Don't generate an import stub for calls to
|
||
statically linked pic functions. Generate import stubs for calls
|
||
in a shared object, to functions not in a regular file, and to
|
||
defined weak functions. Add new argument INFO.
|
||
(hppa_build_one_stub): Don't undef ADDIL_DP.
|
||
(elf32_hppa_check_relocs): Don't set SEC_HAS_GOT_REF flag.
|
||
(elf32_hppa_size_stubs): Pass info to hppa_type_of_stub.
|
||
(final_link_relocate): Change all DLTIND relocs to DPREL relocs in a
|
||
non-shared link. Convert instructions that use the linkage table
|
||
pointer, or a facsimile thereof, to use the global data pointer when
|
||
the reloc has been changed.
|
||
|
||
2003-09-08 Joel Brobecker <brobecker@gnat.com>
|
||
|
||
* archures.c: Add new machine names for hppa.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-hppa.c: Use the new machine names.
|
||
|
||
2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc1x.h (struct m68hc11_elf_link_hash_table): Remove
|
||
all_local_syms member.
|
||
* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Use bfd_elf_get_elf_syms
|
||
to get the local symbols.
|
||
|
||
2003-09-06 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc12.c (elf32_m68hc12_special_sections): New for hc11.
|
||
(elf_backend_special_sections): Define.a
|
||
|
||
PR savannah/4950:
|
||
* elf32-m68hc11.c (elf32_m68hc11_special_sections): The .vectors
|
||
section is read-only.
|
||
|
||
2003-09-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* archures.c (bfd_mach_v850e1): Define.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-v850.h (scan): Accept bfd_mach_v850e1.
|
||
(arch_info_struct): Include an entry for bfd_mach_v850e1.
|
||
* elf32-v850.c (v850_elf_object_p): Accept E_V850E1_ARCH flag.
|
||
(v850_elf_final_write_processing): Accept bfd_mach_v850e1.
|
||
(v850_elf_print_private_bfd_data): Interpret E_V850E1_ARCH flag.
|
||
(v850_elf_merge_private_bfd_data): Allow v850e1 binaries to be
|
||
linked with v850e binaries. Mark the output as v850e.
|
||
|
||
2003-09-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* cofflink.c (_bfd_coff_link_input_bfd): Do not skip section
|
||
symbols that are used in relocs.
|
||
|
||
2003-08-30 Robert Millan <robertmh@gnu.org>
|
||
|
||
* configure.in: Match GNU/KFreeBSD with new kfreebsd*-gnu triplet.
|
||
* config.bfd: Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2003-08-31 Christian Groessler <chris@groessler.org>
|
||
|
||
* elf32-i860.c (i860_howto_pc26_reloc): Finish relocation here
|
||
instead of returning bfd_reloc_continue.
|
||
|
||
2003-08-31 Andreas Jaeger <aj@suse.de>
|
||
|
||
* merge.c: Update to ISO C90.
|
||
|
||
2003-08-27 Ian Lance Taylor <ian@airs.com>
|
||
|
||
* configure.in: Check for strtoull.
|
||
* bfd.c (bfd_scan_vma): Use strtoull when available.
|
||
* configure, config.in: Regenerate.
|
||
|
||
* configure.in: Define and substitute BFD_HOST_LONG_LONG.
|
||
* bfd-in.h: Define BFD_HOST_LONG_LONG. Test it rather than
|
||
__GNUC__ when deciding whether to use long long for
|
||
BFD_HOST_64_BIT.
|
||
* configure, Makefile.in, doc/Makefile.in, bfd-in2.h: Regenerate.
|
||
|
||
2003-08-27 Christian Groessler <chris@groessler.org>
|
||
|
||
* elf32-i860.c (i860_howto_pc26_reloc, i860_howto_pc16_reloc,
|
||
i860_howto_splitn_reloc, i860_howto_highadj_reloc): New
|
||
functions.
|
||
(elf32_i860_howto_table): Insert the new functions as
|
||
'special_function's in the proper reloc type entries.
|
||
|
||
2003-08-27 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elf32-frv.c (elf32_frv_relocate_section): Use
|
||
_bfd_elf_rela_local_sym.
|
||
|
||
2003-08-26 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* cpu-frv.c: Remove unused enum.
|
||
|
||
2003-08-25 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
||
|
||
* reloc.c: Fix documentation for MIPS ELF relocations.
|
||
libbfd.h: Regenerate.
|
||
bfd-in2.h: Regenerate.
|
||
|
||
2003-08-24 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* coff-i860.c (CALC_ADDEND): Define to be a no-op.
|
||
|
||
2003-08-24 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* elf32-i860.c (elf32_i860_relocate_pc16): Subtract 4 and
|
||
shift by 2 before storing the relocated value.
|
||
|
||
2003-08-23 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* coff-i860.c (coff_i860_reloc_nyi): New function.
|
||
(howto_table): Add entries for relocations PAIR, HIGHADJ, HIGH,
|
||
LOWn, SPLITn, and BRADDR.
|
||
(RTYPE2HOWTO): Check that the r_type is within the howto_table
|
||
before trying to access the entry.
|
||
(coff_i860_rtype_to_howto): Likewise.
|
||
(coff_i860_reloc_type_lookup): New function.
|
||
(i860_reloc_processing): New function.
|
||
(coff_bfd_reloc_type_lookup): Define macro.
|
||
(RELOC_PROCESSING): Define macro.
|
||
Minor formatting adjustments.
|
||
|
||
2003-08-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Don't crash on NULL owner.
|
||
|
||
2003-08-22 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_create_dynamic_sections): Align the
|
||
.got section at 8 bytes.
|
||
|
||
2003-08-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* cofflink.c: Update to ISO C90 and tidy up formatting.
|
||
|
||
2003-08-21 Randolph Chung <tausq@debian.org>
|
||
|
||
* elf32-hppa.c (elf32_hppa_object_p): For elf32-hppa-linux, objects
|
||
can have OSABI=Linux or OSABI=SysV. Check for both.
|
||
* elf64-hppa.c (elf64_hppa_object_p): Likewise.
|
||
|
||
2003-08-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2003-08-20 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elf64-mips.c (elf_backend_copy_indirect_symbol): Define.
|
||
|
||
2003-08-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf-bfd.h (RELOC_FOR_GLOBAL_SYMBOL): New macro used to
|
||
replace some duplicated code in most elfxx-xxxx.c files. This
|
||
version uses the new fields in bfd_link_info.
|
||
|
||
* elf-m10300.c (mn10300_elf_relocate_section): Use new macro.
|
||
* elf32-arm.h (elf32_arm_relocate_section): Likewise.
|
||
* elf32-cris.c (cris_elf_relocate_section): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
|
||
* elf32-i386.c (elf_i386_relocate_section): Likewise.
|
||
* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
|
||
* elf32-iq2000.c (iq2000_elf_relocate_section): Likewise.
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf32-vax.c (elf_vax_relocate_section): Likewise.
|
||
* elf32-xtensa.c (elf_xtensa_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
|
||
|
||
* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols,
|
||
elf_hppa_remark_useless_dynamic_symbols,
|
||
elf_hppa_relocate_section): Use the new fields in
|
||
bfd_link_info structure.
|
||
* elf32-sh.c (sh_elf_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_check_relocs): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_check_relocs): Likewise.
|
||
* elfxx-mips.c (mips_elf_calculate_relocation): Likewise.
|
||
|
||
* elflink.h (elf_link_output_extsym): Fix test for reporting
|
||
undefined symbols in shared libraries. Remove redundant test
|
||
of shlib_undefined when reporting references to forced local
|
||
symbols.
|
||
|
||
2003-08-18 Andreas Schwab <schwab@suse.de>
|
||
|
||
* libpei.h (bfd_pe_executable_p): Also recognize efi-app
|
||
executables.
|
||
|
||
2003-08-17 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Move
|
||
reloc_done hack to before first bfd_section_size call. Change all
|
||
returns to use new wrapper macro RETURN, restoring sec->reloc_done.
|
||
|
||
2003-08-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Don't include elf/ppc.h.
|
||
|
||
2003-08-14 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Fix PT_DYNAMIC
|
||
code to work with 64-bit bfds.
|
||
|
||
2003-08-14 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* dep-in.sed: Remove libintl.h.
|
||
* Makefile.am (SRC-POTFILES.in, BLD-POTFILES.in): Unset LC_COLLATE.
|
||
(POTFILES.in): Remove target.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-08-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_next_input_section): Update comment.
|
||
(ppc64_elf_relocate_section): For zero sym R_PPC64_TOC relocs,
|
||
use the function sym from the previous reloc.
|
||
|
||
2003-08-11 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Make undefined symbols
|
||
fatal if -pie.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
(ppc_elf_relocate_section) <case R_PPC_RELAX32>: Issue fatal error
|
||
on undefined symbols if -pie.
|
||
* elf32-sh.c (sh_elf_relocate_section): Likewise.
|
||
|
||
2003-08-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Add special case for crt1.o
|
||
branch to __libc_start_main.
|
||
|
||
2003-08-08 Dmitry Diky <diwil@mail.ru>
|
||
|
||
* archures.c: Add xW42 and xE42 parts. Sort MPU list according to
|
||
gcc order.
|
||
* cpu-msp430.c: Likewise.
|
||
* elf32-msp430.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-08-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfxx-target.h: Remove PTR cast.
|
||
* targets.c (bfd_target): Make backend_data const void *.
|
||
* elf-bfd.h: Constify all occurrences of struct elf_backend_data.
|
||
* elf-m10300.c: Likewise.
|
||
* elf.c: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-m68hc1x.c: Likewise.
|
||
* elf32-ppc.c: Likewise.
|
||
* elf32-s390.c: Likewise.
|
||
* elf32-sh.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf32-sparc.c: Likewise.
|
||
* elf32-xtensa.c: Likewise.
|
||
* elf64-mips.c: Likewise.
|
||
* elf64-ppc.c: Likewise.
|
||
* elf64-s390.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* elf64-sparc.c: Likewise.
|
||
* elf64-x86-64.c: Likewise.
|
||
* elfcode.h: Likewise.
|
||
* elfcore.h: Likewise.
|
||
* elflink.c: Likewise.
|
||
* elflink.h: Likewise.
|
||
* elfxx-ia64.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* elfxx-mips.h: Likewise.
|
||
* elf.c (prep_headers): Remove useless check for null backend_data.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
* elf-bfd.h: Remove PARAMS macro. Replace PTR with void *.
|
||
(NAME): Use ## rather than CONCAT4 macro.
|
||
* elfcode.h: Remove one remaining PARAMS macro.
|
||
* elf-eh-frame.c: Convert to C90, remove unneeded casts and prototypes.
|
||
* elf-strtab.c: Likewise.
|
||
* elf-hppa.h: Likewise.
|
||
* elf32-hppa.h: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
(elf32_hppa_add_symbol_hook): Delete.
|
||
(elf_backend_add_symbol_hook): Don't define.
|
||
* libhppa.h: Convert to C90. Replace INLINE with inline.
|
||
|
||
2003-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc_stub_name): Tweak names for better readability.
|
||
(ppc64_elf_adjust_dynamic_symbol): Allow copy relocs against
|
||
function descriptors, but warn.
|
||
(ppc_build_one_stub): Remove a couple of vars. Move code creating
|
||
stub syms so that we can avoid a stub sym if we already have a
|
||
plt sym. Do not redefine an existing symbol.
|
||
(ppc64_elf_build_stubs): When --emit-stub-syms, print a symbol for
|
||
glink.
|
||
|
||
2003-08-06 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2003-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.c (_bfd_elf_create_dynamic_sections): Mark .dynbss with
|
||
SEC_LINKER_CREATED.
|
||
|
||
2003-08-05 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf32-arm.h (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
|
||
(elf32_arm_final_link_relocate, elf32_arm_relocate_section): Use it.
|
||
|
||
2003-08-03 Jeff Muizelaar <muizelaar@rogers.com>
|
||
|
||
* coffcode.h (coff_slurp_line_table): Return with a warning
|
||
message if the line number table could not be read.
|
||
|
||
2003-08-04 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Prepend "warning: "
|
||
to messages produced for .gnu.warning.SYMBOL sections.
|
||
|
||
2003-08-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfcode.h: Convert to C90, remove unneeded casts and prototypes.
|
||
* elfcore.h: Likewise.
|
||
* elflink.c: Likewise.
|
||
* elflink.h: Likewise.
|
||
* elf.c (sym_is_global): Remove INLINE.
|
||
(align_file_position): Replace INLINE with inline.
|
||
* elfcode.h (elf_swap_dyn_in, elf_swap_dyn_out): Remove INLINE.
|
||
(elf_file_p): Replace INLINE with inline.
|
||
|
||
2003-08-02 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_check_relocs): Don't set DF_TEXTREL here.
|
||
|
||
2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (get_got): Align the .got section at 8 bytes.
|
||
|
||
2003-08-01 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_finish_dynamic_symbol): Use
|
||
ElfNN_External_Rela instead of Elf64_External_Rela.
|
||
|
||
2003-08-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.bfd: Add code to catch obsolete configurations and warn
|
||
about them unless --enable-obsolete is used. Use this to mark
|
||
vax-vms port as obsolete.
|
||
|
||
2003-07-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_install_value): Tidy.
|
||
(ppc_elf_relax_section): Remove dead code. Remove unnecessary casts.
|
||
Formatting.
|
||
* elfxx-target.h: Remove PARAMS macro. Formatting.
|
||
|
||
2003-07-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (bfd_section_from_r_symndx): Test for SHN_UNDEF.
|
||
* elf64-ppc.c (get_fdh): New function, split out from
|
||
ppc64_elf_edit_opd.
|
||
(ppc64_elf_check_relocs): Use get_fdh.
|
||
(func_desc_adjust): Likewise. Tidy.
|
||
(ppc64_elf_edit_opd): Tighten reloc checks. Free local_syms on error
|
||
exit. Use get_fdh. Account for superfluous dynamic relocs.
|
||
(ppc64_elf_relocate_section): Warning fix.
|
||
|
||
2003-07-30 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* coff-i860.c: Convert to ISO C90. Remove superflous prototypes.
|
||
|
||
2003-07-30 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* elf32-i860.c: Convert to ISO C90. Remove superflous prototypes.
|
||
|
||
2003-07-30 Randolph Chung <tausq@debian.org>
|
||
|
||
* elf-hppa.h (elf_hppa_relocate_section): Look up dyn_h for undefweak.
|
||
* elf64-hppa.c (elf64_hppa_finalize_dlt): Check h->root.type.
|
||
|
||
2003-07-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c: Convert to C90, remove unnecessary prototypes and casts.
|
||
Replace PTR with void *. Formatting.
|
||
(_bfd_elf_assign_file_position_for_section): Remove INLINE.
|
||
(make_mapping): Likewise.
|
||
|
||
2003-07-29 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (func_desc_adjust): Give linker created function
|
||
descriptor symbols a size and type.
|
||
(ppc64_elf_relocate_section): Correct lq insn test.
|
||
|
||
2003-07-28 Eric Christopher <echristo@redhat.com>
|
||
|
||
* elf32-ppc.c (R_PPC_RELAX32): New relocation.
|
||
(ppc_elf_install_value): New function.
|
||
(ppc_elf_sort_rela): Remove.
|
||
(ppc_elf_relax_section): Rewrite. Remove old relaxation
|
||
and replace with out of range branch stubs.
|
||
(ppc_elf_relocate_section): Handle R_PPC_RELAX32.
|
||
|
||
2003-07-29 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf-m10300.c (mn10300_elf_relax_section): Take symbol hash table
|
||
from input_bfd.
|
||
|
||
2003-07-28 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (special_sections): Set attributes for .got and .plt.
|
||
|
||
2003-07-27 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Ensure no copy relocs
|
||
on function descriptors.
|
||
(ELIMINATE_COPY_RELOCS): Expand comment.
|
||
(ppc64_elf_special_sections): Move. Don't include non-ppc64 sections.
|
||
Do include ".toc1".
|
||
|
||
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf.c (_bfd_elf_new_section_hook): Set the default section
|
||
type to SHT_NULL.
|
||
(elf_fake_sections): Set the section type based on asect->flags
|
||
if it is SHT_NULL. Don't abort on processor specific section
|
||
types.
|
||
|
||
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
2003-07-25 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-bfd.h (bfd_elf_special_section): New.
|
||
(elf_backend_data): Add special_sections, a pointer to
|
||
bfd_elf_special_section.
|
||
(elf_section_type). New.
|
||
(elf_section_flags): New.
|
||
(_bfd_elf_get_sec_type_attr): New.
|
||
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Always use the
|
||
real section type/flags.
|
||
(special_sections): New.
|
||
(get_special_section): New.
|
||
(_bfd_elf_get_sec_type_attr): New.
|
||
(_bfd_elf_new_section_hook): Check special_section to set
|
||
elf_section_type and elf_section_flags.
|
||
(elf_fake_sections): Don't use section name to set ELF section
|
||
data.
|
||
|
||
* elf32-m32r.c (m32r_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf32-m68hc11.c (elf32_m68hc11_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf32-mcore.c (mcore_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf32-ppc.c (ppc_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf32-sh64.c (sh64_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf32-v850.c (v850_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf32-xtensa.c (elf_xtensa_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf64-alpha.c (elf64_alpha_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf64-hppa.c (elf64_hppa_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf64-ppc.c (ppc64_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elf64-sh64.c (sh64_elf64_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_special_sections): New.
|
||
|
||
* elfxx-mips.h (_bfd_mips_elf_special_sections): New.
|
||
(elf_backend_special_sections): Defined.
|
||
|
||
* elfxx-target.h (elf_backend_special_sections): New. Default
|
||
to NULL.
|
||
(elfNN_bed): Initialize special_sections.
|
||
|
||
* section.c (bfd_abs_section): Remove const.
|
||
(bfd_und_section): Likewise.
|
||
(bfd_com_section): Likewise.
|
||
(bfd_ind_section): Likewise.
|
||
|
||
2003-07-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* coff-arm.c (EXTRA_S_FLAGS): Include SEC_CODE so that code
|
||
sections are assigned the LOAD attribute.
|
||
|
||
2003-07-25 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c: Convert to C90. Replace PTR with void *.
|
||
* elf32-sh64-com.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf32-sh64.h: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
|
||
2003-07-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL.
|
||
(allocate_dynrelocs): Likewise.
|
||
(sh_elf_relocate_section): Likewise. Use SYMBOL_REFERENCES_LOCAL.
|
||
(sh_elf_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL.
|
||
|
||
2003-07-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2003-07-23 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Make inline and move
|
||
near the beginning of the file. Swap order of arguments. Call
|
||
_bfd_elf_dynamic_symbol_p with "ignore_protected" set to 0.
|
||
(elf_xtensa_fix_refcounts): Adjust xtensa_elf_dynamic_symbol_p call.
|
||
(elf_xtensa_relocate_section): Likewise.
|
||
(shrink_dynamic_reloc_sections): Likewise.
|
||
|
||
2003-07-23 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elf32-xtensa.c (plt_reloc_count): Fix typo in comment.
|
||
(elf_xtensa_size_dynamic_sections): Use elf_discarded_section.
|
||
(elf_xtensa_combine_prop_entries): Avoid returning non-zero without
|
||
first printing an error message.
|
||
(elf_xtensa_finish_dynamic_sections): Likewise.
|
||
(elf_xtensa_discard_info_for_section): Adjust size of .got.loc when
|
||
discarding literal table entries.
|
||
(elf_xtensa_merge_private_bfd_data): Remove newline from error message.
|
||
(elf_xtensa_do_asm_simplify): Likewise.
|
||
|
||
2003-07-23 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc1x.c (elf32_m68hc11_size_stubs): Avoid crash when
|
||
we have a local symbol in common section.
|
||
|
||
2003-07-22 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.c (_bfd_elf_dynamic_symbol_p): Don't return TRUE for
|
||
weak symbols.
|
||
|
||
2003-07-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* coffcode.h (coff_slurp_symbol_table): Add C_TCSYM and C_ECOML to
|
||
expected RS6000 storage classes.
|
||
|
||
2003-07-21 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections): Mark
|
||
output_bfd unused to silence gcc.
|
||
|
||
2003-07-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2003-07-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use..
|
||
(_bfd_elf_symbol_refs_local_p): ..this. Declare.
|
||
* elflink.c (_bfd_elf_symbol_refs_local_p): New function.
|
||
* elf32-i386.c (elf_i386_relocate_section): Remove h NULL test
|
||
now done in _bfd_elf_symbol_refs_local_p.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
|
||
2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.c (_bfd_elf_dynamic_symbol_p): Undo the last change.
|
||
|
||
2003-07-18 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-bfd.h (SYMBOL_REFERENCES_LOCAL): Fix a typo.
|
||
(SYMBOL_CALLS_LOCAL): Likewise.
|
||
|
||
* elflink.c (_bfd_elf_dynamic_symbol_p): Return TRUE
|
||
immediately if symbol isn't defined locally.
|
||
|
||
2003-07-18 Richard Henderson <rth@redhat.com>
|
||
|
||
* elflink.c (_bfd_elf_dynamic_symbol_p): New.
|
||
* elf-bfd.h (_bfd_elf_dynamic_symbol_p): Declare it.
|
||
(SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Use it.
|
||
* elf32-xtensa.c (xtensa_elf_dynamic_symbol_p): Likewise.
|
||
* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_dynamic_symbol_p): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Likewise.
|
||
Update all callers to provide the relocation being resolved.
|
||
|
||
2003-07-17 Shaun Jackman <sjackman@pathwayconnect.com>
|
||
|
||
* config.bfd (arm-wince-pe): Add -DARM_COFF_BUGFIX to
|
||
targ_cflags.
|
||
|
||
2003-07-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/es.po: New Spanish translation.
|
||
* po/sv.po: New Swedish translation.
|
||
* po/opcodes.pot: Regenerate.
|
||
|
||
2003-07-16 Richard Henderson <rth@redhat.com>
|
||
|
||
* config.bfd, configure.host, configure.in: Remove ia64-aix support.
|
||
* elfxx-ia64.c, targets.c: Likewise.
|
||
|
||
2003-07-16 Richard Henderson <rth@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_dynamic_symbol_p): Properly return false
|
||
for symbols defined locally plus -Bsymbolic. Tidy logic.
|
||
|
||
2003-07-15 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* archures.c (bfd_mach_mips7000): New.
|
||
* bfd-in2.h: Regenerated.
|
||
* cpu-mips.c (arch_info_struct): Add an entry for mips:7000.
|
||
* elfxx-mips.c (mips_set_isa_flags): Handle bfd_mach_mips7000.
|
||
(mips_mach_extensions): Add an entry for it.
|
||
|
||
2003-07-14 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/tr.po: Update with latest version.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
* po/bfd.pot: Regenerate.
|
||
* Makfile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2003-07-12 Jeff Baker <jbaker@qnx.com>
|
||
|
||
* config.bfd (__QNXTARGET__): Define for Neutrino architectures.
|
||
* elf32-arm.h (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||
* elf32-sh.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||
* elf32-ppc.c (ELF_MAXPAGESIZE): Set to 4k for Neutrino.
|
||
|
||
2003-07-12 Jeff Muizelaar <muizelaar@rogers.com>
|
||
|
||
* coffcode.h (coff_set_section_contents): Set the
|
||
IMAGE_FILE_32BIT_MACHINE flag for PE targets.
|
||
|
||
2003-07-11 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* bfd-in.h (bfd_h8300_pad_address): Declare.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-h8300.c (bfd_h8300_pad_address): New function.
|
||
* coff-h8300.c (h8300_reloc16_estimate): Use it to canonicalize
|
||
addresses before checking whether they can be relaxed.
|
||
(h8300_reloc16_extra_cases): Likewise for the R_MOVL2 sanity check.
|
||
Don't complain about overflows in general 8-bit relocations.
|
||
* elf32-h8300.c (elf32_h8_relax_section): Use bfd_h8300_pad_address.
|
||
Fix handling of R_H8_DIR24A8.
|
||
|
||
2003-07-11 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elf32-h8300.c: Convert function prototypes and definitions
|
||
to C90 syntax.
|
||
* coff-h8300.c: Likewise.
|
||
* cpu-h8300.c: Likewise.
|
||
|
||
2003-07-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
* po/bfd.pot: Likewise.
|
||
|
||
2003-07-10 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elf32-xtensa.c (elf_xtensa_create_dynamic_sections): Create new
|
||
.got.loc section. Do not set SEC_ALLOC or SEC_LOAD flags for the
|
||
.xt.lit.plt section.
|
||
(elf_xtensa_size_dynamic_sections): Set size of the .got.loc section
|
||
and allocate memory for it.
|
||
(elf_xtensa_combine_prop_entries): Copy contents of .xt.lit output
|
||
section to the .got.loc section.
|
||
(elf_xtensa_finish_dynamic_sections): Fix up call to
|
||
elf_xtensa_combine_prop_entries and set DT_XTENSA_GOT_LOC_OFF to
|
||
the address of .got.loc.
|
||
(relax_property_section): Shrink .got.loc to match changes in any
|
||
literal table section.
|
||
(xtensa_is_property_section): Change to match
|
||
xtensa_get_property_section_name.
|
||
(xtensa_is_littable_section): New.
|
||
|
||
2003-07-10 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1 instead of
|
||
-1LL.
|
||
|
||
2003-07-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-am33lin.lo.
|
||
(BFD32_BACKENDS_CFILES): elf32-am33lin.c not elf32-am33lin.lo.
|
||
Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-07-10 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
2001-09-12 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf32-am33lin.c (ELF_MACHINE_CODE): Redefine to EM_MN10300.
|
||
(ELF_MACHINE_ALT1): Define to EM_CYGNUS_MN10300.
|
||
2001-06-02 Nick Clifton <nickc@cambridge.redhat.com>
|
||
* elf32-am33lin.c: Rename global functions.
|
||
2001-05-09 Alexandre Oliva <aoliva@redhat.com>
|
||
* config.bfd (am33_2.0, am33_2.0-*-linux*): Added.
|
||
* configure.in (bfd_elf32_am33lin_vec): Added.
|
||
* Makefile.am (BFD32_BACKENDS): Added elf32-am33lin.lo.
|
||
(elf32-am33lin.lo): List dependencies.
|
||
* aclocal.m4, configure, Makefile.in: Rebuilt.
|
||
* elf-m10300.c (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME,
|
||
ELF_ARCH, ELF_MACHINE_CODE, ELF_MAXPAGESIZE): Define only if
|
||
ELF_ARCH was not defined before.
|
||
(elf_symbol_leading_char): Define if not defined.
|
||
* elf32-am33lin.c: Override the definitions above.
|
||
* targets.c (bfd_elf32_am33lin_vec): New.
|
||
|
||
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Initialize
|
||
pcrel_relocs_copied.
|
||
2001-12-13 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf-m10300.c (ELF_DYNAMIC_INTERPRETER): Renamed from
|
||
ld-linux.so.2 to ld.so.1.
|
||
2001-10-10 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf-m10300.c (elf_mn10300_sizeof_plt0): New macro.
|
||
(_bfd_mn10300_elf_adjust_dynamic_symbol): Use it.
|
||
(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
|
||
* elf-m10300.c (_bfd_mn10300_elf_size_dynamic_sections): Allocate
|
||
.rela.* section contents with bfd_zalloc.
|
||
2001-09-25 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf-m10300.c: Added declarations for functions missing them.
|
||
Merge some shared-library changes from the i386 back-end. Use
|
||
R_MN10300_RELATIVE instead of R_MN10300_PCREL32 and
|
||
R_MN10300_GLOB_DAT instead of R_MN10300_32 where appropriate.
|
||
(struct elf32_mn10300_link_hash_entry): Remove duplicates of
|
||
members of elf_link_hash_entry. Adjusted references.
|
||
(mn10300_elf_final_link_relocate): dynobj was already loaded
|
||
into a local variable, use it.
|
||
2001-09-21 Nick Clifton <nickc@cambridge.redhat.com>
|
||
* elf-m10300.c: Add missing function prototypes.
|
||
2001-08-24 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf-m10300.c (mn10300_elf_relocate_section): Don't compute
|
||
relocation for dynamic relocations.
|
||
2001-05-16 Alexandre Oliva <aoliva@redhat.com>
|
||
* reloc.c (BFD_RELOC_MN10300_GOTOFF24): New.
|
||
* elf-m10300.c: Introduce GOTPC16, GOTOFF24, GOTOFF16 and
|
||
PLT16, and rename GOTPC to GOTPC32 and GOTOFF to GOTOFF32.
|
||
(_bfd_mn10300_elf_create_dynamic_sections): Move creation ot PLT...
|
||
(_bfd_mn10300_elf_create_got_section): ... here, so that its
|
||
adress is already known at the time we compute relaxations.
|
||
(mn10300_elf_relax_section): Relax GOTPC32, GOTOFF32, GOT32
|
||
and PLT32 to narrower relocations.
|
||
* libbfd.h, bfd-in2.h: Rebuilt.
|
||
2001-04-12 Alexandre Oliva <aoliva@redhat.com>
|
||
* reloc.c (BFD_RELOC_MN10300_GOT32, BFD_RELOC_MN10300_GOT24,
|
||
BFD_RELOC_MN10300_GOT16, BFD_RELOC_MN10300_COPY,
|
||
BFD_RELOC_MN10300_GLOB_DAT, BFD_RELOC_MN10300_JMP_SLOT,
|
||
BFD_RELOC_MN10300_RELATIVE): New relocs.
|
||
* libbfd.h, bfd-in2.h: Rebuilt.
|
||
* elf-m10300.c (struct elf_mn10300_pcrel_relocs_copied): New.
|
||
(struct elf32_mn10300_link_hash_entry): Added DSO-related
|
||
fields.
|
||
(elf_mn10300_howto): Defined new relocation types.
|
||
(mn10300_reloc_map): Map them.
|
||
(_bfd_mn10300_elf_create_got_section): New fn.
|
||
(mn10300_elf_check_relocs): Handle PIC relocs.
|
||
(mn10300_elf_final_link_relocate): Likewise.
|
||
(mn10300_elf_relocate_section): Handle DSOs.
|
||
(PLT0_ENTRY_SIZE, PLT_ENTRY_SIZE, PIC_PLT_ENTRY_SIZE): New macros.
|
||
(elf_mn10300_plt0_entry, elf_mn10300_plt_entry,
|
||
elf_mn10300_pic_plt_entry): New.
|
||
(elf_mn10300_sizeof_plt, elf_mn10300_plt_plt0_offset,
|
||
elf_mn10300_plt0_linker_offset, elf_mn10300_plt0_gotid_offset,
|
||
elf_mn10300_plt_temp_offset, elf_mn10300_plt_symbol_offset,
|
||
elf_mn10300_plt_reloc_offset: New macros.
|
||
(ELF_DYNAMIC_INTERPRETER): Likewise.
|
||
(_bfd_mn10300_elf_create_dynamic_sections): New function.
|
||
(_bfd_mn10300_elf_adjust_dynamic_symbol): Likewise.
|
||
(_bfd_mn10300_elf_discard_copies): Likewise.
|
||
(_bfd_mn10300_elf_size_dynamic_sections): Likewise.
|
||
(_bfd_mn10300_elf_finish_dynamic_symbol): Likewise.
|
||
(_bfd_mn10300_elf_finish_dynamic_sections): Likewise.
|
||
(elf_backend_can_gc_sections,
|
||
elf_backend_create_dynamic_sections,
|
||
elf_backend_adjust_dynamic_sections,
|
||
elf_backend_size_dynamic_sections,
|
||
elf_backend_finish_dynamic_symbol,
|
||
elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
|
||
elf_backend_plt_readonly, elf_backend_want_plt_sym,
|
||
elf_backend_got_header_size, elf_backend_plt_header_size): New
|
||
macros.
|
||
|
||
2003-07-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
2001-05-06 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf-m10300.c (compute_function_info): Account for AM33
|
||
registers in `movm' when computing stack space for `call' when
|
||
linking for AM33/2.0 link.
|
||
2000-04-01 Alexandre Oliva <aoliva@cygnus.com>
|
||
* archures.c (bfd_mach_am33_2): Renamed from bfd_mach_am332.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-m10300.c (bfd_am33_2_arch): Renamed from bfd_am332_arch.
|
||
* elf-m10300.c: Updated.
|
||
2000-03-31 Alexandre Oliva <aoliva@cygnus.com>
|
||
* archures.c (bfd_mach_am332): Defined.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-m10300.c (bfd_am332_arch): Defined.
|
||
(bfd_am33_arch): Chained with am33-2.
|
||
* elf-m10300.c (elf_mn10300_mach): Handle am332.
|
||
(_bfd_mn10300_elf_final_write_processing): Likewise.
|
||
|
||
2003-07-09 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (IA64_HOWTO): Set dst_mask to -1LL.
|
||
|
||
2003-07-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (bfd_elf64_mkobject): Define.
|
||
(struct ppc64_elf_obj_tdata): New.
|
||
(ppc64_elf_tdata, ppc64_tlsld_got): Define.
|
||
(ppc64_elf_mkobject): New function.
|
||
(struct got_entry): Add "owner". Move "tls_type".
|
||
(struct ppc_link_hash_table): Delete "relgot", "tlsld_got".
|
||
(ppc64_elf_init_stub_bfd): New function.
|
||
(create_got_section): Create header .got in dynobj. Create .got
|
||
and .rela.got in each bfd. Stash pointers in ppc64_elf_obj_tdata.
|
||
(ppc64_elf_create_dynamic_sections): Don't call create_got_section.
|
||
Look for dynobj .got, and test it.
|
||
(ppc64_elf_copy_indirect_symbol): Adjust for changed got.
|
||
(update_local_sym_info): Likewise.
|
||
(ppc64_elf_check_relocs): Likewise.
|
||
(ppc64_elf_gc_sweep_hook): Likewise.
|
||
(ppc64_elf_tls_optimize): Likewise.
|
||
(allocate_dynrelocs): Likewise.
|
||
(ppc64_elf_size_dynamic_sections): Likewise.
|
||
(ppc64_elf_relocate_section): Likewise.
|
||
(ppc64_elf_next_toc_section): Update comment.
|
||
(toc_adjusting_stub_needed): Remove unneeded cast.
|
||
(ppc64_elf_build_stubs): Check for stub sections in stub bfd by
|
||
testing section flags.
|
||
(ppc64_elf_build_stubs): Likewise.
|
||
(ppc64_elf_size_stubs): Likewise. Remove stub_bfd param.
|
||
(ppc64_elf_finish_dynamic_sections): Write out got sections.
|
||
(func_desc_adjust): Copy over dynamic info for undef weaks.
|
||
* elf64-ppc.h (ppc64_elf_init_stub_bfd): Declare.
|
||
(ppc64_elf_size_stubs): Update prototype.
|
||
* elflink.h (elf_link_sort_relocs): Use link_orders to find reldyn
|
||
input sections rather than scanning dynobj.
|
||
|
||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_link_hash_entry): Remove min_dyn_reloc_index.
|
||
(bfd_mips_elf_swap_msym_in, bfd_mips_elf_swap_msym_out): Delete.
|
||
(mips_elf_create_msym_section): Delete.
|
||
(mips_elf_create_dynamic_relocation): Don't set min_dyn_reloc_index.
|
||
(_bfd_mips_elf_copy_indirect_symbol): Likewise.
|
||
(_bfd_mips_elf_create_dynamic_sections): Don't create .msym.
|
||
(_bfd_mips_elf_size_dynamic_sections): Don't calculate its size.
|
||
(_bfd_mips_elf_size_dynamic_sections): Don't add DT_MIPS_MSYM.
|
||
(_bfd_mips_elf_finish_dynamic_symbol): Don't add symbols to .msym.
|
||
(_bfd_mips_elf_finish_dynamic_sections): Likewise.
|
||
|
||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_irix6_finish_dynamic_symbol): Make the
|
||
symbols protected.
|
||
|
||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Fix handling
|
||
of relocations whose offset is -2.
|
||
|
||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Treat
|
||
forced-local symbols like other locals. Don't create relocations
|
||
against STN_UNDEF in irix objects.
|
||
|
||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): In SGI-
|
||
compatible objects, add the values of defined external symbols
|
||
to the addend.
|
||
|
||
2003-07-09 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_finish_dynamic_symbol): Always
|
||
initialize a GOT entry to the symbol's st_value.
|
||
|
||
2003-07-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_obj_tdata): Move linker_section_pointers..
|
||
* elf32-ppc.c (struct ppc_elf_obj_tdata): ..to here. New.
|
||
(ppc_elf_tdata): Define.
|
||
(elf_local_ptr_offsets): Adjust.
|
||
(ppc_elf_mkobject): New function.
|
||
(bfd_elf32_mkobject): Define.
|
||
|
||
* elfcode.h (elf_object_p): Allocate tdata via _bfd_set_format.
|
||
* elfcore.h (elf_core_file_p): Likewise.
|
||
* section.c (bfd_section_init): Remove prototype.
|
||
|
||
2003-07-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_link_hash_entry): Remove linker_section_pointer
|
||
field.
|
||
(enum elf_linker_section_enum): Delete.
|
||
(struct elf_linker_section): Delete.
|
||
(struct elf_linker_section_pointers): Delete.
|
||
(struct elf_obj_tdata): Remove #if 0 chunk. Remove linker_section.
|
||
Make linker_section_pointers a void**.
|
||
(elf_local_ptr_offsets, elf_linker_section): Don't define.
|
||
* elf32-ppc.c (enum elf_linker_section_enum): New, cut-down version
|
||
of old item in elf-bfd.h.
|
||
(struct elf_linker_section): Likewise.
|
||
(struct elf_linker_section_pointers): Likewise.
|
||
(elf_local_ptr_offsets): Define.
|
||
(struct ppc_elf_link_hash_entry): Add linker_section_pointer.
|
||
(ppc_elf_link_hash_newfunc): Init it.
|
||
(struct ppc_elf_link_hash_table): Add sbss.
|
||
(ppc_elf_link_hash_table_create): zmalloc rather than clearing
|
||
individual fields.
|
||
(elf_create_linker_section): Fold into..
|
||
(ppc_elf_create_linker_section): ..here. Remove hole_size code.
|
||
Make rela section here if shared.
|
||
(elf_find_pointer_linker_section): Pass lsect rather than enum.
|
||
(elf_create_pointer_linker_section): Adjust. zalloc rather than
|
||
clearing in a loop.
|
||
(elf_finish_pointer_linker_section): Adjust. Don't make rela
|
||
section here.
|
||
(ppc_elf_check_relocs): Adjust.
|
||
(ppc_elf_add_symbol_hook): Tighten hash creator test. Remove code
|
||
creating .sbss by hand.
|
||
* elf.c (_bfd_elf_link_hash_newfunc): Adjust.
|
||
|
||
2003-07-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-s390.c (elf_howto_table): Change R_390_GOT12 to
|
||
complain_overflow_bitfield.
|
||
* elf64-s390.c (elf_howto_table): Change R_390_GOT12 to
|
||
complain_overflow_bitfield.
|
||
|
||
2003-07-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Return
|
||
true even if -pie.
|
||
|
||
2003-07-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add rel_fptr_sec.
|
||
(elfNN_ia64_dynamic_symbol_p): Change info->shared into
|
||
!info->executable.
|
||
(get_fptr): For -pie create .opd as writable section and create
|
||
.rela.opd as well.
|
||
(elfNN_ia64_check_relocs): Change info->shared into
|
||
!info->executable.
|
||
(allocate_fptr): Likewise.
|
||
(allocate_dynrel_entries): Account for a relative reloc for -pie
|
||
@fptr(). Don't account for a relative reloc if -pie want_ltoff_fptr
|
||
for undefweak symbol. Account for an IPLT reloc in .rela.opd
|
||
section if -pie.
|
||
(set_got_entry): Don't create a relative reloc if -pie
|
||
want_ltoff_fptr for undefweak symbol.
|
||
(set_fptr_entry): Emit an IPLT reloc in .rela.opd for -pie.
|
||
(elfNN_ia64_relocate_section): Emit a relative reloc for -pie
|
||
@fptr().
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Issue undefined_symbol
|
||
even if -pie.
|
||
* elf32-i386.c (elf_i386_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
|
||
2003-07-04 Paul Clarke <paulc@senet.com.au>
|
||
|
||
* elf32-h8300.c (R_H8_DIR32A16): Fix name field.
|
||
(elf32_h8_relax_section) <R_H8_DIR16A8>: Adjust position of relocation.
|
||
<R_H8_DIR32A16>: Fix type of relocation.
|
||
|
||
2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_create_dynamic_sections): Return if dynamic
|
||
sections were created already. Remove unnecessary tests of
|
||
the previous change.
|
||
|
||
2003-07-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_create_dynamic_sections): Don't call
|
||
bfd_make_section for existing sections.
|
||
|
||
2003-07-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-sparc.c (elf32_sparc_check_relocs): Don't call
|
||
create_got_section if we already have done so.
|
||
* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
|
||
(sh_elf_check_relocs): Likewise.
|
||
(sh_elf_adjust_dynamic_symbol): Delete "dynobj" var. Use
|
||
htab->root.dynobj instead.
|
||
(sh_elf_check_relocs): Likewise.
|
||
(sh_elf_finish_dynamic_sections): Likewise.
|
||
|
||
* section.c (bfd_make_section): Return NULL for existing section.
|
||
|
||
2003-07-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_create_dynamic_sections): Don't call
|
||
ppc_elf_create_got if we've already done so.
|
||
|
||
* elf-bfd.h (_bfd_elf_create_linker_section) Don't declare.
|
||
(_bfd_elf_find_pointer_linker_section): Likewise.
|
||
(bfd_elf32_create_pointer_linker_section): Likewise.
|
||
(bfd_elf32_finish_pointer_linker_section): Likewise.
|
||
(bfd_elf64_create_pointer_linker_section): Likewise.
|
||
(bfd_elf64_finish_pointer_linker_section): Likewise.
|
||
(_bfd_elf_make_linker_section_rela): Likewise.
|
||
* elfcode.h (elf_create_pointer_linker_section): Don't define.
|
||
(elf_finish_pointer_linker_section): Likewise.
|
||
* elflink.c (_bfd_elf_make_linker_section_rela): Delete.
|
||
(_bfd_elf_create_linker_section): Move this function..
|
||
(_bfd_elf_find_pointer_linker_section): ..and this..
|
||
* elflink.h (elf_create_pointer_linker_section): ..and this..
|
||
(elf_finish_pointer_linker_section): ..and this..
|
||
* elf32-ppc.c: ..to here, renaming to the following, and adjusting
|
||
calls.
|
||
(elf_create_linker_section): Convert to C90, tidy.
|
||
(elf_find_pointer_linker_section): Likewise.
|
||
(elf_create_pointer_linker_section): Likewise.
|
||
(elf_finish_pointer_linker_section): Likewise.
|
||
* elf32-i370.c: Delete #if 0 code.
|
||
|
||
2003-07-02 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_func_desc_adjust): Don't allow _savef* and
|
||
_restf* to be satisfied by shared libs, and always force them local.
|
||
(toc_adjusting_stub_needed): Avoid scanning linker created sections.
|
||
Correct test for "bl".
|
||
(ppc64_elf_relocate_section <R_PPC64_TLS>): Correct test for
|
||
primary opcode 31.
|
||
|
||
2003-07-01 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-s390.c (s390_elf_ldisp_reloc): New prototype.
|
||
(s390_tls_reloc): New function.
|
||
(elf_howto_table): Add long displacement relocations R_390_20,
|
||
R_390_GOT20, R_390_GOTPLT20 and R_390_TLS_GOTIE20.
|
||
(elf_s390_reloc_type_lookup): Likewise.
|
||
(elf_s390_check_relocs): Likewise.
|
||
(elf_s390_gc_sweep_hook): Likewise.
|
||
(elf_s390_relocate_section): Likewise.
|
||
* elf64-s390.c: Same changes as for elf32-s390.c.
|
||
* reloc.c: Add long displacement relocations BFD_RELOC_390_20,
|
||
BFD_RELOC_390_GOT20, BFD_RELOC_390_GOTPLT20 and
|
||
BFD_RELOC_390_TLS_GOTIE20.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Likewise.
|
||
|
||
2003-06-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* cpu-ia64-opc.c (ext_imms_scaled): Don't sign extend using shifts.
|
||
(ins_imms, ins_immsm1u4): Likewise. Warning fix.
|
||
|
||
2003-06-29 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* archive.c: Convert to C90, remove unnecessary prototypes and casts.
|
||
Replace PTR with void *. Formatting.
|
||
* archive64.c: Likewise.
|
||
* archures.c: Likewise.
|
||
* bfd-in.h: Likewise.
|
||
* bfd.c: Likewise.
|
||
* bfdio.c: Likewise.
|
||
* bfdwin.c: Likewise.
|
||
* cache.c: Likewise.
|
||
* corefile.c: Likewise.
|
||
* format.c: Likewise.
|
||
* init.c: Likewise.
|
||
* libbfd-in.h: Likewise.
|
||
* libbfd.c: Likewise.
|
||
* linker.c: Likewise.
|
||
* opncls.c: Likewise.
|
||
* reloc.c: Likewise.
|
||
* section.c: Likewise.
|
||
* simple.c: Likewise.
|
||
* syms.c: Likewise.
|
||
* targets.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
* ecoff.c (bfd_debug_section): Add missing kept_section initialization.
|
||
* libbfd-in.h (_bfd_sh_align_load_span): Don't declare if defined.
|
||
* libbfd.c (COERCE32, EIGHT_GAZILLION): Simplify.
|
||
(bfd_getb64): Rewrite without parens.
|
||
(bfd_getl64, bfd_getb_signed_64, bfd_getl_signed_64): Likewise.
|
||
* cache.c (insert, snip): Remove INLINE.
|
||
* linker.c (bfd_link_add_undef): Likewise.
|
||
|
||
2003-06-29 Andreas Jaeger <aj@suse.de>
|
||
|
||
* elf64-x86-64.c: Convert to ISO C90 prototypes, remove
|
||
unnecessary prototypes. Replace PTR with void *.
|
||
(elf64_x86_64_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL to
|
||
trim plt entries. Move undefweak non-default visibility test ...
|
||
(allocate_dynrelocs): ... from here.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
|
||
Change all callers.
|
||
(allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL. Use
|
||
SYMBOL_REFERENCES_LOCAL for dynreloc check.
|
||
(elf64_x86_64_relocate_section): Use SYMBOL_CALLS_LOCAL for
|
||
dynreloc and .got relocs.
|
||
(elf64_x86_64_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL
|
||
for .got relocs.
|
||
|
||
2003-06-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c: Allow lazy binding for R_MIPS_JALR.
|
||
|
||
2003-06-27 Nick Clifton <nickc@redhat.com>
|
||
|
||
* opncls.c (bfd_add_gnu_debuglink_section): Rename to
|
||
bfd_add_gnu_debuglink_section and only create the section, do not
|
||
fill in its contents.
|
||
(bfd_fill_in_gnu_debuglink_section): New function. Fill in the
|
||
contents of a .gnu-debuglink section.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c: Revert .got alignment to 2**4.
|
||
|
||
2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf32-mips.c: Fix addend for _gp_disp special symbol.
|
||
|
||
2003-06-27 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_fake_sections): Remove non-default
|
||
relocation header setup.
|
||
|
||
2003-06-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_howto_table): Remove unnecessary cast.
|
||
(ppc_elf_reloc_type_lookup): Modify comment.
|
||
(ppc_elf_info_to_howto): Ditto.
|
||
(ppc_elf_relocate_section): Ditto.
|
||
(ppc_elf_check_relocs): Call ppc_elf_howto_init.
|
||
|
||
2003-06-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aout-ns32k.c: Correct spelling of "relocatable".
|
||
* aoutx.h: Likewise.
|
||
* bfd-in.h: Likewise.
|
||
* bfd.c: Likewise.
|
||
* bout.c: Likewise.
|
||
* coff-a29k.c: Likewise.
|
||
* coff-alpha.c: Likewise.
|
||
* coff-arm.c: Likewise.
|
||
* coff-i386.c: Likewise.
|
||
* coff-i860.c: Likewise.
|
||
* coff-i960.c: Likewise.
|
||
* coff-m68k.c: Likewise.
|
||
* coff-m88k.c: Likewise.
|
||
* coff-mcore.c: Likewise.
|
||
* coff-mips.c: Likewise.
|
||
* coff-or32.c: Likewise.
|
||
* coff-ppc.c: Likewise.
|
||
* coff-rs6000.c: Likewise.
|
||
* coff-sh.c: Likewise.
|
||
* coff-tic80.c: Likewise.
|
||
* coff64-rs6000.c: Likewise.
|
||
* cofflink.c: Likewise.
|
||
* cpu-ns32k.c: Likewise.
|
||
* ecoff.c: Likewise.
|
||
* ecofflink.c: Likewise.
|
||
* elf-bfd.h: Likewise.
|
||
* elf-eh-frame.c: Likewise.
|
||
* elf-hppa.h: Likewise.
|
||
* elf-m10200.c: Likewise.
|
||
* elf-m10300.c: Likewise.
|
||
* elf.c: Likewise.
|
||
* elf32-arm.h: Likewise.
|
||
* elf32-avr.c: Likewise.
|
||
* elf32-cris.c: Likewise.
|
||
* elf32-d10v.c: Likewise.
|
||
* elf32-dlx.c: Likewise.
|
||
* elf32-fr30.c: Likewise.
|
||
* elf32-frv.c: Likewise.
|
||
* elf32-h8300.c: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
* elf32-i370.c: Likewise.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-i860.c: Likewise.
|
||
* elf32-i960.c: Likewise.
|
||
* elf32-ip2k.c: Likewise.
|
||
* elf32-iq2000.c: Likewise.
|
||
* elf32-m32r.c: Likewise.
|
||
* elf32-m68hc11.c: Likewise.
|
||
* elf32-m68hc1x.c: Likewise.
|
||
* elf32-m68k.c: Likewise.
|
||
* elf32-mcore.c: Likewise.
|
||
* elf32-mips.c: Likewise.
|
||
* elf32-msp430.c: Likewise.
|
||
* elf32-openrisc.c: Likewise.
|
||
* elf32-ppc.c: Likewise.
|
||
* elf32-s390.c: Likewise.
|
||
* elf32-sh.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf32-sparc.c: Likewise.
|
||
* elf32-v850.c: Likewise.
|
||
* elf32-vax.c: Likewise.
|
||
* elf32-xstormy16.c: Likewise.
|
||
* elf32-xtensa.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elf64-hppa.c: Likewise.
|
||
* elf64-mips.c: Likewise.
|
||
* elf64-mmix.c: Likewise.
|
||
* elf64-ppc.c: Likewise.
|
||
* elf64-s390.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* elf64-sparc.c: Likewise.
|
||
* elf64-x86-64.c: Likewise.
|
||
* elfcode.h: Likewise.
|
||
* elflink.h: Likewise.
|
||
* elfn32-mips.c: Likewise.
|
||
* elfxx-ia64.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* i386linux.c: Likewise.
|
||
* ieee.c: Likewise.
|
||
* libcoff-in.h: Likewise.
|
||
* linker.c: Likewise.
|
||
* m68klinux.c: Likewise.
|
||
* pdp11.c: Likewise.
|
||
* pe-mips.c: Likewise.
|
||
* peXXigen.c: Likewise.
|
||
* reloc.c: Likewise.
|
||
* reloc16.c: Likewise.
|
||
* sparclinux.c: Likewise.
|
||
* sunos.c: Likewise.
|
||
* syms.c: Likewise.
|
||
* versados.c: Likewise.
|
||
* vms.c: Likewise.
|
||
* xcofflink.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
* libcoff.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2003-06-24 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_check_relocs): Report plt reloc against
|
||
local sym errors.
|
||
|
||
* elf32-i386.c: Convert to C90 function definitions, remove unnecessary
|
||
prototypes and casts. Replace PTR with void *. Formatting.
|
||
* elf32-ppc.c: Likewise. Break long strings too.
|
||
(ppc_elf_relax_section): Use enum elf_ppc_reloc_type for r_type.
|
||
(ppc_elf_unhandled_reloc): Internationalize error message.
|
||
* elf32-ppc.h: Remove PARAMS.
|
||
|
||
2003-06-23 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_begin_write_processing): Use bytes to count
|
||
APUinfo slots.
|
||
(ppc_elf_final_write_processing): Likewise.
|
||
|
||
2003-06-23 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (elf_link_input_bfd): Check raw size when using
|
||
kept_section to preserve debug information discarded by
|
||
linkonce.
|
||
|
||
2003-06-20 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Add top_id.
|
||
(ppc64_elf_setup_section_lists): Set it.
|
||
(ppc64_elf_relocate_section): Check sym section id against top_id.
|
||
(ppc_build_one_stub): Comment on top_id.
|
||
|
||
2003-06-20 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||
|
||
* config.bfd: Add tic4x-*-rtems*.
|
||
|
||
2003-06-20 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Convert to C90 function definitions, remove unnecessary
|
||
prototypes and casts. Replace PTR with void *. Format copyright.
|
||
Mention ABI links.
|
||
(struct ppc_link_hash_table): Rename sgot, srelgot, splt, srelplt,
|
||
sdynbss, srelbss, sglink, sbrlt and srelbrlt to got, relgot .. relbrlt.
|
||
(ppc_type_of_stub): Make r_type an enum.
|
||
(ppc64_elf_size_stubs): Likewise.
|
||
* elf64-ppc.h: Remove PARAMS macro.
|
||
|
||
2003-06-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_link_hash_table_create): Reinstate init of
|
||
elf hash tab fields.
|
||
|
||
* elf64-ppc.c (ppc64_elf_reloc_type_lookup): Tidy prototype.
|
||
(ppc64_elf_info_to_howto): Likewise.
|
||
(ppc64_elf_build_stubs): Add "stats" param, and print statistics.
|
||
* elf64-ppc.h (ppc64_elf_build_stubs): Adjust prototype.
|
||
|
||
2003-06-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Ignore R_SPARC_DISP32
|
||
reloc overflow on discarded eh_frame entries.
|
||
|
||
2003-06-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (toc_adjusting_stub_needed): New function.
|
||
(ppc64_elf_next_input_section): Use it here to set has_gp_reloc.
|
||
Return error condition.
|
||
(ppc64_elf_size_stubs): Restrict toc adjusting stubs to sections
|
||
that have has_gp_reloc set.
|
||
(struct ppc_link_hash_table): Add stub_count.
|
||
(ppc_build_one_stub): Increment it.
|
||
(ppc64_elf_link_hash_table_create): zmalloc rather than clearing
|
||
individual fields.
|
||
* elf64-ppc.h (ppc64_elf_next_input_section): Update prototype.
|
||
|
||
2003-06-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_gc_record_vtentry): Revert last change. Correct
|
||
size calculation from addend. Round size up.
|
||
|
||
2003-06-18 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (cris_elf_relocate_section) <case
|
||
R_CRIS_32_GOTREL>: When linking a program, don't complain about a
|
||
symbol from a normal object or an undefined weak symbol.
|
||
|
||
2003-06-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Accept a symbol on
|
||
R_PPC64_TOC relocs.
|
||
|
||
2003-06-17 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* section.c (struct sec): Put back kept_section.
|
||
(STD_SECTION): Put back kept_section initialization.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
* elflink.h (elf_link_input_bfd): Also check discarded linkonce
|
||
sections for relocateable output. Use kept_section to preserve
|
||
debug information discarded by linkonce.
|
||
|
||
2003-06-17 Roland McGrath <roland@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Support
|
||
segment-relative relocation between different segments.
|
||
|
||
2003-06-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Do unaligned reloc
|
||
optimizations earlier.
|
||
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Reinstate top_index.
|
||
Restore previous input_list type.
|
||
(ppc64_elf_link_hash_table_create): Undo last change.
|
||
(ppc64_elf_setup_section_lists): Reinstate code setting up input lists
|
||
per output section, but don't bother with bfd_abs_section marker.
|
||
(ppc64_elf_next_input_section): Adjust for multiple input section
|
||
lists.
|
||
(group_sections): Likewise.
|
||
|
||
2003-06-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocation_section): Ensure
|
||
*r_offset == r_addend for RELATIVE relocs against .got.
|
||
|
||
2003-06-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Optimize unaligned relocs.
|
||
|
||
2003-06-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elflink.h (elf_gc_record_vtentry): Allocate an extra element
|
||
in the vtable_entries_used array to allow for the accessing
|
||
the largest element.
|
||
|
||
2003-06-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Remove top_index. Modify
|
||
input_list.
|
||
(ppc64_elf_link_hash_table_create): Init input_list here.
|
||
(ppc64_elf_setup_section_lists): Remove code setting up input lists
|
||
per output section. Set toc_off for abs and other standard sections.
|
||
(ppc64_elf_reinit_toc): Don't set elf_gp on input bfds lacking a toc.
|
||
(ppc64_elf_next_input_section): Adjust for single input section list.
|
||
Don't set toc_curr from input bfds that haven't set elf_gp.
|
||
(group_sections): Adjust for single input section list.
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Correct pcrel section zero.
|
||
|
||
2003-06-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): When optimizing toctprel
|
||
tls, check that a TOC16_DS or TOC16_LO_DS reloc isn't pointing to a
|
||
dtprel entry. Ensure TLS_LD DTPMOD reloc has a zero addend. Write
|
||
got section for RELATIVE relocs. Fix wrong comment. Change condition
|
||
under which dynamic relocs update the section contents.
|
||
|
||
2003-06-13 Robert Millan <zeratul2@wanadoo.es>
|
||
|
||
* config.bfd: Add i386-netbsd-gnu target.
|
||
|
||
2003-06-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* opncls.c (calc_crc32): Rename to
|
||
bfd_calc_gnu_debuglink_crc32 and export.
|
||
(GNU_DEBUGLINK): Define and use to replace occurrences of
|
||
hard-coded ".gnu_debuglink" in the code.
|
||
(get_debug_link_info): Prevent aborts by replacing call to
|
||
xmalloc with a call to malloc.
|
||
(find_separate_debug_file): Prevent aborts by replacing calls
|
||
to xmalloc and xstrdup with calls to malloc and strdup.
|
||
(bfd_add_gnu_debuglink): New function. Add a .gnu_debuglink
|
||
section to a bfd.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-06-12 Federico G. Schwindt <fgsch@lodoss.net>
|
||
|
||
* config.bfd (i[3-7]86-*-openbsd[0-2].* | i[3-7]86-*-openbsd3.[0-3]):
|
||
New target (was i[3-7]86-*-openbsd* before).
|
||
(i[3-7]86-*-openbsd*): Change to use bfd_elf32_i386_vec.
|
||
(vax-*-openbsd*): New target.
|
||
|
||
2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (MIPS_ELF_OPTIONS_SECTION_NAME): Use .MIPS.options
|
||
for n32, too.
|
||
(MIPS_ELF_STUB_SECTION_NAME): Use .MIPS.stubs for n32, too.
|
||
(mips_elf_rel_dyn_section): Use appropriate section alignment.
|
||
(mips_elf_create_got_section): Likewise.
|
||
(_bfd_mips_elf_create_dynamic_sections): Likewise.
|
||
|
||
2003-06-11 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf32-mips.c (mips_elf_generic_reloc): New Function.
|
||
(elf_mips_howto_table_rel): Use it.
|
||
(gprel32_with_gp): Move prototype.
|
||
(mips_elf_hi16_reloc): Check for ! BSF_LOCAL instead of zero addend.
|
||
Use mips_elf_generic_reloc.
|
||
(mips_elf_got16_reloc): Check for ! BSF_LOCAL instead of zero addend.
|
||
Code cleanup.
|
||
(_bfd_mips_elf32_gprel16_reloc): Check for ! BSF_LOCAL instead of
|
||
zero addend.
|
||
(mips_elf_gprel32_reloc): Likewise. Use the same GP assignment logic
|
||
as in the other *_gprel*_reloc functions.
|
||
(gprel32_with_gp): Handle partial_inplace properly.
|
||
(mips32_64bit_reloc): Use mips_elf_generic_reloc.
|
||
(mips16_gprel_reloc): Check for ! BSF_LOCAL instead of zero addend.
|
||
Do addend handling directly instead of calling
|
||
_bfd_mips_elf_gprel16_with_gp. Handle partial_inplace properly.
|
||
* elf64-mips.c (mips_elf64_hi16_reloc): Check for ! BSF_LOCAL instead
|
||
of zero addend. Handle partial_inplace properly.
|
||
(mips_elf64_got16_reloc): Check for ! BSF_LOCAL instead of zero
|
||
addend.
|
||
(mips_elf64_gprel16_reloc): Likewise.
|
||
(mips_elf64_literal_reloc): Likewise.
|
||
(mips_elf64_gprel32_reloc): Likewise. Use the same GP assignment
|
||
logic as in the other *_gprel*_reloc functions. Handle
|
||
partial_inplace properly.
|
||
(mips_elf64_shift6_reloc): Check for ! BSF_LOCAL instead of zero
|
||
addend. Handle partial_inplace properly.
|
||
(mips16_gprel_reloc): Likewise. Do addend handling directly instead
|
||
of calling _bfd_mips_elf_gprel16_with_gp.
|
||
* elfn32-mips.c (mips_elf_got16_reloc): Check for BSF_LOCAL.
|
||
(mips_elf_gprel32_reloc): Check for ! BSF_LOCAL instead
|
||
of zero addend.
|
||
(mips_elf_shift6_reloc): Handle partial_inplace properly.
|
||
(mips16_gprel_reloc): Likewise. Do addend handling directly instead
|
||
of calling _bfd_mips_elf_gprel16_with_gp.
|
||
* elfxx-mips.c (_bfd_mips_elf_gprel16_with_gp): Handle
|
||
partial_inplace properly. Fix wrong addend handling. Fix overflow
|
||
check.
|
||
(_bfd_mips_elf_sign_extend): Renamed from mips_elf_sign_extend and
|
||
exported.
|
||
(mips_elf_calculate_relocation): Use _bfd_mips_elf_sign_extend.
|
||
(_bfd_mips_elf_relocate_section): Likewise.
|
||
(mips_elf_create_dynamic_relocation): Update sec_info_type access.
|
||
* elfxx-mips.h (_bfd_mips_relax_section): Fix prototype declaration.
|
||
(_bfd_mips_elf_sign_extend): New prototype.
|
||
|
||
2003-06-11 Federico G. Schwindt <fgsch@lodoss.net>
|
||
|
||
* config.bfd (sparc-*-openbsd[0-2].* | sparc-*-openbsd3.[0-1]):
|
||
New target (was sparc-*-openbsd* before).
|
||
(sparc-*-openbsd*): Change to use bfd_elf32_sparc_vec.
|
||
|
||
* configure.in (vax-*-openbsd*): Set COREFILE to netbsd-core.lo.
|
||
* configure: Regenerate.
|
||
|
||
2003-06-11 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* po/Make-in (DESTDIR): New.
|
||
(install-data-yes): Support $(DESTDIR).
|
||
(uninstall): Likewise.
|
||
|
||
2003-06-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am (config.status): Depend on version.h.
|
||
Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2003-06-10 Alan Modra <amodra@bigpond.net.au>
|
||
Gary Hade <garyhade@us.ibm.com>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section <*_DS>): Special case lq.
|
||
|
||
2003-06-10 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* archures.c (bfd_mach_h8300sxn): New architecture.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-h8300.c (h8300_scan): Check for 'sxn'.
|
||
(h8300sxn_info_struct): New.
|
||
(h8300sx_info_struct): Link to it.
|
||
* elf32-h8300.c (elf32_h8_mach): Add h8300sxn case.
|
||
(elf32_h8_final_write_processing): Likewise.
|
||
|
||
2003-06-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Move TARGET_LITTLE_SYM and other macros used by
|
||
elfxx-target.h so that we can use elf_backend_got_header_size.
|
||
(ELF_MACHINE_ALT1, ELF_MACHINE_ALT2): Delete.
|
||
(GLINK_CALL_STUB_SIZE): Modify. Define new glink call stub and
|
||
associated macros.
|
||
(ppc64_elf_howto_raw <GOT_TPREL16_DS, GOT_TPREL16_LO_DS>): Correct
|
||
dst_mask.
|
||
(enum ppc_stub_type): Add ppc_stub_long_branch_r2off and
|
||
ppc_stub_plt_branch_r2off.
|
||
(struct ppc_stub_hash_entry): Reorganize.
|
||
(struct ppc_link_hash_table): Add no_multi_toc, multi_toc_needed,
|
||
toc_curr, toc_off and emit_stub_syms.
|
||
(ppc64_elf_link_hash_table_create): Init them.
|
||
(ppc_stub_name): Correct string size.
|
||
(ppc64_elf_check_relocs): Set has_gp_reloc on GOT and TOC relocs.
|
||
(ppc64_elf_size_dynamic_sections): Set no_multi_toc if GOT entries
|
||
used.
|
||
(ppc_type_of_stub): Tweak root.type test.
|
||
(build_plt_stub): Remove glink code. Adjust for insn macro changes.
|
||
(ppc_size_one_stub): Handle ppc_stub_long_branch_r2off and
|
||
ppc_stub_plt_branch_r2off.
|
||
(ppc_build_one_stub): Likewise. Fix var shadowing. Correct addis,addi
|
||
range test. Use toc_off to calculte r2 values. Handle emit_stub_syms.
|
||
(ppc64_elf_setup_section_lists): Remove htab creator flavour test.
|
||
Initialize elf_gp and toc_curr.
|
||
(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): New functions.
|
||
(ppc64_elf_next_input_section): Set toc_off.
|
||
(group_sections): Ensure groups have the same TOC.
|
||
(ppc64_elf_size_stubs): Check whether we need a TOC adjusting stub.
|
||
(ppc64_elf_build_stubs): Add emit_stub_syms param, and stash in htab.
|
||
Build new glink stub.
|
||
(ppc64_elf_relocate_section): Handle multiple TOCs. Fix comments.
|
||
(ppc64_elf_finish_dynamic_sections): Adjust DT_PPC64_GLINK.
|
||
* elf64-ppc.h (ppc64_elf_build_stubs): Update prototype.
|
||
(ppc64_elf_next_toc_section, ppc64_elf_reinit_toc): Declare.
|
||
* section.c (struct sec): Rename flag12 to has_gp_reloc.
|
||
(STD_SECTION): Update.
|
||
* ecoff.c (bfd_debug_section): Update comment.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-06-05 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elfcode.h (elf_slurp_reloc_table_from_section): Don't dereference
|
||
NULL function pointers.
|
||
|
||
2003-06-05 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Call
|
||
_bfd_generic_link_add_symbols instead of bfd_link_add_symbols.
|
||
|
||
2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* coff-tic54x.c: Removed the ticoff0_bad_format_hook() and
|
||
ticoff1_bad_format_hook() functions. Removed the coff0 and coff1
|
||
swaptables.
|
||
* coff-tic4x.c: Ditto
|
||
* coffcode.h: Added extra arguments to CREATE_BIG_COFF_TARGET_VEC
|
||
and CREATE_LITTLE_COFF_TARGET_VEC. Created the macro
|
||
CREATE_BIGHDR_COFF_TARGET_VEC. Created the ticoff0_bad_format_hook(),
|
||
ticoff1_bad_format_hook() functions. Created the coff0 and coff1
|
||
swap tables.
|
||
* coff-tic4x.c: Adopted new CREATE_xxx_COFF_TARGET_VEC macros.
|
||
* coff-a29k.c: Append COFF_SWAP_TABLE argument
|
||
* coff-apollo.c: Ditto
|
||
* coff-arm.c: Ditto
|
||
* coff-h8300.c: Ditto
|
||
* coff-h8500.c: Ditto
|
||
* coff-i960.c: Ditto
|
||
* coff-m68k.c: Ditto
|
||
* coff-m88k.c: Ditto
|
||
* coff-mcore.c: Ditto
|
||
* coff-sh.c: Ditto
|
||
* coff-sparc.c: Ditto
|
||
* coff-tic80.c: Ditto
|
||
* coff-we32k.c: Ditto
|
||
* coff-z8k.c: Ditto
|
||
* coff-w65.c: Ditto
|
||
|
||
2003-06-04 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* coff-tic4x.c (ticoff0_swap_table, ticoff1_swap_table): Fixed
|
||
initialization bug
|
||
|
||
2003-06-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf.c (_bfd_elf_print_private_bfd_data): Handle PT_GNU_STACK.
|
||
(bfd_section_from_phdr): Likewise.
|
||
(map_sections_to_segments): Create PT_GNU_STACK segment header.
|
||
(get_program_header_size): Count with PT_GNU_STACK.
|
||
* elf-bfd.h (struct elf_obj_tdata): Add stack_flags.
|
||
* elflink.h (bfd_elfNN_size_dynamic_sections): Set stack_flags.
|
||
|
||
2003-06-03 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (elf_link_input_bfd): Call linker error_handler
|
||
for discarded definitions.
|
||
|
||
2003-06-03 Elias Athanasopoulos <elathan@phys.uoa.gr>
|
||
|
||
* syms.c (decode_section_type): Return 'n' if section flags are
|
||
SEC_HAS_CONTENTS && SEC_READONLY.
|
||
|
||
2003-06-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-v850.c (v850_elf_howto_t): Rename R_V850_32to
|
||
R_V850_ABS32. Add entry for R_V850_REL32.
|
||
(v850_elf_reloc_map): Likewise.
|
||
(v850_elf_check_relocs): Likewise.
|
||
(v850_elf_perform_relocation): Likewise.
|
||
(v850_elf_final_link_relocate): Likewise. Include computation
|
||
to make R_V850_REl32 pc-relative.
|
||
|
||
2003-06-03 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_size_dynamic_sections): Create .interp section
|
||
and DT_DEBUG dynamic tag even for position independent executables.
|
||
* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewize.
|
||
|
||
2003-06-02 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* config.bfd: Move obsolete entries out of the range of the
|
||
targmatch sed script.
|
||
|
||
2003-06-02 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* config.bfd (mips*-dec-bsd*, mips*-*-pe*): Mark as obsolete.
|
||
|
||
2003-05-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-ppc.c (allocate_dynrelocs): Use single slot for first 8192
|
||
plt entries, not just 8191.
|
||
|
||
2003-05-30 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_discard_info): Correct loop index.
|
||
Reported by Ken Faiczak <kfaiczak@SANDVINE.com>.
|
||
|
||
2003-05-30 Ulrich Drepper <drepper@redhat.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Use !info->executable
|
||
instead of info->shared where appropriate.
|
||
(bfd_elfNN_size_dynamic_sections, elf_link_output_extsym): Likewise.
|
||
* elflink.c (_bfd_elf_create_got_section): Likewise.
|
||
(_bfd_elf_link_create_dynamic_sections): Likewise.
|
||
(_bfd_elf_link_assign_sym_version): Likewise.
|
||
* elf32-i386.c (elf_i386_size_dynamic_sections): Create .interp section
|
||
and DT_DEBUG dynamic tag even for position independent executables.
|
||
* elf32-ppc.c (ppc_elf_size_dynamic_sections): Likewise.
|
||
* elf32-s390.c (elf_s390_size_dynamic_sections: Likewise.
|
||
* elf64-ppc.c (ppc64_elf_size_dynamic_sections: Likewise.
|
||
* elf64-s390.c (elf_s390_size_dynamic_sections: Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_size_dynamic_sections: Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_size_dynamic_sections: Likewise.
|
||
* elf32-sparc.c (elf32_sparc_size_dynamic_sections: Likewise.
|
||
* elf64-alpha.c (elf64_alpha_size_dynamic_sections: Likewise.
|
||
* elf64-sparc.c (sparc64_elf_size_dynamic_sections: Likewise.
|
||
|
||
2003-05-30 Kris Warkentin <kewarken@qnx.com>
|
||
|
||
* elf.c (elfcore_grok_nto_status): Only set lwpid for the active or
|
||
signalled thread.
|
||
(elfcore_grok_nto_gregs): Only make .reg section for the active thread.
|
||
|
||
2003-05-29 Nick Clifton <nickc@redhat.com>
|
||
|
||
* pef.c: Include "safe-ctype.h" instead of <ctype.h>.
|
||
Tidy up formatting.
|
||
* Makefile.am: Add dependency on safe-ctype.h.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-05-29 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c: Don't force symbols local unconditionally.
|
||
|
||
2003-05-28 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Delete bogus
|
||
undefined_symbol call.
|
||
|
||
2003-05-27 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_hash_sort_data): Fix formattting.
|
||
(mips_elf_link_hash_table): Likewise.
|
||
|
||
2003-05-22 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf64-mips.c (elf_mips_gnu_rel16_s2): Add internally used
|
||
R_MIPS_GNU_REL16_S2 support.
|
||
(bfd_elf64_bfd_reloc_type_lookup): Use it.
|
||
(mips_elf64_rtype_to_howto): Use it.
|
||
* elfn32-mips.c (elf_mips_gnu_rel16_s2): Add internally used
|
||
R_MIPS_GNU_REL16_S2 support.
|
||
(bfd_elf32_bfd_reloc_type_lookup): Use it.
|
||
(mips_elf_n32_rtype_to_howto): Use it.
|
||
|
||
2003-05-21 Stuart F. Downing <sdowning@fame.com>
|
||
|
||
* som.h: Define PA_2_0 before including a.out.h
|
||
|
||
2003-05-07 Eric Christopher <echristo@redhat.com>
|
||
Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Adjust
|
||
pic tests, change to warning.
|
||
(_bfd_mips_elf_final_link): Remove EF_MIPS_CPIC flag setting.
|
||
|
||
2003-05-21 Marcus Comstedt <marcus@mc.pp.se>
|
||
|
||
* config.bfd: Check for a target triplet of shl-...-netbsdelf as
|
||
well as shle-...-netbsdelf. Remove duplicate entry.
|
||
|
||
2003-05-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_elf_howto_table): Fix dst_mask
|
||
for X_STORMY16_REL_12 reloc.
|
||
|
||
* elf.c (bfd_elf_get_needed_list): Use is_elf_hash_table to check
|
||
the type of the hash table in the bfd_link_info structure.
|
||
(bfd_elf_get_runpath_list): Likewise.
|
||
|
||
2003-05-19 Roland McGrath <roland@redhat.com>
|
||
|
||
* elf.c (bfd_elf_bfd_from_remote_memory): New function.
|
||
* bfd-in.h: Declare it.
|
||
* bfd-in2.h: Regenerated.
|
||
* elfcode.h (NAME(_bfd_elf,bfd_from_remote_memory)): New function.
|
||
* elf-bfd.h (struct elf_backend_data): New function pointer member
|
||
elf_backend_bfd_from_remote_memory.
|
||
(_bfd_elf32_bfd_from_remote_memory, _bfd_elf64_bfd_from_remote_memory):
|
||
Declare them.
|
||
* elfxx-target.h (elf_backend_bfd_from_remote_memory): New macro.
|
||
(elfNN_bed): Add that to the initializer.
|
||
|
||
2003-05-15 Roland McGrath <roland@redhat.com>
|
||
|
||
* elf.c (elfcore_grok_note): Grok NT_AUXV note, make ".auxv" section.
|
||
|
||
2003-05-20 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elflink.h (elf_link_output_extsym): Only issue error about !=
|
||
STV_DEFAULT symbols if they are bfd_link_hash_undefined.
|
||
|
||
2003-05-20 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.c (_bfd_elf_merge_symbol): Check ELF_LINK_DYNAMIC_DEF
|
||
when removing the old definition for symbols with non-default
|
||
visibility.
|
||
|
||
2003-05-18 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* elf32-i860.c (elf32_i860_relocate_highadj): Simplify calculation.
|
||
|
||
2003-05-17 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-m68k.c (elf_m68k_check_relocs): Cache reloc section in
|
||
elf_section_data during processing of pc-relative and absolute
|
||
relocations.
|
||
(elf_m68k_relocate_section): Use the cached reloc section instead
|
||
of computing it again. Fix handling of visibility. Don't modify
|
||
addend when copying over a relocation into the output.
|
||
|
||
2003-05-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i386.c (elf_i386_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
|
||
to trim plt entries. Move undefweak non-default visibility test..
|
||
(allocate_dynrelocs): ..from here.
|
||
* elf32-ppc.c (ppc_elf_adjust_dynamic_symbol): Don't test
|
||
dynamic_sections_created here. Update comment. Move undefweak
|
||
non-default visibility test..
|
||
(allocate_dynrelocs): ..from here. Fix comment.
|
||
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Use SYMBOL_CALLS_LOCAL
|
||
to trim plt entries. Move undefweak non-default visibility test..
|
||
(allocate_dynrelocs): ..from here. Fix comment.
|
||
* elflink.h (elf_link_output_extsym): Compare ELF_ST_VISIBILITY with
|
||
STV_DEFAULT rather than comparing with zero.
|
||
* elflink.c (_bfd_elf_merge_symbol): Likewise.
|
||
(_bfd_elf_fix_symbol_flags): Likewise. Format comment.
|
||
|
||
2003-05-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* bfd.c (_bfd_get_gp_value): Prevent illegal access for abfd null
|
||
pointers.
|
||
(_bfd_set_gp_value): Likewise.
|
||
|
||
2003-05-16 Michael Snyder <msnyder@redhat.com>
|
||
From Bernd Schmidt <bernds@redhat.com>
|
||
* archures.c (bfd_mach_h8300sx): New.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-h8300.c (h8300_scan)): Add support for h8300sx.
|
||
(h8300sx_info_struct): New.
|
||
(h8300s_info_struct): Link to it.
|
||
* elf32-h8300.c (elf32_h8_mach): Add support for h8300sx.
|
||
(elf32_h8_final_write_processing): Likewise.
|
||
(elf32_h8_relax_section): Likewise.
|
||
|
||
2003-05-16 Kelley Cook <kelleycook@wideopenwest.com>
|
||
|
||
* config.bfd: Accept i[3-7]86 variants.
|
||
* configure.host: Likewise.
|
||
* configure.in: Likewise.
|
||
* configure: Regenerate.
|
||
|
||
2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.c (_bfd_elf_fix_symbol_flags): Also hide protected
|
||
symbol.
|
||
|
||
2003-05-15 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (elf_link_check_versioned_symbol): Also allow
|
||
the base version.
|
||
|
||
2003-05-15 Alan Modra <amodra@bigpond.net.au>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_CALLS_LOCAL.
|
||
(elf_i386_relocate_section): Likewise.
|
||
* elf32-ppc.c (allocate_dynrelocs): Likewise.
|
||
(ppc_elf_relocate_section): Likewise.
|
||
* elf64-ppc.c (allocate_dynrelocs): Likewise.
|
||
(ppc64_elf_relocate_section): Likewise.
|
||
|
||
2003-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf32-mips.c (gprel32_with_gp): Remove useless N64 ABI case.
|
||
|
||
2003-05-13 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc1x.c (_bfd_m68hc11_elf_merge_private_bfd_data): Check for
|
||
processor capability, allow merge of HC12 and HCS12 in some cases.
|
||
(m68hc11_elf_hash_table_create): Use bfd_malloc instead of bfd_zalloc.
|
||
* cpu-m68hc12.c (bfd_m68hc12s_arch): New struct.
|
||
(bfd_m68hc12_arch): Link it.
|
||
(scan_mach): New function.
|
||
|
||
2003-05-13 Andrew Haley <aph@redhat.com>
|
||
|
||
* elf.c (bfd_elf_hash): Mask lower 32 bits of hash.
|
||
|
||
2003-05-13 Alan Modra <amodra@bigpond.net.au>
|
||
H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elf-bfd.h (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Move from
|
||
elf32-ppc.c. Add ELF_LINK_FORCED_LOCAL check.
|
||
* elf32-ppc.c: (SYMBOL_REFERENCES_LOCAL, SYMBOL_CALLS_LOCAL): Delete.
|
||
(allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for dynreloc check.
|
||
(ppc_elf_relocate_section): Likewise.
|
||
* elf64-ppc.c (allocate_dynrelocs): Likewise.
|
||
(ppc64_elf_relocate_section): Likewise. Use for .got relocs too.
|
||
(ppc64_elf_adjust_dynamic_symbol): Don't assume symbols with .plt
|
||
relocs need no other types.
|
||
* elf32-i386.c (allocate_dynrelocs): Use SYMBOL_REFERENCES_LOCAL for
|
||
dynreloc check.
|
||
(elf_i386_relocate_section): Likewise. Use for .got relocs too.
|
||
(elf_i386_finish_dynamic_symbol): Use SYMBOL_REFERENCES_LOCAL for
|
||
.got relocs.
|
||
|
||
2003-05-13 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_adjust_dynamic_symbol): For weak symbols,
|
||
copy ELF_LINK_NON_GOT_REF from weakdef.
|
||
(allocate_dynrelocs): For undef weak syms with non-default
|
||
visibility, a) don't allocate plt entries, b) don't allocate
|
||
.got relocs, c) discard dyn rel space
|
||
(sh_elf_relocate_section): d) don't generate .got relocs, e)
|
||
don't generate dynamic relocs.
|
||
(sh_elf_copy_indirect_symbol): Don't copy ELF_LINK_NON_GOT_REF
|
||
for weakdefs when symbol already adjusted.
|
||
|
||
2003-05-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_elf_howto_table): use 'bitfield'
|
||
overflow detection for R_XSTORMY16_16 reloc.
|
||
|
||
2003-05-12 Paul Clarke <paulc@senet.com.au>
|
||
|
||
* elf32-h8300.c: Fix typo in name of R_H8_DIR8 reloc.
|
||
|
||
2003-05-11 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* elf32-i860.c (elf32_i860_relocate_highadj): Properly
|
||
adjust upper bits.
|
||
(elf32_i860_relocate_splitn): Obtain upper 5 bits from the
|
||
proper place.
|
||
(elf32_i860_relocate_pc16): Obtain upper 5 bits from the
|
||
proper place.
|
||
|
||
2003-05-11 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Replace ugly
|
||
complicated tests for unresolvable relocs with a simple direct
|
||
scheme using "unresolved_reloc" var. Report some detail on
|
||
bfd_reloc_outofrange and similar errors.
|
||
|
||
2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-s390.c (allocate_dynrelocs, elf_s390_relocate_section):
|
||
Fix WILL_CALL_FINISH_DYNAMIC_SYMBOL call.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
|
||
* elf64-s390.c: Likewise.
|
||
|
||
2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-s390.c (ELIMINATE_COPY_RELOCS): Define as one.
|
||
(elf_s390_adjust_dynamic_symbol): For weak symbols, copy
|
||
ELF_LINK_NON_GOT_REF from weakdef.
|
||
(elf_s390_copy_indirect_symbol): Test whether the weakdef sym has
|
||
already been adjusted before treating it specially.
|
||
* el64-s390.c: Likwise.
|
||
|
||
2003-05-09 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-s390.c (allocate_dynrelocs): For undef weak syms with
|
||
non-default visibility, a) don't make them dynamic, b) discard
|
||
space for dynamic relocs.
|
||
(elf_s390_relocate_section): Initialize the GOT entries and skip
|
||
R_390_{8,16,32}/R_390_PC{16,16DBL,32DBL,32} for weak undefined
|
||
symbols with non-default visibility.
|
||
* elf64-s390.c: Likewise.
|
||
|
||
2003-05-09 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* cpu-arm.c (arm_check_note): Warning fix.
|
||
* elf32-iq2000.c (iq2000_elf_check_relocs): Warning fixes. Arrange
|
||
to keep relocs if edited.
|
||
(iq2000_elf_print_private_bfd_data): Return TRUE.
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Use ELFNN_R_SYM, not
|
||
ELF64_R_SYM.
|
||
(elfNN_ia64_relax_ldxmov): Warning fix.
|
||
* xtensa-isa.c (xtensa_add_isa): Warning fix.
|
||
* xtensa-modules.c (get_num_opcodes): Warning fix.
|
||
|
||
2003-05-09 Andrey Petrov <petrov@netbsd.org>
|
||
|
||
* elf.c (elf_fake_sections): Use correct cast for sh_name.
|
||
|
||
2003-05-09 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.c (_bfd_elf_link_create_dynamic_sections): Move from
|
||
elflink.h. Replace LOG_FILE_ALIGN with bed->s->log_file_align.
|
||
(_bfd_elf_create_dynamic_sections): Use bed->s->log_file_align.
|
||
(bfd_elf_record_link_assignment): Move from elflink.h.
|
||
(_bfd_elf_merge_symbol): Likewise.
|
||
(_bfd_elf_add_default_symbol): Likewise.
|
||
(_bfd_elf_export_symbol): Likewise.
|
||
(_bfd_elf_link_find_version_dependencies): Likewise.
|
||
(_bfd_elf_link_assign_sym_version): Likewise.
|
||
(_bfd_elf_link_read_relocs): Likewise.
|
||
(_bfd_elf_link_size_reloc_section): Likewise.
|
||
(_bfd_elf_fix_symbol_flags): Likewise.
|
||
(_bfd_elf_adjust_dynamic_symbol): Likewise.
|
||
(_bfd_elf_link_sec_merge_syms): Likewise.
|
||
(elf_link_read_relocs_from_section): Likewise. Use bed->s->sizeof_rel
|
||
and bed->s->sizeof_rela.
|
||
(_bfd_elf_link_output_relocs): Likewise.
|
||
* elf-bfd.h (struct elf_size_info): Rename file_align to
|
||
log_file_align.
|
||
(struct elf_info_failed): Move from elflink.h.
|
||
(struct elf_assign_sym_version_info): Likewise.
|
||
(struct elf_find_verdep_info): Likewise.
|
||
(_bfd_elf_create_dynamic_sections): Delete duplicate declaration.
|
||
(_bfd_elf_merge_symbol, _bfd_elf_add_default_symbol,
|
||
_bfd_elf_export_symbol, _bfd_elf_link_find_version_dependencies,
|
||
_bfd_elf_link_assign_sym_version,
|
||
_bfd_elf_link_create_dynamic_sections, _bfd_elf_link_read_relocs,
|
||
_bfd_elf_link_size_reloc_section, _bfd_elf_link_output_relocs,
|
||
_bfd_elf_fix_symbol_flags, _bfd_elf_adjust_dynamic_symbol,
|
||
_bfd_elf_link_sec_merge_syms): Declare.
|
||
(bfd_elf32_link_create_dynamic_sections): Don't declare.
|
||
(_bfd_elf32_link_read_relocs): Likewise.
|
||
(bfd_elf64_link_create_dynamic_sections): Likewise.
|
||
(_bfd_elf64_link_read_relocs): Likewise.
|
||
* elflink.h: Move lots o' stuff elsewhere.
|
||
* bfd-in.h (bfd_elf32_record_link_assignment): Don't declare.
|
||
(bfd_elf64_record_link_assignment): Likewise.
|
||
(bfd_elf_record_link_assignment): Declare.
|
||
* bfd-in2.h: Regenerate.
|
||
* elfcode.h (elf_link_create_dynamic_sections): Don't declare.
|
||
(NAME(_bfd_elf,size_info)): Adjust for log_file_align.
|
||
* elf.c (_bfd_elf_init_reloc_shdr): Adjust for bed->s->log_file_align.
|
||
(assign_file_positions_for_segments): Likewise.
|
||
(assign_file_positions_except_relocs): Likewise.
|
||
(swap_out_syms, elfcore_write_note): Likewise.
|
||
* elf-m10200.c: Adjust for changed function names.
|
||
* elf-m10300.c: Likewise.
|
||
* elf32-arm.h: Likewise.
|
||
* elf32-h8300.c: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
* elf32-ip2k.c: Likewise.
|
||
* elf32-m32r.c: Likewise.
|
||
* elf32-m68hc11.c: Likewise.
|
||
* elf32-m68hc1x.c: Likewise.
|
||
* elf32-m68k.c: Likewise.
|
||
* elf32-mips.c: Likewise.
|
||
* elf32-ppc.c: Likewise.
|
||
* elf32-sh.c: Likewise.
|
||
* elf32-v850.c: Likewise.
|
||
* elf32-xtensa.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elf64-hppa.c: Likewise.
|
||
* elf64-mmix.c: Likewise.
|
||
* elf64-ppc.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* elfxx-ia64.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
(MIPS_ELF_LOG_FILE_ALIGN): Use log_file_align.
|
||
* elf64-alpha.c (alpha_elf_size_info): Adjust for log_file_align.
|
||
* elf64-hppa.c (hppa64_elf_size_info): Likewise.
|
||
* elf64-mips.c (mips_elf64_size_info): Likewise.
|
||
* elf64-s390.c (s390_elf64_size_info): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_size_info): Likewise.
|
||
|
||
2003-05-08 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (elf_add_default_symbol): After skipping the
|
||
unversioned symbol, go to non-default one.
|
||
|
||
2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elfxx-ia64.c (_bfd_elf_link_hash_hide_symbol): Also clear the
|
||
want_plt field.
|
||
(elfNN_ia64_relocate_section): Don't do dynamic symbol lookup
|
||
for symbols with non-default visibility.
|
||
|
||
2003-05-07 H.J. Lu <hongjiu.lu@intel.com>
|
||
|
||
* elflink.h (elf_link_check_versioned_symbol): Also handle the
|
||
case that a DSO references a hidden symbol which may be
|
||
satisfied by a versioned symbol in another DSO.
|
||
(elf_link_output_extsym): Check versioned definition for hidden
|
||
symbol referenced by a DSO.
|
||
|
||
2003-05-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_elf_howto_table): Reset
|
||
R_XSTORMY16_16 reloc to ignore overflows.
|
||
|
||
2003-05-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Improve
|
||
error message for mixing different-endian files. Check for ABI
|
||
compatibility of input files with the selected emulation.
|
||
|
||
2003-05-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i386.c (allocate_dynrelocs): For undef weak syms with
|
||
non-default visibility, a) don't make them dynamic, b) discard
|
||
space for dynamic relocs.
|
||
* elf64-x86-64.c (allocate_dynrelocs): Likewise.
|
||
|
||
* elf32-ppc.c (allocate_dynrelocs): For undef weak syms with
|
||
non-default visibility, a) don't allocate plt entries, b) don't
|
||
allocate .got relocs, c) discard dyn rel space,
|
||
(ppc_elf_relocate_section): d) don't generate .got relocs, e)
|
||
don't generate dynamic relocs.
|
||
* elf64-ppc.c (allocate_dynrelocs): As above.
|
||
(ppc64_elf_relocate_section): As above.
|
||
|
||
2003-05-05 Andreas Jaeger <aj@suse.de>
|
||
|
||
* elf64-x86-64.c (allocate_dynrelocs): Don't allocate dynamic
|
||
relocation entries for weak undefined symbols with non-default
|
||
visibility.
|
||
(elf64_x86_64_relocate_section): Initialize the GOT entries and
|
||
skip R_386_32/R_386_PC32 for weak undefined symbols with
|
||
non-default visibility.
|
||
|
||
2003-05-04 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf32-i386.c (allocate_dynrelocs): Don't allocate dynamic
|
||
relocation entries for weak undefined symbols with non-default
|
||
visibility.
|
||
(elf_i386_relocate_section): Initialize the GOT entries and
|
||
skip R_386_32/R_386_PC32 for weak undefined symbols with
|
||
non-default visibility.
|
||
|
||
* elfxx-ia64.c (allocate_fptr): Don't allocate function
|
||
descriptors for weak undefined symbols with non-default
|
||
visibility.
|
||
(allocate_dynrel_entries): Don't allocate relocation entries
|
||
for symbols resolved to 0.
|
||
(set_got_entry): Don't install dynamic relocation for weak
|
||
undefined symbols with non-default visibility.
|
||
(set_pltoff_entry): Likewise.
|
||
|
||
* elflink.h (elf_fix_symbol_flags): Hide weak undefined symbols
|
||
with non-default visibility.
|
||
(elf_link_output_extsym): Don't make weak undefined symbols
|
||
with non-default visibility dynamic.
|
||
|
||
2003-05-04 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_merge_symbol): Correctly handle weak definition.
|
||
|
||
2003-05-04 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_merge_symbol): Don't record a hidden/internal
|
||
symbol dynamic. Check indirection when removing the old
|
||
definition for symbols with non-default visibility.
|
||
(elf_add_default_symbol): Skip when told by elf_merge_symbol.
|
||
|
||
2003-05-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_elf_howto_table): Make the
|
||
R_XSTORMY16_8 and R_XSTORMY16_16 relocs detect and complain about
|
||
unsigned overflow.
|
||
|
||
2003-05-02 Andreas Jaeger <aj@suse.de>
|
||
|
||
* elf64-x86-64.c (elf_x86_64_copy_indirect_symbol): Don't copy
|
||
ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
|
||
(ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
|
||
(elf_x86_64_adjust_dynamic_symbol): For weak symbols, copy
|
||
ELF_LINK_NON_GOT_REF from weakdef.
|
||
|
||
2003-05-02 Charles Lepple <clepple@ghz.cc>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
* acinclude.m4: Fix name of --enable-install-libbfd switch.
|
||
* aclocal.m4: Regenerate.
|
||
* configure: Regenerate.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-05-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_copy_indirect_symbol): Test whether the
|
||
weakdef sym has already been adjusted before treating it specially.
|
||
* elf32-i386.c (elf_i386_copy_indirect_symbol): Don't copy
|
||
ELF_LINK_NON_GOT_REF for weakdefs when symbol already adjusted.
|
||
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
|
||
(ppc64_elf_check_relocs): Set ELF_LINK_NON_GOT_REF.
|
||
|
||
2003-04-28 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Relax ldxmov during
|
||
the relax finalize pass.
|
||
|
||
* section.c (struct sec): Add need_finalize_relax and remove
|
||
flag11.
|
||
(STD_SECTION): Update struct sec initializer.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
2003-04-28 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_merge_symbol): Call elf_backend_copy_indirect_symbol
|
||
to copy any information related to dynamic linking when we flip
|
||
the indirection.
|
||
|
||
2003-04-27 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf-bfd.h (ELF_LINK_DYNAMIC_DEF): New.
|
||
(ELF_LINK_DYNAMIC_WEAK): New.
|
||
|
||
* elflink.h (elf_merge_symbol): Add one argument to indicate if
|
||
a symbol should be skipped. Ignore definitions in dynamic
|
||
objects for symbols with non-default visibility.
|
||
(elf_add_default_symbol): Adjusted.
|
||
(elf_link_add_object_symbols): Check if a symbol should be
|
||
skipped. Don't merge the visibility field with the one from
|
||
a dynamic object.
|
||
(elf_link_check_versioned_symbol): Use undef_bfd.
|
||
(elf_link_output_extsym): Warn if a forced local symbol is
|
||
referenced from dynamic objects. Make non-weak undefined symbol
|
||
with non-default visibility a fatal error.
|
||
|
||
2003-04-27 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* configure.in: Bump version on HEAD to 2.14.90.
|
||
* configure: Regenerated.
|
||
|
||
2003-04-26 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
PR savannah/3331:
|
||
* elf32-m68hc11.c (m68hc11_elf_relax_section): Clear prev_insn_group
|
||
when we couldn't relax something.
|
||
|
||
2003-04-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_merge_symbol): When we find a regular definition
|
||
for an indirect symbol, flip the indirection so that the old
|
||
direct symbol now points to the new definition.
|
||
|
||
2003-04-24 Roland McGrath <roland@redhat.com>
|
||
|
||
* elf.c (bfd_section_from_phdr): Map PT_GNU_EH_FRAME to "eh_frame_hdr".
|
||
|
||
2003-04-24 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c: Formatting and comment fixes.
|
||
(ELIMINATE_COPY_RELOCS): Move before ppc_elf_copy_indirect_symbol.
|
||
(ppc_elf_copy_indirect_symbol): Copy flags here for weakdefs.
|
||
|
||
2003-04-24 Dhananjay Deshpande <dhananjayd@kpitcummins.com>
|
||
|
||
* archures.c (bfd_mach_h8300hn, bfd_mach_h8300sn): Added.
|
||
* bfd-in2.h: Rebuilt.
|
||
* coff-h8300.c (BADMAG): Add check for H8300HNBADMAG & H8300SNBADMAG.
|
||
* coffcode.h (coff_set_arch_mach_hook): Add case for H8300HNMAGIC
|
||
& H8300SNMAGIC.
|
||
(coff_set_flags): Add case for bfd_mach_h8300hn & bfd_mach_h8300sn.
|
||
* cpu-h8300.c (h8300_scan): Handle h8300hn, h8300sn.
|
||
(h8300sn_info_struct, h8300hn_info_struct): New.
|
||
* elf32-h8300.c (elf32_h8_mach): Handle case for h8300hn & h8300sn
|
||
(elf32_h8_final_write_processing): Likewise.
|
||
|
||
2003-04-23 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (tpoff): New.
|
||
(struct elf_sh_dyn_relocs): Remove tls_tpoff32.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
|
||
(allocate_dynrelocs): Don't make unnecessary dynamic TLS
|
||
relocations. Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses.
|
||
(sh_elf_relocate_section): Likewise. Remove unnecessary tests.
|
||
(dtpoff_base): Fix wrong indentation.
|
||
(sh_elf_check_relocs): Don't set DF_STATIC_TLS flag with non-TLS
|
||
relocations. Don't set tls_tpoff32 flag. Don't make unnecessary
|
||
R_SH_TLS_TPOFF32 relocations.
|
||
|
||
2003-04-23 J"orn Rennecke <joern.rennecke@superh.com>
|
||
|
||
* archures.c (enum bfd_architecture): Amend comment to refer to SuperH.
|
||
* cpu-sh.c: Likewise.
|
||
* elf32-sh.c: Likewise.
|
||
* reloc.c (bfd_reloc_code_real): Likewise.
|
||
* elf32-sh64-com.c: Change comment to refer to SuperH.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* bfd-in2.h (enum bfd_architecture): Regenerate.
|
||
|
||
2003-04-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
From Julien LEMOINE <speedblue@debian.org>
|
||
* elf32-i386.c (elf_i386_info_to_howto): Delete.
|
||
(elf_info_to_howto): Define as elf_i386_info_to_howto_rel.
|
||
|
||
2003-04-22 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
|
||
|
||
* archures.c: Replace references to Mitsubishi M32R with references
|
||
to Renesas M32R.
|
||
* relocs.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-04-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (alpha_elf_dynamic_symbol_p): Return false for an
|
||
executable when a symbol is defined both regular and dynamic.
|
||
|
||
2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-m68hc1x.lo.
|
||
(elf32-m68hc1x.lo): Update dependencies
|
||
* configure.in: Add elf32-m68hc1x.lo.
|
||
* configure: Rebuild.
|
||
* Makefile.in: Rebuild.
|
||
|
||
2003-04-21 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc1x.c: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
|
||
(m68hc11_elf_hash_table_create): New function.
|
||
(elf32_m68hc11_link_hash_table_free): New function.
|
||
(stub_hash_newfunc): New function.
|
||
(m68hc11_add_stub): New function.
|
||
(elf32_m68hc11_add_symbol_hook): New function.
|
||
(elf32_m68hc11_setup_section_lists): New function.
|
||
(elf32_m68hc11_next_input_section): New function.
|
||
(elf32_m68hc11_size_stubs): New function.
|
||
(elf32_m68hc11_build_stubs): New function.
|
||
(m68hc11_get_relocation_value): New function.
|
||
(elf32_m68hc11_relocate_section): Call the above to redirect
|
||
some relocations to the trampoline code.
|
||
(m68hc11_elf_export_one_stub): New function.
|
||
(m68hc11_elf_set_symbol): New function.
|
||
(elf32_m68hc11_build_stubs): Call it via bfd_hash_traverse.
|
||
(m68hc11_elf_get_bank_parameters): Get parameters only when the info
|
||
is not yet initialized.
|
||
|
||
* elf32-m68hc1x.h: New file (from elf32-m68hc11.c and elf32-m68hc12.c)
|
||
(elf32_m68hc11_stub_hash_entry): New struct.
|
||
(m68hc11_page_info): Add trampoline handler address.
|
||
(m68hc11_elf_link_hash_table): Add stubs generation members.
|
||
(elf32_m68hc11_add_symbol_hook): Declare.
|
||
(elf32_m68hc11_setup_section_lists): Declare.
|
||
(elf32_m68hc11_size_stubs): Declare.
|
||
(elf32_m68hc11_build_stubs): Declare.
|
||
|
||
* elf32-m68hc11.c (m68hc11_elf_ignore_reloc): Move to elf32-m68hc1x.c.
|
||
(elf32_m68hc11_gc_mark_hook, elf32_m68hc11_gc_sweep_hook): Likewise.
|
||
(elf32_m68hc11_check_relocs, elf32_m68hc11_relocate_section): Ditto.
|
||
(_bfd_m68hc11_elf_set_private_flags): Ditto.
|
||
(_bfd_m68hc11_elf_merge_private_bfd_data): Ditto.
|
||
(_bfd_m68hc11_elf_print_private_bfd_data): Ditto.
|
||
(bfd_elf32_bfd_link_hash_table_create): Define.
|
||
(elf_backend_add_symbol_hook): Define.
|
||
(m68hc11_elf_bfd_link_hash_table_create): New function.
|
||
(m68hc11_elf_build_one_stub): New function.
|
||
(m68hc11_elf_size_one_stub): New function.
|
||
(m68hc11_elf_bfd_link_hash_table_create): Install the above.
|
||
(bfd_elf32_bfd_link_hash_table_create): Define.
|
||
|
||
* elf32-m68hc12.c (m68hc11_elf_ignore_reloc): Remove.
|
||
(m68hc12_addr_is_banked): Remove, use m68hc11_addr_is_banked.
|
||
(m68hc12_phys_addr): Ditto.
|
||
(m68hc12_phys_page): Ditto.
|
||
(m68hc12_elf_special_reloc): Move to elf32-m68hc1x.c.
|
||
(elf32_m68hc11_gc_mark_hook): Likewise.
|
||
(elf32_m68hc11_gc_sweep_hook): Likewise.
|
||
(elf32_m68hc11_check_relocs): Likewise.
|
||
(elf32_m68hc11_relocate_section): Likewise.
|
||
(_bfd_m68hc12_elf_set_private_flags): Likewise.
|
||
(_bfd_m68hc12_elf_merge_private_bfd_data): Likewise.
|
||
(_bfd_m68hc12_elf_print_private_bfd_data): Likewise.
|
||
(m68hc12_elf_build_one_stub): New function.
|
||
(m68hc12_elf_size_one_stub): New function.
|
||
(m68hc12_elf_bfd_link_hash_table_create): New function, use the above.
|
||
(elf_backend_add_symbol_hook): Define.
|
||
(elf_m68hc11_howto_table): Use TRUE for pcrel relocs; fix masks.
|
||
|
||
2003-04-18 Nick Clifton <nickc@redhat.com>
|
||
|
||
* format.c (bfd_check_format_matches): Only check associated
|
||
vector if the matching_vector has been created.
|
||
|
||
2003-04-15 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Fix typo in
|
||
2003-04-09's change.
|
||
|
||
2003-04-15 Brian Ford <ford@vss.fsi.com>
|
||
|
||
* peicode.h (coff_swap_scnhdr_in): If a section holds
|
||
uninitialized data and is from an object file or from an
|
||
executable image that has not initialized the s_size field, or if
|
||
the physical size is padded, use the virtual size (stored in
|
||
s_paddr) instead.
|
||
|
||
2003-04-15 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Properly report
|
||
filename for alignment reduction.
|
||
|
||
2003-04-15 Rohit Kumar Srivastava <rohits@kpitcummins.com>
|
||
|
||
* archures.c: Replace occurrances of 'Hitachi' with 'Renesas'.
|
||
* reloc.c: Likewise.
|
||
* coff-h8300.c: Likewise.
|
||
* coff-h8500.c: Likewise.
|
||
* coff-sh.c: Likewise.
|
||
* cpu-h8300.c: Likewise.
|
||
* cpu-sh.c: Likewise.
|
||
* elf32-h8300.c: Likewise.
|
||
* elf32-sh.c: Likewise.
|
||
* elf32-sh64-com.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-04-14 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Maintain maximum
|
||
alignment for common symbols. Warn reducing alignment for
|
||
common symbols. Report old filename when symbol size changes.
|
||
|
||
2003-04-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_calculate_relocation): Adjust two other
|
||
occurrences of the same test changed in the previous patch.
|
||
Optimize.
|
||
|
||
2003-04-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_get_global_gotsym_index): New.
|
||
(mips_elf_calculate_relocation): Decay GOT_PAGE/GOT_OFST to
|
||
GOT_DISP/addend only if the symbol got a global GOT entry.
|
||
|
||
2003-04-10 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_calculate_relocation): Decay
|
||
GOT_PAGE/GOT_OFST referencing overridable symbol to
|
||
GOT_DISP/addend.
|
||
(_bfd_mips_elf_check_relocs): Handle GOT_PAGE referencing
|
||
global symbol as GOT_DISP.
|
||
|
||
2003-04-10 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elf32-xtensa.c (elf_xtensa_relocate_section): Don't continue to the
|
||
next relocation on an undefined symbol.
|
||
|
||
2003-04-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relocate_section) <R_ALPHA_GPREL32>:
|
||
Ignore relocations against r_symndx == 0.
|
||
|
||
2003-04-09 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Don't return
|
||
FALSE for undefined symbols.
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
|
||
|
||
2003-04-09 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_nearest_line): Try DWARF3-standard
|
||
and IRIX-specific shift-to-64-bit 4-byte lengths before following
|
||
addr_size.
|
||
|
||
2003-04-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf32-mips.c (bfd_elf32_bfd_reloc_type_lookup): Detect (ctor)
|
||
pointer size from ABI, not arch_bits_per_address.
|
||
|
||
2003-04-07 Kevin Buettner <kevinb@redhat.com>
|
||
|
||
* elfn32-mips.c (elf32_mips_grok_prstatus): Adjust core file related
|
||
constants for n32 ABI.
|
||
|
||
2003-04-06 Andrew Cagney <cagney@redhat.com>
|
||
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Disable
|
||
free that leads to GDB vs BFD memory corruption.
|
||
|
||
2003-04-04 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Also adjust
|
||
symbols that mark the end of the section.
|
||
(m68hc11_elf_relax_section): Use R_M68HC11_PCREL_8 relocs when
|
||
converting to a relative branch so that the offset is computed after
|
||
the relaxation; also relocate a jsr into a bsr if possible but don't
|
||
relax them if they are to a far symbol as we need to call the
|
||
trampoline code.
|
||
(elf_m68hc11_howto_table): Set pcrel_offset to true.
|
||
|
||
2003-04-04 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* archures.c: Namespace cleanup. Rename bfd_mach_c3x to
|
||
bfd_mach_tic3x and bfd_mach_c4x to bfd_mach_tic4x
|
||
* bfd-in2.h: Regenerate
|
||
* coff-tic4x.c: Namespace cleanup. Replace s/c4x/tic4x/
|
||
* cpu-tic4x.c: Ditto
|
||
|
||
2003-04-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* peXXigen.c (_bfd_XXi_swap_scnhdr_out): Compute ps and ss
|
||
differently for object files and executables.
|
||
* peicode.h (coff_swap_scnhdr_in): Only set the s_size field
|
||
for object files or for executables who have not already
|
||
initialised the field.
|
||
* libpei.h (bfd_pe_executable_p): New macro. Return true if
|
||
the PE format bfd is an executable.
|
||
|
||
2003-04-03 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_check_relocs): Don't use SYMBOL_REFERENCES_LOCAL
|
||
here as it's too early to reliably determine locality.
|
||
(ppc_elf_gc_sweep_hook): Likewise.
|
||
(SYMBOL_REFERENCES_LOCAL): Expand comment.
|
||
|
||
2003-04-02 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* xtensa-modules.c: Remove comment indicating that this is a
|
||
generated file.
|
||
|
||
2003-04-02 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_hide_symbol): Test for NULL dynobj.
|
||
|
||
2003-04-01 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* Makefile.am (ALL_MACHINES): Add cpu-xtensa.lo.
|
||
(ALL_MACHINES_CFILES): Add cpu-xtensa.c.
|
||
(BFD32_BACKENDS): Add elf32-xtensa.lo, xtensa-isa.lo, and
|
||
xtensa-modules.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-xtensa.c, xtensa-isa.c, and
|
||
xtensa-modules.c.
|
||
(cpu-xtensa.lo): New target.
|
||
(elf32-xtensa.lo): Likewise.
|
||
(xtensa-isa.lo): Likewise.
|
||
(xtensa-modules.lo): Likewise.
|
||
* Makefile.in: Regenerate.
|
||
* archures.c (bfd_architecture): Add bfd_{arch,mach}_xtensa.
|
||
(bfd_archures_list): Add bfd_xtensa_arch.
|
||
* config.bfd: Handle xtensa-*-*.
|
||
* configure.in: Handle bfd_elf32_xtensa_{le,be}_vec.
|
||
* configure: Regenerate.
|
||
* reloc.c: Add BFD_RELOC_XTENSA_{RTLD,GLOB_DAT,JMP_SLOT,RELATIVE,
|
||
PLT,OP0,OP1,OP2,ASM_EXPAND,ASM_SIMPLIFY}.
|
||
* targets.c (bfd_elf32_xtensa_be_vec): Declare.
|
||
(bfd_elf32_xtensa_le_vec): Likewise.
|
||
(bfd_target_vector): Add bfd_elf32_xtensa_{be,le}_vec.
|
||
* cpu-xtensa.c: New file.
|
||
* elf32-xtensa.c: Likewise.
|
||
* xtensa-isa.c: Likewise.
|
||
* xtensa-modules.c: Likewise.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Likewise.
|
||
|
||
2003-04-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* archures.c (bfd_mach_arm_unknown): Define.
|
||
* bfd-in.h (bfd_arm_merge_machines, bfd_arm+update_notes,
|
||
bfd_arm_get_mach_from_notes): Prototype.
|
||
* bfd-in2.h: Regenerate.
|
||
* coff-arm.c (coff_arm_merge_private_bfd_data): Call
|
||
bfd_arm_merge_machines.
|
||
(coff_arm_final_link_postscript): Call bfd_arm_update_notes.
|
||
* coffcode.h (coff_set_arch_mach_hook): Call
|
||
bfd_arm_get_mach_from_notes.
|
||
* coffgen.c (coff_real_object_p): Revert previous delta.
|
||
* cpu_arm.c (arm_check_note): New function. Examine a note in a
|
||
.note section.
|
||
(bfd_arm_merge_machines): New function: Handle the merging of ARM
|
||
binaries compiled for different architectures..
|
||
(bfd_arm_update_notes): New function: Update an ARM note section.
|
||
(bfd_arm_get_mach_from_notes): New function: Extract a bfd machine
|
||
number from an ARM note section.
|
||
* elf32-arm.h (elf32_arm_object_p): Use
|
||
bfd_arm_get_mach_from_notes.
|
||
(elf32_arm_merge_private_bfd_data): Use bfd_arm_merge_machines.
|
||
(elf32_arm_final_write_processing): Use bfd_arm_update_notes.
|
||
|
||
2003-04-01 Ben Elliston <bje@wasabisystems.com>
|
||
|
||
* dwarf2.c (read_attribute_value): Correct typo in comment.
|
||
|
||
2003-04-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* dwarf2.c (concat_filename): Use bfd_malloc() and strdup()
|
||
instead of concat().
|
||
(decode_line_info): Only free filename if it is not NULL.
|
||
(add_line_info): Make a copy of the filename when storing it into
|
||
the info structure.
|
||
|
||
2003-03-31 Andreas Schwab <schwab@suse.de>
|
||
Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Add
|
||
parameter symbol_table. Optionally use it instead of the symbol
|
||
table from the bfd. Save and restore output offsets and output
|
||
sections around bfd_get_relocated_section_contents. Fix a memory
|
||
leak.
|
||
(simple_save_output_info, simple_restore_output_info): New
|
||
functions.
|
||
* bfd-in2.h: Regenerate.
|
||
* dwarf2.c (read_abbrevs): Use
|
||
bfd_simple_get_relocated_section_contents instead of
|
||
bfd_get_section_contents.
|
||
(decode_line_info): Likewise.
|
||
(_bfd_dwarf2_find_nearest_line): Likewise. Don't call
|
||
find_rela_addend.
|
||
(find_rela_addend): Remove.
|
||
* elfxx-ia64.c (elfNN_ia64_reloc): Weaken sanity check for
|
||
debugging sections.
|
||
(elfNN_ia64_hash_table_create): Create the hash table with malloc,
|
||
not bfd_zalloc.
|
||
|
||
2003-03-31 David Heine <dlheine@suif.stanford.edu>
|
||
|
||
* aoutx.h (aout_link_hash_table_create): Use bfd_malloc instead of
|
||
bfd_alloc.
|
||
* dwarf2.c (concat_filename): Always allocate space for the
|
||
returned filename.
|
||
(decode_line_info): Free the allocated filename returned by
|
||
concat_filename.
|
||
* elf-eh-frame.c (bfd_elf_write_section_eh_frame): Fix memory leaks.
|
||
* elf.c (copy_private_bfd_data): Likewise.
|
||
(_bfd_elf_slurp_version_tables): Fix bug freeing contents pointer.
|
||
* elflink.h (elf_link_sort_relocs): Fix memory leak.
|
||
* format.c (bfd_check_format_matches): Likewise.
|
||
* linker.c (bfd_generic_final_link): Likewise.
|
||
* opncls.c (find_separate_debug_info): Likewise.
|
||
* simple.c (bfd_simple_get_relocated_section_contents): Likewise.
|
||
|
||
2003-03-28 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Correctly combine
|
||
visibilities.
|
||
|
||
2003-03-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Reset self_dtpmod_offset
|
||
to -1 before recomputing got offsets.
|
||
|
||
2003-03-26 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-m68k.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
|
||
(elf_m68k_relocate_section): Use it to correctly handle symbols
|
||
forced to be local.
|
||
(elf_m68k_finish_dynamic_symbol): Emit RELATIVE reloc for got
|
||
entries for symbols that are forced to be local.
|
||
|
||
2003-03-25 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_relax_section): New function.
|
||
* elfxx-mips.h (_bfd_mips_relax_section): Declare.
|
||
* elfn32-mips.c, elf64-mips.c: Use it.
|
||
|
||
2003-03-25 Stan Cox <scox@redhat.com>
|
||
Nick Clifton <nickc@redhat.com>
|
||
|
||
Contribute support for Intel's iWMMXt chip - an ARM variant:
|
||
|
||
* archures.c: Add bfd_mach_arm_iWMMXt.
|
||
* reloc.c: Add BFD_RELOC_ARM_CP_OFF_IMM_S2.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* coff-arm.c (coff_arm_merge_private_bfd_data): Allow iWMMXt
|
||
object files to be linked with XScale ones.
|
||
(coff_arm_final_link_postscript): Update note section.
|
||
* coffcode.h (coff_set_arch_mach_hook): Handle note section.
|
||
* coffgen.c (coff_real_object_p): Call bfd_coff_set_arch_mach_hook
|
||
after identifying a coff binary.
|
||
* cpu-arm.c (processors): Add iWMMXt.
|
||
(arch_inf): Likewise.
|
||
* elf32-arm.h (arm_object_p): Handle note section.
|
||
(elf32_arm_merge_private_bfd_data): Allow iWMMXt object files to
|
||
be linked with XScale ones.
|
||
(elf32_arm_section_flags): New function: Set flags on note section.
|
||
(elf32_arm_final_write_processing): Handle note section.
|
||
|
||
2003-03-21 DJ Delorie <dj@redhat.com>
|
||
|
||
* elf32-xstormy16.c (elf32_xstormy16_relocate_section): Call
|
||
_bfd_elf_rela_local_sym.
|
||
|
||
2003-03-20 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Don't try relax for
|
||
non-ELF outputs.
|
||
|
||
2003-03-20 Nick Clifton <nickc@redhat.com>
|
||
|
||
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Initialise $idata2 and
|
||
$idata5 in case bfd_coff_final_link is not called.
|
||
|
||
2003-03-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-sparc.c (struct sparc64_elf_section_data): Add reloc_count
|
||
field.
|
||
(canon_reloc_count): Define.
|
||
(sparc64_elf_slurp_one_reloc_table, sparc64_elf_slurp_reloc_table,
|
||
sparc64_elf_canonicalize_dynamic_reloc): Use it instead of
|
||
reloc_count.
|
||
(sparc64_elf_canonicalize_reloc): New routine.
|
||
(bfd_elf64_canonicalize_reloc): Define.
|
||
|
||
2003-03-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Handle relaxation
|
||
againt mergeable sections. Take r_addend into account when caching
|
||
trampolines.
|
||
|
||
2003-03-18 Richard Henderson <rth@redhat.com>
|
||
|
||
* elfxx-ia64.c (get_dyn_sym_info): Return NULL gracefully for
|
||
local symbols that have no dyninfo.
|
||
|
||
2003-03-14 Gene Smith <gene.smith@siemens.com>
|
||
|
||
* ieee.c (ieee_write_expression): Handle the case where symbol is
|
||
NULL.
|
||
General formatting improvements.
|
||
|
||
2003-03-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
* configure.in (LINGUAS): Add zh_CN.
|
||
* configure: Regenerate.
|
||
* po/zh_CN.po: New file.
|
||
|
||
2003-03-13 Elias Athanasopoulos <elathan@phys.uoa.gr>
|
||
|
||
* aout-cris.c (BYTES_IN_WORD): Don't define.
|
||
aout-encap.c: Likewise.
|
||
aout-ns32k.c: Likewise.
|
||
aout-tic30.c: Likewise.
|
||
hp300bsd.c: Likewise.
|
||
i386aout.c: Likewise.
|
||
i386dynix.c: Likewise.
|
||
i386linux.c: Likewise.
|
||
i386lynx.c: Likewise.
|
||
i386mach3.c: Likewise.
|
||
m68k4knetbsd.c: Likewise.
|
||
m68klinux.c: Likewise.
|
||
m68klynx.c: Likewise.
|
||
m68knetbsd.c: Likewise.
|
||
m88kmach3.c: Likewise.
|
||
mipsbsd.c: Likewise.
|
||
newsos3.c: Likewise.
|
||
sparclinux.c: Likewise.
|
||
sparclynx.c: Likewise.
|
||
sparcnetbsd.c: Likewise.
|
||
vaxbsd.c: Likewise. Fix comment formatting.
|
||
|
||
2003-03-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* Reverted 2003-03-02's patch.
|
||
|
||
* elfxx-target.h (bfd_elfNN_canonicalize_reloc): Make it
|
||
overridable.
|
||
* elf64-mips.c (mips_elf64_canonicalize_reloc,
|
||
mips_elf64_get_dynamic_reloc_upper_bound,
|
||
mips_elf64_canonicalize_dynamic_reloc): New, adapted from elf.c.
|
||
(bfd_elf64_get_canonicalize_reloc,
|
||
bfd_elf64_get_dynamic_reloc_upper_bound,
|
||
bfd_elf64_canonicalize_dynamic_reloc): Define.
|
||
(mips_elf64_slurp_reloc_table): Support dynamic.
|
||
(mips_elf64_slurp_one_reloc_table): Adjust.
|
||
|
||
2003-03-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* xsym.c (bfd_sym_fetch_type_information_table_entry): Change
|
||
'index' to 'offset' in test for zero value.
|
||
|
||
2003-03-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Do not create
|
||
dynamic relocations pointing to local or section symbols, use the
|
||
NULL symbol instead. Document the choice to not emit an
|
||
additional R_MIPS_64 relocation.
|
||
|
||
2003-03-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Subtract tls seg vma from
|
||
zero index dynamic tls relocs generated for the GOT. Tidy code.
|
||
Set "relocation" to 1 on DTPMOD32 relocs. Optimize HA adjustment.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
|
||
2003-03-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Don't look for a nop after
|
||
a tls_get_addr call.
|
||
|
||
* elf32-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
|
||
(ppc_elf_adjust_dynamic_symbol): For weak symbols, copy
|
||
ELF_LINK_NON_GOT_REF from weakdef.
|
||
* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define as one.
|
||
(ppc64_elf_adjust_dynamic_symbol): For weak symbols, copy
|
||
ELF_LINK_NON_GOT_REF from weakdef.
|
||
* elf32-i386.c (ELIMINATE_COPY_RELOCS): Define as one. Use throughout.
|
||
(elf_i386_adjust_dynamic_symbol): For weak symbols, copy
|
||
ELF_LINK_NON_GOT_REF from weakdef.
|
||
|
||
2003-03-06 Jakub Jelinek <jakub@redhat.com>
|
||
Andrew Haley <aph@redhat.com>
|
||
|
||
* elflink.h (elf_bfd_discard_info): Don't process eh frames if
|
||
output is relocateable.
|
||
|
||
2003-03-06 Steven Konopa <skonopa@kgo.csc.com>
|
||
|
||
* som.c (som_fixup_formats): Correct formats for R_AUX_UNWIND and
|
||
R_COMMENT.
|
||
|
||
2003-03-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_create_linker_section): Don't capitalize
|
||
error messages.
|
||
(ELIMINATE_COPY_RELOCS): Define to zero.
|
||
(ppc_elf_relocate_section): Don't deref htab->tls_sec when calculating
|
||
TLSLD relocs. Report reloc types on a number of errors. Optimize
|
||
LOCAL24PC check for non-local syms. Don't capitalize error messages.
|
||
* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define to zero.
|
||
(ppc64_elf_relocate_section): Don't deref htab->tls_sec when
|
||
calculating TLSLD relocs. Report reloc types on a number of errors.
|
||
Don't capitalize error messages.
|
||
|
||
2003-03-03 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elfxx-ia64.c (USE_BRL): Removed.
|
||
(oor_ip): Removed.
|
||
|
||
2003-03-03 J"orn Rennecke <joern.rennecke@superh.com>
|
||
|
||
* elf32-sh.c (sh_elf_howto_tab): Make R_SH_IND12W into an ordinary
|
||
relocation (no special function), and make it non-partial_inplace.
|
||
(sh_elf_relax_section): When creating a bsr, use a consistent value
|
||
no matter if the symbol is extern or not; set addend to -4.
|
||
Don't swap load / non-load instructions for SH4.
|
||
(sh_elf_relax_delete_bytes): In R_SH_IND12W case, check the offset
|
||
rather than if the symbol is external to determine if adjusting the
|
||
offset makes sense. Adjust the addend too if appropriate.
|
||
(sh_elf_relocate_section): In R_SH_IND12W, don't fiddle with the
|
||
relocation.
|
||
|
||
2003-03-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/da.po: Installed latest translation.
|
||
|
||
2003-03-02 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf32-mips.c (elf_mips_howto_table_rel): Change definition of
|
||
R_MIPS_PC16 to rightshift 2.
|
||
(elf_reloc_map mips_reloc_map): Map to rightshifted BFD reloc.
|
||
(bfd_elf32_bfd_reloc_type_lookup): Support
|
||
BFD_RELOC_MIPSEMB_16_PCREL_S2.
|
||
* elf64-mips.c (mips_elf64_howto_table_rel): Change definition of
|
||
R_MIPS_PC16 to rightshift 2.
|
||
(mips_elf64_howto_table_rela): Likewise.
|
||
(mips_reloc_map): Map to rightshifted BFD reloc.
|
||
* elfn32-mips.c: The same as in elf64-mips.c.
|
||
* elfxx-mips.c (mips_elf_got_for_ibfd): Typo in comment.
|
||
(mips_elf_calculate_relocation): Handle rightshifted addends for
|
||
R_MIPS_PC16.
|
||
* reloc.c (BFD_RELOC_MIPSEMB_16_PCREL_S2): New BFD relocation for
|
||
MIPS Embedded PIC. Remove superfluous empty COMMENT.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-02-28 Richard Henderson <rth@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Correct bounds
|
||
for ltoff22x relaxation.
|
||
|
||
2003-03-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd-in.h (_bfd): Don't define.
|
||
* bfd.c: Rename occurrences of "struct _bfd" to "struct bfd".
|
||
* syms.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-02-27 Richard Henderson <rth@redhat.com>
|
||
|
||
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add want_gotx;
|
||
(elfNN_ia64_check_relocs): Set it.
|
||
(allocate_global_data_got): Check it.
|
||
(allocate_local_got): Likewise.
|
||
(allocate_dynrel_entries): Likewise.
|
||
(elfNN_ia64_relax_ldxmov): New.
|
||
(elfNN_ia64_relax_section): Handle LTOFF22X, LDXMOV.
|
||
(elfNN_ia64_choose_gp): Split out from ...
|
||
(elfNN_ia64_final_link): ... here.
|
||
|
||
2003-02-27 Andrew Cagney <cagney@redhat.com>
|
||
|
||
* bfd.c (struct bfd): Rename "struct _bfd".
|
||
* bfd-in.h: Update copyright.
|
||
(struct bfd): Rename "struct _bfd".
|
||
(_bfd): Define for backward compatibility.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-02-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_bfd_final_link): Apportion reloc counts to rel_hdr
|
||
and rel_hdr2 when initially counting input relocs rather than after
|
||
creating output reloc sections.
|
||
(elf_link_read_relocs_from_section): Don't abort with wrong reloc
|
||
sizes.
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-02-24 Kris Warkentin <kewarken@qnx.com>
|
||
|
||
* elf.c (elfcore_read_notes): Add check for QNX style core file.
|
||
(elfcore_grog_nto_note): New function.
|
||
(elfcore_grog_nto_gregs): New function.
|
||
(elfcore_grog_nto_status): New function.
|
||
|
||
2003-02-24 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.c (_bfd_elf_create_got_section): Check existing .got
|
||
section flags before concluding that we've already been called.
|
||
Don't use register keyword.
|
||
(_bfd_elf_create_dynamic_sections): Don't use register keyword.
|
||
(_bfd_elf_create_linker_section): Formatting.
|
||
|
||
2003-02-20 jmc <jmc@prioris.mini.pw.edu.pl>
|
||
|
||
* coff-h8300.c: Fix typo: intial -> initial.
|
||
* coff-ppc.c: Likewise.
|
||
|
||
2003-02-20 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c: Formatting.
|
||
(allocate_dynrelocs): LD and GD relocs against the same sym need
|
||
separate GOT entries.
|
||
(ppc_elf_relocate_section): Correct GOT handling for multiple GOT
|
||
entries per symbol.
|
||
|
||
2003-02-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (elf32_hppa_gc_sweep_hook): Simplify dynamic reloc
|
||
removal. Localize vars. Remove unnecessary dynobj test.
|
||
* elf32-i386 (WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead
|
||
of INFO.
|
||
(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
|
||
and optimize.
|
||
(elf_i386_relocate_section): Likewise.
|
||
(elf_i386_gc_sweep_hook): Simplify dyn reloc removal. Localize vars.
|
||
* elf32-s390.c (elf_s390_gc_sweep_hook): Likewise.
|
||
* elf32-sh.c (sh_elf_gc_sweep_hook): Likewise.
|
||
* elf64-s390.c (elf_s390_gc_sweep_hook): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_gc_sweep_hook): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_gc_sweep_hook): Likewise. Remove
|
||
local_dynrel for section too. Don't touch HIPLT22, LOPLT10, PCPLT32
|
||
or PCPLT10 relocs. Don't subtract twice on PLT32 relocs.
|
||
Formatting.
|
||
|
||
* elf64-ppc.c (ELIMINATE_COPY_RELOCS): Define.
|
||
(ppc64_elf_check_relocs): Use it. Correct comment. Move SEC_ALLOC
|
||
test.
|
||
(ppc64_elf_adjust_dynamic_symbol): Use ELIMINATE_COPY_RELOCS.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
|
||
(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
|
||
and optimize. Use ELIMINATE_COPY_RELOCS.
|
||
(ppc64_elf_relocate_section): Likewise.
|
||
|
||
* elf32-ppc.c (struct ppc_elf_dyn_relocs): Add pc_count field.
|
||
(ppc_elf_copy_indirect_symbol): Copy pc_count field.
|
||
(ELIMINATE_COPY_RELOCS): Define.
|
||
(ppc_elf_adjust_dynamic_symbol): Convert copy relocs to dynamic.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Pass SHARED instead of INFO.
|
||
(MUST_BE_DYN_RELOC): Define.
|
||
(allocate_dynrelocs): Adjust WILL_CALL_FINISH_DYNAMIC_SYMBOL uses,
|
||
and optimize. Trim dyn_relocs.
|
||
(ppc_elf_check_relocs): Don't generate dyn_relocs when we know they'll
|
||
not be used. Do generate dyn_relocs for copy reloc avoidance. Keep
|
||
track of pc_rel dyn relocs.
|
||
(ppc_elf_relocate_section): Remove "will_become_local". Adjust
|
||
WILL_CALL_FINISH_DYNAMIC_SYMBOL use. Trim dyn relocs as per
|
||
allocate_dynrelocs. Don't recalculate "sec".
|
||
|
||
2003-02-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Remove unnecessary test.
|
||
* elf64-ppc.c (ppc64_elf_tls_optimize): Decrement tlsld_got.refcount
|
||
on invalid LD relocs.
|
||
(allocate_dynrelocs): Invalid LD relocs don't use tlsld_got entry.
|
||
(ppc64_elf_relocate_section): Unify new handling of LD relocs and
|
||
tlsld_got entry. Use IS_PPC64_TLS_RELOC.
|
||
|
||
* elf32-ppc.h: New file.
|
||
* elf32-ppc.c: Include elf32-ppc.h.
|
||
(NOP, CROR_151515, CROR_313131, TP_OFFSET, DTP_OFFSET): Define.
|
||
(struct ppc_elf_link_hash_entry): Rename "root" to "elf". Adjust uses.
|
||
Add "tls_mask" field.
|
||
(TLS_GD, TLS_LD, TLS_TPREL, TLS_DTPREL, TLS_TLS, TLS_TPRELGD): Define.
|
||
(struct ppc_elf_link_hash_table): Rename "root" to "elf". Adjust uses.
|
||
Add got, relgot, plt, relplt, dynbss, relbss, dynsbss, relsbss,
|
||
sdata, sdata2, tls_sec, tls_get_addr, tlsld_got fields.
|
||
Make use of htab shortcuts throughout file.
|
||
(ppc_elf_link_hash_newfunc): Init tls_mask field.
|
||
(ppc_elf_link_hash_table_create): Init new fields.
|
||
(ppc_elf_copy_indirect_symbol): Copy tls_mask.
|
||
(ppc_elf_howto_raw): Add tls relocs.
|
||
(ppc_elf_reloc_type_lookup): Handle them.
|
||
(ppc_elf_unhandled_reloc): New function.
|
||
(ppc_elf_create_got): Stash got section pointer in hash table,
|
||
return status. Make .rela.got too.
|
||
(ppc_elf_create_dynamic_sections): Stash section pointers in htab.
|
||
(ppc_elf_adjust_dynamic_symbol): Only set up copy relocs when
|
||
NON_GOT_REF set. Don't allocate space in .plt here..
|
||
(allocate_dynrelocs): ..do so here instead, properly ref-counting and
|
||
not allocating plt entries unnecessarily. Allocate got entries here.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): Define.
|
||
(ppc_elf_size_dynamic_sections): Allocate local got entries. Pass
|
||
"info" during allocate_dynrelocs hash traversal. Use htab section
|
||
shortcuts rather than searching for named sections. Get rid of
|
||
"plt" and "strip" booleans.
|
||
(update_local_sym_info, bad_shared_reloc): New functions.
|
||
(ppc_elf_check_relocs): Handle TLS relocs. Move .rela.got creation to
|
||
ppc_elf_create_got. Don't mark got or plt reloc syms dynamic, do so
|
||
in allocate_dynreloc. Use update_local_sym_info and bad_shared_reloc.
|
||
Disallow R_PPC_EMB_RELSDA, R_PPC_EMB_NADDR32, R_PPC_EMB_NADDR16,
|
||
R_PPC_EMB_NADDR16_LO, R_PPC_EMB_NADDR16_HI and R_PPC_EMB_NADDR16_HA
|
||
in shared libs. R_PPC_PLTREL32 is a plt reloc too. Refcount all
|
||
relocs that might use a plt entry. Set NON_GOT_REF too.
|
||
Enumerate all do-nothing relocs.
|
||
(ppc_elf_gc_sweep_hook): Simplify removal of dynrelocs. Handle
|
||
tls relocs and all plt relocs.
|
||
(ppc_elf_tls_setup, ppc_elf_tls_optimize): New functions.
|
||
(ppc_elf_finish_dynamic_symbol): Don't build got entries here.
|
||
(ppc_elf_finish_dynamic_sections): Rewrite tag code using htab
|
||
shortcuts.
|
||
(ppc_elf_relocate_section): Tidy. Handle TLS relocs. Use
|
||
bfd_elf_local_sym_name. Simplify unresolved reloc code. Build got
|
||
entries and got relocs here. Warn on non-zero got reloc addend.
|
||
Split out branch taken/not taken reloc code into a separate switch
|
||
and correct offset calculation. Allow BRTAKEN/BRNTAKEN dynamic relocs.
|
||
Split out HA reloc adjustments to separate switch statement. Don't
|
||
warn on reloc overflow if we've already warned about undefined.
|
||
Don't rebuild sym name when reporting errors. Report all possible
|
||
errors from _bfd_final_link_relocate.
|
||
(bfd_elf32_bfd_final_link): Don't define.
|
||
|
||
2003-02-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Don't init "r". Don't
|
||
rebuild sym name when reporting errors.
|
||
|
||
2003-02-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elflink.h (elf_link_output_extsym): Only check
|
||
allow_shlib_undefined for shared libraries.
|
||
* elf32-i386.c (elf_i386_relocate_section): Remove bogus check
|
||
of allow_shlib_undefined.
|
||
* elf32-cris.c (cris_elf_relocate_section): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-sh.c (sh_elf_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf32-vax.c (elf_vax_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_relocate_section): Likewise.
|
||
|
||
2003-02-17 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf.c (SEGMENT_AFTER_SEGMENT): Add third parameter - the
|
||
address field to use in the comparison.
|
||
(SEGMENT_OVERLAPS): Check that LMAs overlap as well.
|
||
|
||
2003-02-14 Bob Wilson <bob.wilson@acm.org>
|
||
|
||
* elfcore.h (elf_core_file_p): Compare alternate machine codes for ELF
|
||
backends when checking if the generic ELF target should be used.
|
||
|
||
* syms.c (_bfd_stab_section_find_nearest_line): For line number stabs
|
||
outside of functions, treat values as absolute addresses.
|
||
|
||
* bfd.c: Change embedded documentation to use consistent indentation
|
||
and to split up long lines. Change informal style of description
|
||
for functions lacking real documentation.
|
||
* coffcode.h: Break up long lines in embedded documentation.
|
||
* format.c: Likewise.
|
||
* targets.c: Likewise.
|
||
* libcoff.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-02-14 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_link_hash_table_create): Init tls_get_addr.
|
||
(ppc64_elf_copy_indirect_symbol): Merge tls_mask too.
|
||
(ppc64_elf_gc_sweep_hook): Simplify removal of dyn_relocs.
|
||
(allocate_dynrelocs): Don't treat undefined and undefweak specially.
|
||
(ppc_size_one_stub): Fix warning, and tighten plt entry check.
|
||
(group_sections): Don't share a stub section if stubs are for a large
|
||
section. Adjust comment.
|
||
(ppc64_elf_size_stubs): Roughly double the size left for stubs if
|
||
!stubs_always_before_branch.
|
||
(ppc64_elf_relocate_section): Initialize tlsld GOT entry once. Don't
|
||
treat undefined and undefweak specially when processing dyn relocs.
|
||
|
||
2003-02-13 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Handle .symver x, x@FOO.
|
||
|
||
2003-02-13 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-arm.h (elf32_thumb_to_arm_stub): Include section VMAs
|
||
in computation of offset to insert into BL instruction.
|
||
|
||
2003-02-11 Uwe Stieber <uwe@wwws.de>
|
||
|
||
* config.bfd: Add support for kaOS as cross build target system.
|
||
|
||
2003-02-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Match versioned
|
||
.__tls_get_addr too.
|
||
(ppc64_elf_tls_setup): Ensure cached tls_get_addr is not indirect.
|
||
|
||
2003-02-10 Kaz kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (elf_sh_dyn_relocs): Add tls_tpoff32 field.
|
||
(elf_sh_link_hash_entry): Remove tls_tpoff32 field.
|
||
(sh_elf_link_hash_newfunc): Remove the initialization of
|
||
tls_tpoff32 field.
|
||
(allocate_dynrelocs): Keep dyn_relocs if it includes the entry
|
||
for which tls_tpoff32 flag is set.
|
||
(sh_elf_relocate_section): Covert to LE only if the dyn_relocs
|
||
of the symbol includes the entry matched with the input_section
|
||
and having tls_tpoff32 flag on. When linking statically, set
|
||
symbol index of R_SH_TLS_TPOFF32 relocation to zero if the symbol
|
||
is defined in this executable.
|
||
(sh_elf_check_relocs): Set tls_tpoff32 flag appropriately.
|
||
|
||
2003-02-10 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-s390.c (elf_s390_size_dynamic_sections): Set relocs to TRUE
|
||
even if there is just non-empty .rela.plt.
|
||
|
||
2003-02-10 Nick Clifton <nickc@redhat.com>
|
||
|
||
* archures.c (bfd_mach_arm_ep9312): Define.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-arm.c (processors[]): Add ep9312.
|
||
(bfd_arm_arch): Add ep9312.
|
||
* elf32-arm.h (elf32_arm_merge_private_data): Update error
|
||
messages and add test for Maverick floating point support.
|
||
(elf32_arm_print_private_bfd_data): Handle
|
||
EF_ARM_MAVERICK_FLOAT flag.
|
||
(elf32_arm_object_p): New function.
|
||
(elf_backend_object_p): Define.
|
||
|
||
2003-02-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Rename assorted occurrences of tls_type and similar
|
||
variables, structure fields or function params to tls_mask or
|
||
similar to better reflect usage.
|
||
(struct got_entry): Comment.
|
||
(struct ppc_link_hash_entry): Expand comment, and renumber TLS_*.
|
||
(get_tls_mask): Rename from get_tls_type.
|
||
|
||
2003-02-09 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (TLS_GD_LD): Don't define..
|
||
(TLS_GD): ..define this instead and update all uses.
|
||
(TLS_TPRELGD): Define.
|
||
(ppc64_elf_link_hash_table_create): Tweak initialization of
|
||
init_refcount and init_offset.
|
||
(ppc64_elf_check_relocs): Add one extra element to t_symndx array.
|
||
Mark second slot of GD or LD toc entries.
|
||
(get_tls_type): Return an int. Distinguish toc GD and LD entries
|
||
from other tls types.
|
||
(ppc64_elf_tls_setup): New function, split out from..
|
||
(ppc64_elf_tls_optimize): ..here. Don't optimize when symbols are
|
||
defined in a dynamic object. Fix LD optimization. Don't set TLS_TPREL
|
||
on GD->IE optimization, use TLS_TPRELGD instead. Use get_tls_type
|
||
return value to properly decide whether toc GD and LD entries can
|
||
optimize away __tls_get_addr call. Check next reloc after DTPMOD64
|
||
to determine GD or LD rather than looking at TLS_LD flag. Don't
|
||
attempt to adjust got entry tls_type here..
|
||
(allocate_dynrelocs): ..instead, adjust got entry tls_type here, and
|
||
look for possible merges.
|
||
(ppc64_elf_size_dynamic_sections): Adjust local got entries for
|
||
optimization.
|
||
(ppc64_elf_size_stubs): Tweak __tls_get_addr fudge.
|
||
(ppc64_elf_relocate_section): Rename some vars to better reflect usage.
|
||
Make use of return value from get_tls_type to properly detect GD and
|
||
LD optimizations. Split tlsld/gd hi/ha from lo/ds case. Don't
|
||
handle tls_get_addr removal when looking at REL24 relocs, do it when
|
||
looking at the previous reloc. Check reloc after DTPMOD64 to determine
|
||
GD or LD.
|
||
* elf64-ppc.h (ppc64_elf_tls_setup): Declare.
|
||
|
||
2003-02-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (group_sections): Don't share a stub section if
|
||
stubs are for a large section.
|
||
|
||
* elf32-hppa.c (elf32_hppa_size_stubs): Double the size left for
|
||
stubs if !stubs_always_before_branch.
|
||
|
||
2003-02-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf.c (swap_out_syms): Generate an error message if an
|
||
equivalent output section cannot be found for a symbol.
|
||
|
||
2003-02-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relax_section): Don't crash if
|
||
local_got_entries is NULL.
|
||
|
||
2003-02-06 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf-eh-frame.c (get_DW_EH_PE_signed): Define.
|
||
(read_value): Add parameter is_signed, use signed extraction if
|
||
the value is signed.
|
||
(_bfd_elf_write_section_eh_frame): Pass signed flag of the
|
||
encoding to read_value.
|
||
|
||
2003-02-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy got and
|
||
plt info when called to transfer weak sym info.
|
||
|
||
2003-02-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* reloc.c: Add PPC and PPC64 TLS relocs.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* elf64-ppc.c (TP_OFFSET, DTP_OFFSET): Declare.
|
||
(ppc64_elf_howto_raw): Add TLS howto's. Adjust R_PPC64_NONE to be
|
||
against a 32 bit field.
|
||
(ppc64_elf_reloc_type_lookup): Handle TLS relocs.
|
||
(_ppc64_elf_section_data): Add t_symndx and comments.
|
||
(ppc64_elf_section_data): Use elf_section_data macro.
|
||
(ppc64_elf_new_section_hook): American spelling.
|
||
(struct got_entry, struct plt_entry): New.
|
||
(MUST_BE_DYN_RELOC): Rename from IS_ABSOLUTE_RELOC.
|
||
(struct ppc_stub_hash_entry): Add "addend" field.
|
||
(struct ppc_link_hash_entry): Add "tls_type".
|
||
(TLS_TLS, TLS_GD_LD, TLS_LD, TLS_TPREL, TLS_DTPREL,
|
||
TLS_EXPLICIT): Define.
|
||
(struct ppc_link_hash_table): Add tls_sec, tls_get_addr, tlsld_got.
|
||
(link_hash_newfunc): Init new fields.
|
||
(ppc64_elf_link_hash_table_create): Likewise. Set init_refcount and
|
||
init_offset to NULL.
|
||
(ppc64_elf_copy_indirect_symbol): Copy got and plt info. Don't call
|
||
_bfd_elf_link_hash_copy_indirect, rather insert relevant code from
|
||
there.
|
||
(update_local_sym_info, update_plt_info): New functions.
|
||
(ppc64_elf_check_relocs): Use them. Handle TLS relocs. Adjust GOT
|
||
handling to use got.glist rather than got.refcount. Likewise for PLT.
|
||
(ppc64_elf_gc_sweep_hook): Handle TLS relocs, new GOT and PLT lists.
|
||
(func_desc_adjust): Adjust for new PLT list.
|
||
(ppc64_elf_adjust_dynamic_symbol): Likewise.
|
||
(get_sym_h, get_tls_type): New functions.
|
||
(ppc64_elf_edit_opd): Remove unused variable. Use get_sym_h.
|
||
(ppc64_elf_tls_optimize): New function.
|
||
(allocate_dynrelocs): Adjust for new PLT and GOT lists. Allocate
|
||
TLS relocs.
|
||
(ppc64_elf_size_dynamic_sections): Likewise.
|
||
(ppc_type_of_stub): Adjust for new PLT list.
|
||
(ppc_build_one_stub): Likewise.
|
||
(ppc64_elf_size_stubs): Likewise. Use get_sym_h. Treat __tls_get_addr
|
||
calls specially.
|
||
(ppc64_elf_relocate_section): Adjust for new GOT and PLT lists. Handle
|
||
TLS relocs. Report local syms using bfd_elf_local_sym_name. Don't
|
||
init GOT entries that have a reloc. Generate GOT relocs here..
|
||
(ppc64_elf_finish_dynamic_symbol): ..not here. Adjust for PLT list.
|
||
* elf64-ppc.h (ppc64_elf_tls_optimize): Declare.
|
||
|
||
2003-02-04 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-m68k.c (elf_m68k_hash_entry): Define.
|
||
(elf_m68k_link_hash_traverse): Remove.
|
||
(elf_m68k_link_hash_newfunc): Use struct bfd_hash_entry and
|
||
elf_m68k_hash_entry instead of struct elf_m68k_link_hash_entry to
|
||
reduce casting.
|
||
(elf_m68k_check_relocs): Use elf_m68k_hash_entry instead of
|
||
casting.
|
||
(elf_m68k_size_dynamic_sections): Use elf_link_hash_traverse
|
||
instead of elf_m68k_link_hash_traverse.
|
||
(elf_m68k_discard_copies): Change first parameter to pointer to
|
||
struct elf_link_hash_entry and use elf_m68k_hash_entry when struct
|
||
elf_m68k_link_hash_entry is needed.
|
||
|
||
2003-02-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct got_entry, struct plt_entry): Forward declare.
|
||
(struct elf_link_hash_entry): Add "glist" and "plist" fields to
|
||
"got" union, and declare as gotplt_union. Use gotplt_uinion for
|
||
"plt" field.
|
||
(struct elf_link_hash_table): Make "init_refcount" a gotplt_union.
|
||
Add "init_offset" field.
|
||
(struct elf_obj_tdata <local_got>): Add "struct got_entry **" to union.
|
||
(elf_local_got_ents): Declare.
|
||
* elf.c (_bfd_elf_link_hash_newfunc): Adjust initialization of "got"
|
||
and "plt".
|
||
(_bfd_elf_link_hash_hide_symbol): Use "init_offset".
|
||
(_bfd_elf_link_hash_table_init): Set "init_offset".
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set init_refcount
|
||
from init_offset.
|
||
(elf_adjust_dynamic_symbol): Set plt and got offsets using init_offset.
|
||
|
||
* elf.c (bfd_elf_local_sym_name): Split out from..
|
||
(group_signature): ..here.
|
||
* elf-bfd.h (bfd_elf_local_sym_name): Declare.
|
||
|
||
2003-02-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (enum elf_link_info_type): Remove.
|
||
(struct bfd_elf_section_data): Move sec_info_type, use_rela_p fields
|
||
to struct sec. Remove linkonce_p field.
|
||
(elf_linkonce_p): Delete.
|
||
(elf_discarded_section): Update for sec_info_type change.
|
||
* section.c (struct sec): Add sec_info_type, use_rela_p, has_tls_reloc,
|
||
flag11, flag12, flag13, flag14, flag15, flag16, flag20, flag24.
|
||
(ELF_INFO_TYPE_NONE): Define.
|
||
(ELF_INFO_TYPE_STABS): Define.
|
||
(ELF_INFO_TYPE_MERGE): Define.
|
||
(ELF_INFO_TYPE_EH_FRAME): Define.
|
||
(ELF_INFO_TYPE_JUST_SYMS): Define.
|
||
(STD_SECTION): Update struct sec initializer.
|
||
* ecoff.c (bfd_debug_section): Likewise.
|
||
* elf.c: Likewise. Update occurrences of sec_info_type and use_rela_p.
|
||
* elflink.h: Likewise.
|
||
* elf-eh-frame.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elfxx-ia64.c: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
* elf32-sparc.c (sec_do_relax): Use elf_section_data macro rather than
|
||
referring to used_by_bfd.
|
||
* elf64-sparc.c (sec_do_relax): Likewise.
|
||
* elf64-mmix.c (mmix_elf_section_data): Likewise.
|
||
* elfxx-mips.c (mips_elf_section_data): Likewise.
|
||
* ieee.c (ieee_slurp_section_data): Use ieee_per_section macro.
|
||
(ieee_get_section_contents): Likewise.
|
||
(ieee_new_section_hook): Formatting.
|
||
(ieee_canonicalize_reloc): Remove commented out code.
|
||
* mmo.c (mmo_section_data): Define. Use throughout file.
|
||
* oasys.c (oasys_get_section_contents): Use oasys_per_section macro.
|
||
|
||
2003-01-31 Graydon Hoare <graydon@redhat.com>
|
||
|
||
* Makefile.am (opncls.lo): Add dependency upon libiberty.h.
|
||
* Makefile.in: Regenerate.
|
||
* opncls.c (calc_crc32, get_debug_link_info,
|
||
seperate_debug_file_exists, find_seperate_debug_file): New
|
||
internal functions.
|
||
(bfd_follow_gnu_debuglink): New function. Follow the pointer
|
||
contained inside a .gnu_debuglink section.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2003-01-29 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_got_entry_hash): Don't dereference
|
||
entry->abfd when it's NULL.
|
||
|
||
2003-01-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Handle
|
||
_bfd_elf_section_offset returning -2 the same way as -1.
|
||
|
||
* elfxx-mips.c (mips_elf_multi_got): New function.
|
||
(struct mips_got_entry): Make symndx and gotidx signed. Moved
|
||
addend into union along with address and link hash entry.
|
||
(struct mips_got_info): Added bfd2got and next.
|
||
(struct mips_elf_hash_sort_data): Added max_unref_got_dynindx.
|
||
(mips_elf_got_section, mips_elf_create_got_section): Use
|
||
SEC_EXCLUDE bit to tell whether we really need the got
|
||
section. Take boolean arguments to disregard an excluded
|
||
section, or to create it as excluded. Adjust all callers.
|
||
Use mips_elf_got_section all over.
|
||
(mips_elf_local_got_index, mips_elf_got_page,
|
||
mips_elf_got16_entry): Take input bfd as argument, and pass it
|
||
on to mips_elf_create_local_got_entry.
|
||
(mips_elf_global_got_index, mips_elf_create_local_got_entry):
|
||
Take input bfd as argument, and manage entries in the
|
||
appropriate GOT.
|
||
(mips_elf_got_offset_from_index): Take input bfd as argument,
|
||
and use it to adjust the GP offset of the bfd.
|
||
(mips_elf_sort_hash_table, mips_elf_sort_hash_table_f): Move
|
||
unreferenced GOT entries of global symbols to the end.
|
||
(mips_elf_record_global_got_symbol): Take input bfd as
|
||
argument. Add entries to the master GOT hash table.
|
||
(struct mips_elf_bfd2got_hash): New.
|
||
(struct mips_elf_got_per_bfd_arg): New.
|
||
(struct mips_elf_set_global_got_offset_arg): New.
|
||
(mips_elf_hash_bfd_vma, mips_elf_multi_got_entry_hash,
|
||
mips_elf_multi_got_entry_eq, mips_elf_bfd2got_entry_hash,
|
||
mips_elf_bfd2got_entry_eq, mips_elf_make_got_per_bfd,
|
||
mips_elf_merge_gots, mips_elf_set_global_got_offset,
|
||
mips_elf_resolve_final_got_entry,
|
||
mips_elf_resolve_final_got_entries, mips_elf_adjust_gp,
|
||
mips_elf_got_for_ibfd): New functions.
|
||
(ELF_MIPS_GP_OFFSET): Don't depend on SGI_COMPAT.
|
||
(MIPS_ELF_GOT_MAX_SIZE): New macro.
|
||
(STUB_LW): Generate 64-bit stub regardless of SGI_COMPAT.
|
||
(mips_elf_got_entry_hash): Take new fields into account. Use
|
||
mips_elf_hash_bfd_vma.
|
||
(mips_elf_got_entry_eq): Take new fields into account.
|
||
(mips_elf_create_got_section): Initialize new fields.
|
||
(mips_elf_calculate_relocation): Pass input_bfd to functions
|
||
that now take it. Adjust gp for the input_bfd.
|
||
(mips_elf_allocate_dynamic_relocation,
|
||
mips_elf_create_dynamic_relocation,
|
||
_bfd_mips_elf_create_dynamic_sections): Use...
|
||
(mips_elf_rel_dyn_section): New function. Borrow code from...
|
||
(_bfd_mips_elf_check_relocs): Pass input_bfd to functions that
|
||
now take it. Create the got section if needed, even if
|
||
excluded, before recording a global got symbol. Move some
|
||
code to...
|
||
(mips_elf_record_local_got_symbol): New fn.
|
||
(_bfd_mips_elf_size_dynamic_sections): Disable combreloc.
|
||
Compute multi-got global entries offsets. Move GOT code to...
|
||
(_bfd_mips_elf_always_size_sections): Call mips_elf_multi_got
|
||
if the GOT is too big.
|
||
(_bfd_mips_elf_finish_dynamic_symbol): Set got entry of
|
||
undefweak symbol to zero. Generate dynamic relocations for
|
||
non-primary GOT entries for global symbols.
|
||
(_bfd_mips_elf_finish_dynamic_sections): Handle multi-got
|
||
case. Generate dynamic relocations for local got entries.
|
||
Sort dynamic relocations on N64 too, using...
|
||
(sort_dynamic_relocs_64): New fns.
|
||
(_bfd_mips_elf_hide_symbol): Adjust multi-got counters.
|
||
(_bfd_mips_elf_merge_private_bfd_data): Ignore EF_MIPS_XGOT.
|
||
|
||
2003-01-27 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* bfd.c (struct _bfd): Added id field.
|
||
* opncls.c (_bfd_id_counter): New static variable.
|
||
(_bfd_new_bfd): Use it.
|
||
* bfd-in2.h: Rebuilt.
|
||
|
||
2003-01-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-sparc.c (bfd_elf32_new_section_hook): Define.
|
||
|
||
2003-01-25 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-sparc.c (_bfd_sparc_elf_howto_table): Add TLS relocs.
|
||
(elf32_sparc_rev32_howto): New variable.
|
||
(sparc_reloc_map): Add TLS relocs.
|
||
(elf32_sparc_reloc_type_lookup, elf32_sparc_info_to_howto):
|
||
Handle REV32.
|
||
(sparc_elf_hix22_reloc, sparc_elf_lox10_reloc, elf32_sparc_mkobject):
|
||
New functions.
|
||
(struct elf32_sparc_dyn_relocs, struct elf32_sparc_link_hash_entry,
|
||
struct elf32_sparc_link_hash_table):
|
||
New structures.
|
||
(elf32_sparc_tdata, elf32_sparc_local_got_tls_type,
|
||
elf32_sparc_hash_table): Define.
|
||
(link_hash_newfunc, elf32_sparc_link_hash_table_create,
|
||
create_got_section, elf32_sparc_create_dynamic_sections,
|
||
elf32_sparc_copy_indirect_symbol, elf32_sparc_tls_transition): New
|
||
functions.
|
||
(elf32_sparc_check_relocs): Handle TLS relocs. Add dynamic reloc
|
||
reference counting.
|
||
(elf32_sparc_gc_sweep_hook): Likewise.
|
||
(elf32_sparc_adjust_dynamic_symbol): Likewise.
|
||
(elf32_sparc_size_dynamic_sections): Likewise.
|
||
(elf32_sparc_relocate_section): Likewise.
|
||
(allocate_dynrelocs, readonly_dynrelocs, dtpoff_base, tpoff):
|
||
New functions.
|
||
(elf32_sparc_object_p): Allocate backend private object data.
|
||
(bfd_elf32_bfd_link_hash_table_create,
|
||
elf_backend_copy_indirect_symbol, bfd_elf32_mkobject,
|
||
elf_backend_can_refcount): Define.
|
||
(elf_backend_create_dynamic_sections): Define to
|
||
elf32_sparc_create_dynamic_sections.
|
||
* reloc.c: Add SPARC TLS relocs.
|
||
* bfd-in2.h, libbfd.h: Rebuilt.
|
||
* elf64-sparc.c (sparc64_elf_howto_table): Add TLS relocs.
|
||
(sparc_reloc_map): Likewise.
|
||
|
||
2003-01-24 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* bfd-in2.h: Regenerate.
|
||
* elf32-s390.c (elf_s390_mkobject, elf_s390_tls_transition,
|
||
s390_tls_reloc, dtpoff_base, tpoff, invalid_tls_insn): New functions.
|
||
(elf_howto_table): Add TLS relocs.
|
||
(elf_s390_reloc_type_lookup): Likewise.
|
||
(elf_s390_link_hash_entry): Add tls_type.
|
||
(elf_s390_hash_entry, elf_s390_obj_tdata, elf_s390_local_got_tls_type):
|
||
New macros.
|
||
(elf_s390_link_hash_table): Add tls_ldm_got.
|
||
(link_hash_newfunc): Initialize tls_type.
|
||
(elf_s390_link_hash_table_create): Initialize refcount of tls_ldm_got.
|
||
(elf_s390_copy_indirect_symbol): Copy tls_type information.
|
||
(elf_s390_check_relocs): Support TLS relocs.
|
||
(elf_s390_gc_sweep_hook): Likewise.
|
||
(allocate_dynrelocs): Likewise.
|
||
(elf_s390_size_dynamic_sections): Likewise.
|
||
(elf_s390_relocate_section): Likewise.
|
||
(elf_s390_finish_dynamic_symbol): Likewise.
|
||
(bfd_elf32_mkobject): Define for TLS.
|
||
* elf64-s390.c: Same changes as for elf32-s390.c.
|
||
* libbfd.h: Regenerate.
|
||
* reloc.c: Add s390 TLS relocations.
|
||
|
||
2003-01-24 Charles Lepple <clepple@ghz.cc>
|
||
|
||
* aclocal.m4: Fix name of --enable-install-libbfd switch.
|
||
|
||
2003-01-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* Add sh2e support:
|
||
2002-04-02 Elena Zannoni <ezannoni@redhat.com>
|
||
* archures.c (bfd_mach_sh2e): Added.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-sh.c (arch_info_struct): Added SH2e.
|
||
* elf32-sh.c (sh_elf_set_mach_from_flags): Handle EF_SH2E.
|
||
|
||
2003-01-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct bfd_elf_section_data): Remove tdata. Change
|
||
dynindx to an int. Rearrange for better packing.
|
||
* elf.c (_bfd_elf_new_section_hook): Don't alloc if already done.
|
||
* elf32-mips.c (bfd_elf32_new_section_hook): Define.
|
||
* elf32-sh64.h: New. Split out from include/elf/sh.h.
|
||
(struct _sh64_elf_section_data): New struct.
|
||
(sh64_elf_section_data): Don't dereference sh64_info (was tdata).
|
||
* elf32-sh64-com.c: Include elf32-sh64.h.
|
||
* elf32-sh64.c: Likewise.
|
||
(sh64_elf_new_section_hook): New function.
|
||
(bfd_elf32_new_section_hook): Define.
|
||
(sh64_elf_fake_sections): Adjust for sh64_elf_section_data change.
|
||
(sh64_bfd_elf_copy_private_section_data): Likewise.
|
||
(sh64_elf_final_write_processing): Likewise.
|
||
* elf32-sparc.c (struct elf32_sparc_section_data): New.
|
||
(elf32_sparc_new_section_hook): New function.
|
||
(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
|
||
(sec_do_relax): Define.
|
||
(elf32_sparc_relax_section): Adjust to use sec_do_relax.
|
||
(elf32_sparc_relocate_section): Likewise.
|
||
* elf64-mips.c (bfd_elf64_new_section_hook): Define.
|
||
* elf64-mmix.c (struct _mmix_elf_section_data): New.
|
||
(mmix_elf_section_data): Define. Use throughout file.
|
||
(mmix_elf_new_section_hook): New function.
|
||
(bfd_elf64_new_section_hook): Define.
|
||
* elf64-ppc.c (struct _ppc64_elf_section_data): New.
|
||
(ppc64_elf_section_data): Define. Use throughout.
|
||
(ppc64_elf_new_section_hook): New function.
|
||
(bfd_elf64_new_section_hook): Define.
|
||
* elf64-sparc.c (struct sparc64_elf_section_data): New.
|
||
(sparc64_elf_new_section_hook): New function.
|
||
(SET_SEC_DO_RELAX, SEC_DO_RELAX): Delete.
|
||
(sec_do_relax): Define.
|
||
(sparc64_elf_relax_section): Adjust to use sec_do_relax.
|
||
(sparc64_elf_relocate_section): Likewise.
|
||
(bfd_elf64_new_section_hook): Define.
|
||
* elfn32-mips.c (bfd_elf32_new_section_hook): Define.
|
||
* elfxx-mips.c (struct _mips_elf_section_data): New.
|
||
(mips_elf_section_data): Define. Use throughout.
|
||
(_bfd_mips_elf_new_section_hook): New function.
|
||
(mips_elf_create_got_section): Don't alloc used_by_bfd.
|
||
* elfxx-mips.h (_bfd_mips_elf_new_section_hook): Declare.
|
||
* elfxx-target.h (bfd_elfNN_new_section_hook): Add #ifndef.
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-01-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_PLT_LOC): New.
|
||
(struct alpha_elf_link_hash_entry): Add plt_old_section, plt_old_value.
|
||
(elf64_alpha_adjust_dynamic_symbol): Set them.
|
||
(elf64_alpha_size_plt_section_1): Reset them when plt entry removed.
|
||
(elf64_alpha_relax_tls_get_addr): Handle LDM relocs. Frob the
|
||
symbol index when relaxing LDM to TPREL.
|
||
(elf64_alpha_relax_section): Likewise. Allow relaxation of GD
|
||
relocs, even if the target isn't locally defined.
|
||
(elf64_alpha_check_relocs): Frob LDM reloc symndx to zero.
|
||
(elf64_alpha_relocate_section): Likewise. Force TP-relative
|
||
relocs vs symndx 0 to the tp base.
|
||
|
||
2003-01-21 Fabio Alemagna <falemagn@aros.org>
|
||
|
||
* config.bfd: Handle i[3456]86-*-aros*.
|
||
|
||
2003-01-21 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-ppc.c (struct ppc_elf_dyn_relocs): Define.
|
||
(struct ppc_elf_link_hash_entry): Define.
|
||
(ppc_elf_hash_entry): New function.
|
||
(struct ppc_elf_link_hash_table): Define.
|
||
(ppc_elf_hash_table): New function.
|
||
(ppc_elf_link_hash_newfunc): New function.
|
||
(ppc_elf_link_hash_table_create): New function.
|
||
(ppc_elf_copy_indirect_symbol): New function.
|
||
(allocate_dynrelocs): New function.
|
||
(readonly_dynrelocs): New function.
|
||
(ppc_elf_size_dynamic_sections): Allocate space for dynamic
|
||
relocs and determine DT_TEXTREL.
|
||
(ppc_elf_check_relocs): Don't do that here, just count the
|
||
dynamic relocs.
|
||
(ppc_elf_gc_sweep_hook): Discard any dynamic relocs against the
|
||
removed section.
|
||
(bfd_elf32_bfd_link_hash_table_create): Define.
|
||
(elf_backend_copy_indirect_symbol): Define.
|
||
|
||
2003-01-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (alpha_dynamic_entries_for_reloc): GOTTPREL and
|
||
TPREL also get a reloc if shared. Remove SREL support.
|
||
(elf64_alpha_emit_dynrel): New.
|
||
(elf64_alpha_relocate_section): Use it. Resolve dynamic TPREL
|
||
and GOTTPREL relocs to local symbols against the tp base.
|
||
(elf64_alpha_finish_dynamic_symbol): Use elf64_alpha_emit_dynrel.
|
||
|
||
* elf64-alpha.c (elf64_alpha_relax_got_load): Decrement got
|
||
use count before clobbering r_type.
|
||
(elf64_alpha_relax_tls_get_addr): Don't use pos[1] if insn
|
||
ordering would mean dataflow inspection is necessary.
|
||
|
||
2003-01-20 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* coffcode.h (coff_set_flags): Added get/set arch hooks.
|
||
|
||
2003-01-20 Fabio Alemagna <falemagn@aros.org>
|
||
|
||
* elf32-sh.c: Treat elfNN_bed like other macros defined in
|
||
elfxx-target.h and #undef it before #define'ing it.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
|
||
2003-01-20 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* bfd-in2.h: Regenerate.
|
||
* elf32-s390.c (elf_s390_adjust_gotplt): New prototype.
|
||
(elf_howto_table): Rename R_390_GOTOFF to R_390_GOTOFF32. Add
|
||
R_390_GOTOFF16, R_390_GOTOFF64, R_390_GOTPLT12, R_390_GOTPLT16,
|
||
R_390_GOTPLT32, R_390_GOTPLT64, R_390_GOTPLTENT, R_390_PLTOFF16,
|
||
R_390_PLTOFF32 and R_390_PLTOFF64.
|
||
(elf_s390_reloc_type_lookup): Likewise.
|
||
(struct elf_s390_link_hash_entry): Add gotplt_refcount to keep track
|
||
of GOTPLT references to a function.
|
||
(link_hash_newfunc): Initialize gotplt_refcount.
|
||
(elf_s390_check_relocs): Move allocation of local_got_refcounts array
|
||
and creation of the got section out of the main switch. Add support
|
||
for the gotoff, gotplt and pltoff relocations.
|
||
(elf_s390_gc_sweep_hook): Add reference counting for gotoff, gotplt
|
||
and pltoff.
|
||
(elf_s390_adjust_gotplt): New function.
|
||
(elf_s390_adjust_dynamic_symbol): Adjust gotplt refcount for removed
|
||
plt entries.
|
||
(allocate_dynrelocs): Add comment.
|
||
(elf_s390_relocate_section): Change r_type to unsigned. Add support
|
||
for gotoff, gotplt and pltoff relocations.
|
||
* elf64-s390.c: Same changes as for elf32-s390.c.
|
||
* libbfd.h: Regenerate.
|
||
* reloc.c: Add BFD_RELOC_390_GOTOFF64, BFD_RELOC_390_GOTPLT12,
|
||
BFD_RELOC_390_GOTPLT16, BFD_RELOC_390_GOTPLT32, BFD_RELOC_390_GOTPLT64,
|
||
BFD_RELOC_390_GOTPLTENT, BFD_RELOC_390_PLTOFF16, BFD_RELOC_390_PLTOFF32
|
||
and BFD_RELOC_390_PLTOFF64.
|
||
|
||
2003-01-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Handle
|
||
R_IA64_TPREL64[LM]SB against non-global symbol properly.
|
||
|
||
2003-01-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfxx-ia64.c (struct elfNN_ia64_link_hash_table): Add
|
||
self_dtpmod_done and self_dtpmod_offset.
|
||
(allocate_global_data_got): Only use one got entry for all
|
||
dtpmod relocs against local symbols.
|
||
(allocate_dynrel_entries): Only need .rela.got entry for
|
||
dtpmod against global symbol.
|
||
(elfNN_ia64_size_dynamic_sections): Initialize self_dtpmod_offset.
|
||
Reserve space in .rela.got for the local dtpmod entry.
|
||
(set_got_entry): Initialize the common local dtpmod .got entry.
|
||
(elfNN_ia64_relocate_section): Handle R_IA_64_DTPREL64LSB
|
||
and R_IA_64_DTPREL64MSB.
|
||
|
||
2003-01-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Include elf/ppc64.h rather than elf/ppc.h.
|
||
(R_PPC_*): Rename all occurrences to R_PPC64_*.
|
||
(R_PPC64_ADDR30): Rename all occurrences to R_PPC64_REL30.
|
||
(enum elf_ppc_reloc_type): Ditto to enum elf_ppc64_reloc_type.
|
||
(ppc64_elf_gc_sweep_hook): Handle R_PPC64_REL30 along with other
|
||
relative relocs, not with absolute ones.
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2003-01-15 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-ppc.c (ppc_elf_check_relocs): Don't set DF_TEXTREL for a
|
||
relocation against a non-allocated readonly section.
|
||
|
||
2003-01-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Adjust addend for GOT16_HA.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise. PLTGOT16_HA too.
|
||
|
||
2002-01-08 Klee Dienes <kdienes@apple.com>
|
||
|
||
* Makefile.am (ALL_MACHINES): Use cpu-msp430.lo, not cpu-msp430.c.
|
||
(BFD32_BACKENDS): Use elf32-msp430.lo, not elf32-msp430.c.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2003-01-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfn32-mips.c (prev_reloc_section): New.
|
||
(GET_RELOC_ADDEND): Use it. Parenthesize macro arguments.
|
||
(SET_RELOC_ADDEND): Parenthesize macro argument.
|
||
|
||
2003-01-07 John David Anglin <dave.anglin@nrc.gc.ca>
|
||
|
||
* elf32-hppa.c (final_link_relocate): For all DP relative relocations,
|
||
adjust addil instructions if the symbol has no section.
|
||
|
||
2003-01-07 DJ Delorie <dj@redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_elf_howto_table): Make REL_12 not
|
||
partial_inplace.
|
||
|
||
2003-01-07 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-m68k.c (elf_m68k_check_relocs): Don't set DF_TEXTREL for
|
||
PC relative relocations.
|
||
(elf_m68k_discard_copies): Set it here instead.
|
||
|
||
2002-01-02 Ben Elliston <bje@redhat.com>
|
||
Jeff Johnston <jjohnstn@redhat.com>
|
||
|
||
* Makefile.am (ALL_MACHINES): Add cpu-iq2000.lo.
|
||
(ALL_MACHINES_CFILES): Add cpu-iq2000.c.
|
||
(BFD32_BACKENDS): Add elf32-iq2000.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-iq2000.c.
|
||
(cpu-iq2000.lo): New target.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Handle iq2000-*-elf.
|
||
* archures.c (bfd_architecture): Add bfd_{arch,mach}_iq2000.
|
||
(bfd_archures_list): Add bfd_iq2000_arch.
|
||
* configure.in: Handle bfd_elf32_iq2000_vec.
|
||
* configure: Regenerate.
|
||
* reloc.c: Add BFD_RELOC_IQ2000_OFFSET_16, BFD_RELOC_IQ2000_OFFSET_21,
|
||
and BFD_RELOC_IQ2000_UHI16.
|
||
* targets.c (bfd_elf32_iq2000_vec): Declare.
|
||
(bfd_target_vector): Add bfd_elf32_iq2000_vec.
|
||
* elf.c (prep_headers): Set e_machine to EM_IQ2000.
|
||
* cpu-iq2000.c: New file.
|
||
* elf32-iq2000.c: Likewise.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Likewise.
|
||
|
||
2003-01-02 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* elfxx-mips.c: Include libiberty.h.
|
||
(elf_mips_isa, _bfd_mips_elf_mach_extends_p): Remove.
|
||
(mips_set_isa_flags): New function, split out from...
|
||
(_bfd_mips_elf_final_write_processing): ...here. Only call
|
||
mips_set_isa_flags if the EF_MIPS_MACH bits are clear.
|
||
(mips_mach_extensions): New array.
|
||
(mips_32bit_flags_p): New function.
|
||
(_bfd_mips_elf_merge_private_bfd_data): Rework architecture checks.
|
||
Use mips_32bit_flags_p to check if one binary is 32-bit and the
|
||
other is 64-bit. When adopting IBFD's architecture, adopt the
|
||
bfd_mach as well as the flags.
|
||
|
||
2003-01-02 Nick Kelsey <nickk@ubicom.com>
|
||
|
||
* elf32-ip2k.c: Re-work of linker relaxation code for the ip2k to
|
||
fix internal errors, fix bad code generation, fix incorrect stabs
|
||
information, and improve ability to eliminate redundant page
|
||
instructions. Added code to ip2k_final_link_relocate to self-verify
|
||
the linker relaxation. Fix formatting problems.
|
||
|
||
2002-12-30 Chris Demetriou <cgd@broadcom.com>
|
||
|
||
* aoutx.h (NAME(aout,machine_type)): Add bfd_mach_mipsisa32r2 case.
|
||
* archures.c (bfd_mach_mipsisa32r2): New define.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-mips.c (I_mipsisa32r2): New enum value.
|
||
(arch_info_struct): Add entry for I_mipsisa32r2.
|
||
* elfxx-mips.c (elf_mips_isa, _bfd_elf_mips_mach)
|
||
(_bfd_mips_elf_print_private_bfd_data): Handle E_MIPS_ARCH_32R2.
|
||
(_bfd_mips_elf_final_write_processing): Add
|
||
bfd_mach_mipsisa32r2 case.
|
||
(_bfd_mips_elf_merge_private_bfd_data): Handle merging of
|
||
binaries marked as using MIPS32 Release 2.
|
||
|
||
2002-12-30 Dmitry Diky <diwil@mail.ru>
|
||
|
||
* Makefile.am: Add msp430 target.
|
||
* configure.in: Likewise.
|
||
* Makefile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* archures.c: Add msp430 architecture vector.
|
||
* config.bfd: Likewise.
|
||
* reloc.c: Add msp430 relocs.
|
||
* targets.c: Add msp320 target.
|
||
* cpu-msp430.c: New file: msp430 cpu detection.
|
||
* elf32-msp430.c: New file: msp430 reloc processing.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2002-12-28 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf.c (elf_sort_sections): Don't reorder .tbss.
|
||
(assign_file_positions_for_segments): Only adjust off/voff
|
||
for increased alignment in PT_LOAD or PT_NOTE segment,
|
||
but adjust p_filesz for .tbss too. in PT_LOAD consider
|
||
.tbss to have zero memory size.
|
||
(copy_private_bfd_data) [SECTION_SIZE]: Define.
|
||
[IS_CONTAINED_BY_VMA, IS_CONTAINED_BY_LMA]: Use it.
|
||
[INCLUDE_SECTION_IN_SEGMENT]: Only put SHF_TLS sections
|
||
into PT_TLS segment. Never put SHF_TLS sections in
|
||
segments other than PT_TLS or PT_LOAD.
|
||
|
||
* elf64-alpha.c (elf64_alpha_finish_dynamic_sections): Clear .plt
|
||
sh_entsize.
|
||
|
||
2002-12-23 DJ Delorie <dj@redhat.com>
|
||
|
||
* coff64-rs6000.c (xcoff64_ppc_relocate_section): Fix logic reversal.
|
||
|
||
2002-12-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_output_extsym): Heed strip_discarded.
|
||
|
||
2002-12-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* archures.c (bfd_arch_get_compatible): Add third parameter
|
||
'accept_unknowns'. Only accept unknown format BFDs if
|
||
accept_unknowns is true, or if the format is "binary".
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-12-21 Nick Clifton <nickc@redhat.com>
|
||
|
||
* coff-arm.c (coff_arm_relocate_section): Disable WINCE workaround
|
||
that subtracted 8 from pc relative relocations.
|
||
|
||
2002-12-20 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* coff-h8300.c: Fix comment typos.
|
||
* coffcode.h: Likewise.
|
||
* cpu-cris.c: Likewise.
|
||
* elf32-vax.c: Likewise.
|
||
* genlink.h: Likewise.
|
||
* linker.c: Likewise.
|
||
* som.c: Likewise.
|
||
* tekhex.c: Likewise.
|
||
* vms-misc.c: Likewise.
|
||
|
||
2002-12-20 DJ Delorie <dj@redhat.com>
|
||
|
||
* reloc.c: Add BFD_RELOC_XSTORMY16_12.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
|
||
(xstormy16_reloc_map): Add R_XSTORMY16_12.
|
||
|
||
2002-12-19 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* doc/bfdint.texi: Fix typos.
|
||
|
||
2002-12-20 Paul Eggert <eggert@twinsun.com>
|
||
|
||
Port to POSIX 1003.1-2001.
|
||
* acinclude.m4 (AM_INSTALL_LIBBFD): Do not rely on "test -o".
|
||
* configure.in (build-warnings): Likewise.
|
||
(Horrible hacks to build DLLs on Windows): Do not rely on "tail -1".
|
||
* aclocal.m4: Regenerate.
|
||
* config.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2002-12-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-h8300.c: Include libiberty.h.
|
||
(h8300_reloc16_extra_cases): Check the hash table creator before
|
||
referencing h8300 specific fields. Stash the hash table pointer
|
||
in a local var. Comment typo fixes.
|
||
(h8300_bfd_link_add_symbols): Likewise.
|
||
|
||
* reloc.c (struct reloc_howto_struct): Revise src_mask and
|
||
dst_mask comments.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-12-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Reorganize dynamic reloc
|
||
code a little. Comment on dynamic relocs against section symbols.
|
||
|
||
2002-12-17 Roger Sayle <roger@eyesopen.com>
|
||
|
||
* configure.host (ia64-*-hpux*): Support 64 bit targets using
|
||
the HP compiler's "long long".
|
||
|
||
2002-12-16 Andrew MacLeod <amacleod@redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_LO16
|
||
and R_XSTORMY16_HI16) howto entries.
|
||
(xstormy16_reloc_map): Map R_XSTORMY16_{LO,HI}16 to BFD_RELOC_{LO,HI}16.
|
||
(xstormy16_info_to_howto_rela): Use R_XSTORMY16_GNU_VTINHERIT to
|
||
determine the start of the second reloc table.
|
||
|
||
2002-12-16 Nathan Tallent <eraxxon@alumni.rice.edu>
|
||
|
||
* ecofflink.c: Fix the reading of the debugging information
|
||
of Tru64/Alpha binaries that are produced by recent Compaq
|
||
compilers.
|
||
(mk_fdrtab): Fix error in creating the FDR (file descriptor)
|
||
table.
|
||
(lookup_line): Because of the strange information sometimes
|
||
generated by Compaq's recent compilers, change how the FDR
|
||
table is searched so that PDRs (procedure descriptors) are
|
||
correctly found. Note that this change is really more of a hack;
|
||
however, I have included extensive documentation as to why
|
||
this is the best solution short of an extensive rewrite or
|
||
another hack.
|
||
(fdrtab_lookup): Add comments to explain the algorithm.
|
||
|
||
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf-m10300.c (elf32_mn10300_link_hash_newfunc): Reorder
|
||
initializers to match struct declaration.
|
||
|
||
2002-12-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* dwarf2.c (comp_unit_contains_address): Comment typo fix.
|
||
* elf.c (get_program_header_size): Likewise.
|
||
* elf32-m32r.c (m32r_elf_lo16_reloc): Likewise.
|
||
(m32r_elf_generic_reloc): Likewise.
|
||
* elf32-ppc.c (ppc_elf_howto_init): Likewise.
|
||
* elflink.h (elf_bfd_discard_info): Likewise.
|
||
|
||
2002-12-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i386.c (elf_i386_finish_dynamic_sections): Add output_offset
|
||
to DT_JMPREL. Use srelplt input section size for DT_PLTRELSZ and
|
||
DT_RELSZ adjustment, not output section. Avoid writing tags when
|
||
unchanged. Don't assume linker script is sane, adjust DT_REL too.
|
||
* elf32-hppa.c (elf32_hppa_finish_dynamic_sections): Just use raw
|
||
size of srelplt for DT_PLTRELSZ. Use srelplt input section size for
|
||
DT_RELASZ adjustment, not output section. Avoid writing tags when
|
||
unchanged. Adjust DT_RELA.
|
||
* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Tweaks for better
|
||
formatting. Avoid writing tags when unchanged. Adjust DT_RELA.
|
||
|
||
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_calculate_relocation): Don't divide
|
||
addend by 4.
|
||
|
||
2002-12-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (struct mips_got_entry): New.
|
||
(struct mips_got_info): Added got_entries field.
|
||
(mips_elf_got_entry_hash, mips_elf_got_entry_eq): New functions.
|
||
(mips_elf_local_got_index, mips_elf_got_page,
|
||
mips_elf_got16_entry): Re-implement in terms of new...
|
||
(mips_elf_create_local_got_entry): Rewrite to use got_entries.
|
||
Change return type.
|
||
(mips_elf_highest): Warning clean-up.
|
||
(mips_elf_create_got_section): Initialize got_entries.
|
||
(_bfd_mips_elf_check_relocs): Use got_entries to estimate
|
||
local got size.
|
||
(_bfd_mips_elf_size_dynamic_sections): Do not account for
|
||
GOT_PAGE entries, since we now reuse GOT16 entries.
|
||
|
||
2002-12-10 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* aoutx.h (set_section_contents): Allow an otherwise unrepresentable
|
||
read-only section that lies after .text and before .data to be
|
||
written into the output file and included in a_text.
|
||
(translate_to_native_sym_flags): If an otherwise unrepresentable
|
||
section was merged with .text, convert its symbols to N_TEXT
|
||
symbols.
|
||
* libaout.h (aout_section_merge_with_text_p): New macro.
|
||
|
||
2002-12-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd-in.h: Comment typo fix. Formatting.
|
||
* bfd-in2.h: Regenerate.
|
||
* coff64-rs6000.c (xcoff64_openr_next_archived_file): Warning fix.
|
||
* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): Prototype.
|
||
* elf64-mmix.c (mmix_dump_bpo_gregs): Warning fix.
|
||
|
||
2002-12-05 Richard Henderson <rth@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21BI.
|
||
Only send PCREL21B though the plt. Fix installed reloc type.
|
||
(elfNN_ia64_relocate_section): Give error for dynamic reloc
|
||
against PCREL22 or PCREL64I; clean up error messages for
|
||
branch relocs.
|
||
|
||
2002-12-04 Kevin Buettner <kevinb@redhat.com>
|
||
|
||
* elf64-mips.c (elf64_mips_grok_prstatus, elf64_mips_grok_psinfo):
|
||
New functions.
|
||
(elf_backend_grok_prstatus, elf_backend_grok_psinfo): Define.
|
||
|
||
2002-12-04 David Mosberger <davidm@hpl.hp.com>
|
||
|
||
* cpu-ia64-opc.c: Add operand constant "ar.csd".
|
||
|
||
2002-12-04 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elfxx-ia64.c (get_local_sym_hash): Use section ID instead of
|
||
BFD address when constructing local name.
|
||
|
||
2002-12-04 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf32-m68k.c (struct elf_m68k_link_hash_table): Add sym_sec
|
||
member.
|
||
(elf_m68k_link_hash_table_create): Initialize it.
|
||
(elf_m68k_check_relocs): Handle symbols that are forced to be
|
||
local due to visibility changes.
|
||
(elf_m68k_adjust_dynamic_symbol): Likewise.
|
||
(elf_m68k_size_dynamic_sections): Likewise.
|
||
(elf_m68k_discard_copies): Likewise.
|
||
(elf_m68k_relocate_section): Likewise.
|
||
|
||
2002-12-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_edit_opd): Correct typo.
|
||
|
||
2002-12-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* srec.c (srec_write_symbols): Restore '$' prefix to address
|
||
accidentally removed in 2002-04-04 change.
|
||
(srec_get_symtab): Use 0 instead of `(long) FALSE'.
|
||
|
||
2002-12-03 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-ppc.c (apuinfo_list_init): New function.
|
||
(apuinfo_list_add): New function: Add a value to the list.
|
||
(apuinfo_list_length): New function: Return the number of
|
||
values on the list.
|
||
(apuinfo_list_element): New function: Return a value on the
|
||
list.
|
||
(apuinfo_list_finish): New function: Free the resources used
|
||
by the list.
|
||
(ppc_elf_begin_write_processing): New function. Scan the
|
||
input bfds for apuinfo sections.
|
||
(ppc_elf_write_section): New function: Delay the creation of
|
||
the contents of an apuinfo section in an output bfd.
|
||
(ppc_elf_final_write_processing): New function. Create the
|
||
contents of an apuinfo section in an output bfd.
|
||
(elf_backend_begin_write_processing): Define.
|
||
(elf_backend_final_write_processing): Define.
|
||
(elf_backend_write_section): Define.
|
||
|
||
2002-12-03 Richard Henderson <rth@redhat.com>
|
||
|
||
* cpu-ia64-opc.c (elf64_ia64_operands): Add ldxmov entry.
|
||
|
||
2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
Fix PR savannah/1417:
|
||
* elf32-m68hc11.c (m68hc11_elf_relax_delete_bytes): Don't adjust
|
||
branch if it goes to the start of the deleted region.
|
||
|
||
2002-12-01 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* bfd-in2.h (bfd_mach_m6812): Rebuild.
|
||
* archures.c (bfd_mach_m6812_default, bfd_mach_m6812,
|
||
bfd_mach_m6812s): Declare.
|
||
|
||
* elf32-m68hc12.c (m68hc12_elf_set_mach_from_flags): New function.
|
||
(_bfd_m68hc12_elf_set_private_flags): Call it.
|
||
(_bfd_m68hc12_elf_print_private_bfd_data): Report processor version.
|
||
(_bfd_m68hc12_elf_merge_private_bfd_data): Merge the flags and
|
||
report microcontroller incompatibilities (HC12 vs HCS12).
|
||
(elf_backend_object_p): Update.
|
||
|
||
2002-11-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd-in.h (TRUE_FALSE_ALREADY_DEFINED, BFD_TRUE_FALSE): Delete.
|
||
(enum bfd_boolean, boolean): Delete.
|
||
(bfd_boolean): Typedef to an int.
|
||
(FALSE, TRUE): Define.
|
||
* aix386-core.c, aix5ppc-core.c, aout-adobe.c, aout-arm.c, aout-cris.c,
|
||
aout-encap.c, aout-ns32k.c, aout-target.h, aout-tic30.c, aoutf1.h,
|
||
aoutx.h, archive.c, archive64.c, archures.c, bfd-in.h, bfd.c, bfdwin.c,
|
||
binary.c, bout.c, cache.c, cisco-core.c, coff-a29k.c, coff-alpha.c,
|
||
coff-apollo.c, coff-arm.c, coff-aux.c, coff-h8300.c, coff-h8500.c,
|
||
coff-i386.c, coff-i860.c, coff-i960.c, coff-ia64.c, coff-m68k.c,
|
||
coff-m88k.c, coff-mcore.c, coff-mips.c, coff-or32.c, coff-ppc.c,
|
||
coff-rs6000.c, coff-sh.c, coff-sparc.c, coff-stgo32.c, coff-tic30.c,
|
||
coff-tic4x.c, coff-tic54x.c, coff-tic80.c, coff-w65.c, coff-we32k.c,
|
||
coff-z8k.c, coff64-rs6000.c, coffcode.h, coffgen.c, cofflink.c,
|
||
corefile.c, cpu-a29k.c, cpu-alpha.c, cpu-arc.c, cpu-arm.c, cpu-avr.c,
|
||
cpu-cris.c, cpu-d10v.c, cpu-d30v.c, cpu-dlx.c, cpu-fr30.c, cpu-frv.c,
|
||
cpu-h8300.c, cpu-h8500.c, cpu-hppa.c, cpu-i370.c, cpu-i386.c,
|
||
cpu-i860.c, cpu-i960.c, cpu-ia64.c, cpu-ip2k.c, cpu-m10200.c,
|
||
cpu-m10300.c, cpu-m32r.c, cpu-m68hc11.c, cpu-m68hc12.c, cpu-m68k.c,
|
||
cpu-m88k.c, cpu-mcore.c, cpu-mips.c, cpu-mmix.c, cpu-ns32k.c,
|
||
cpu-openrisc.c, cpu-or32.c, cpu-pdp11.c, cpu-pj.c, cpu-powerpc.c,
|
||
cpu-rs6000.c, cpu-s390.c, cpu-sh.c, cpu-sparc.c, cpu-tic30.c,
|
||
cpu-tic4x.c, cpu-tic54x.c, cpu-tic80.c, cpu-v850.c, cpu-vax.c,
|
||
cpu-w65.c, cpu-we32k.c, cpu-xstormy16.c, cpu-z8k.c, dwarf1.c,
|
||
dwarf2.c, ecoff.c, ecofflink.c, efi-app-ia32.c, efi-app-ia64.c,
|
||
elf-bfd.h, elf-eh-frame.c, elf-hppa.h, elf-m10200.c, elf-m10300.c,
|
||
elf-strtab.c, elf.c, elf32-arc.c, elf32-arm.h, elf32-avr.c,
|
||
elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c, elf32-fr30.c,
|
||
elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c, elf32-hppa.h,
|
||
elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
|
||
elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
|
||
elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
|
||
elf32-pj.c, elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-sh64-com.c,
|
||
elf32-sh64.c, elf32-sparc.c, elf32-v850.c, elf32-vax.c,
|
||
elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
|
||
elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-ppc.h, elf64-s390.c,
|
||
elf64-sh64.c, elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c,
|
||
elfarm-oabi.c, elfcode.h, elfcore.h, elflink.c, elflink.h,
|
||
elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c, elfxx-mips.h,
|
||
elfxx-target.h, format.c, freebsd.h, genlink.h, hash.c, hp300hpux.c,
|
||
hppabsd-core.c, hpux-core.c, i386aout.c, i386linux.c, i386lynx.c,
|
||
i386mach3.c, i386msdos.c, i386os9k.c, ieee.c, ihex.c, irix-core.c,
|
||
libaout.h, libbfd-in.h, libbfd.c, libcoff-in.h, libecoff.h, libieee.h,
|
||
libnlm.h, liboasys.h, libpei.h, libxcoff.h, linker.c, lynx-core.c,
|
||
m68klinux.c, m68klynx.c, mach-o.c, mach-o.h, merge.c, mipsbsd.c,
|
||
mmo.c, netbsd-core.c, netbsd.h, nlm.c, nlm32-alpha.c, nlm32-i386.c,
|
||
nlm32-ppc.c, nlm32-sparc.c, nlmcode.h, oasys.c, opncls.c, osf-core.c,
|
||
pc532-mach.c, pdp11.c, pe-arm.c, pe-i386.c, pe-mcore.c, pe-mips.c,
|
||
pe-sh.c, peXXigen.c, pef.c, pei-arm.c, pei-i386.c, pei-mcore.c,
|
||
pei-mips.c, pei-sh.c, peicode.h, ppcboot.c, ptrace-core.c, reloc.c,
|
||
reloc16.c, riscix.c, rs6000-core.c, sco5-core.c, section.c, simple.c,
|
||
som.c, som.h, sparclinux.c, sparclynx.c, srec.c, stabs.c, sunos.c,
|
||
syms.c, targets.c, tekhex.c, ticoff.h, trad-core.c, versados.c,
|
||
vms-gsd.c, vms-hdr.c, vms-misc.c, vms-tir.c, vms.c, vms.h,
|
||
xcoff-target.h, xcofflink.c, xsym.c, xsym.h: Replace boolean with
|
||
bfd_boolean, true with TRUE, false with FALSE. Simplify comparisons
|
||
of bfd_boolean vars with TRUE/FALSE. Formatting.
|
||
* bfd-in2.h, libbfd.h, libcoff.h: Regenerate
|
||
|
||
2002-11-28 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h: Replace occurrences of Elf32_Internal_* and
|
||
Elf64_Internal_* with Elf_Internal_*. Replace Elf_Internal_Rel
|
||
with Elf_Internal_Rela.
|
||
* elf-hppa.h, elf-m10200.c, elf-m10300.c, elf32-arc.c, elf32-arm.h,
|
||
elf32-avr.c, elf32-cris.c, elf32-d10v.c, elf32-d30v.c, elf32-dlx.c,
|
||
elf32-fr30.c, elf32-frv.c, elf32-gen.c, elf32-h8300.c, elf32-hppa.c,
|
||
elf32-i370.c, elf32-i386.c, elf32-i860.c, elf32-i960.c, elf32-ip2k.c,
|
||
elf32-m32r.c, elf32-m68hc11.c, elf32-m68hc12.c, elf32-m68k.c,
|
||
elf32-mcore.c, elf32-mips.c, elf32-openrisc.c, elf32-or32.c,
|
||
elf32-ppc.c, elf32-s390.c, elf32-sh.c, elf32-v850.c, elf32-vax.c,
|
||
elf32-xstormy16.c, elf64-alpha.c, elf64-gen.c, elf64-hppa.c,
|
||
elf64-mips.c, elf64-mmix.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
|
||
elf64-sparc.c, elf64-x86-64.c, elfarm-nabi.c, elfarm-oabi.c,
|
||
elfcode.h, elflink.h, elfn32-mips.c, elfxx-ia64.c, elfxx-mips.c: Ditto.
|
||
* elf-hppa.h (elf_hppa_internal_shdr): Delete. Use Elf_Internal_Shdr
|
||
throughout instead.
|
||
* elf.c (_bfd_elf_no_info_to_howto_rel): Delete.
|
||
* elfcode.h (elf_swap_reloca_in): Pass source operand as a bfd_byte *.
|
||
Remove INLINE keyword.
|
||
(elf_swap_reloc_in): Likewise. Also clear r_addend.
|
||
(elf_swap_reloc_out, elf_swap_reloca_out): Pass destination operand
|
||
as a bfd_byte *.
|
||
(elf_write_relocs): Consolidate REL and RELA code.
|
||
(elf_slurp_reloc_table_from_section): Simplify REL code.
|
||
(NAME(_bfd_elf,size_info)): Populate reloc swap entries.
|
||
* elf-bfd.h (MAX_INT_RELS_PER_EXT_REL): Define.
|
||
* elflink.h (elf_link_read_relocs_from_section): Consolidate REL and
|
||
RELA code.
|
||
(elf_link_adjust_relocs): Likewise. Don't malloc space for temp
|
||
reloc array, use a fixed size of MAX_INT_RELS_PER_EXT_REL.
|
||
(elf_link_output_relocs): Likewise.
|
||
(elf_reloc_link_order): Likewise.
|
||
(elf_finish_pointer_linker_section): Likewise.
|
||
(struct elf_link_sort_rela): Remove union.
|
||
(elf_link_sort_cmp1): Update to suit.
|
||
(elf_link_sort_cmp2): Here too.
|
||
(elf_link_sort_relocs): Consolidate REL and RELA code. Fix memory
|
||
over-allocation for int_rels_per_ext_rel != 1 case.
|
||
* elf32-arm.h: Update all bfd_elf32_swap_reloc_out calls.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-cris.c: Likewise for bfd_elf32_swap_reloca_out.
|
||
* elf32-hppa.c, elf32-i370.c, elf32-m68k.c, elf32-ppc.c, elf32-s390.c,
|
||
elf32-sh.c, elf32-vax.c, elfxx-mips.c: Likewise.
|
||
* elf64-alpha.c: Likewise for bfd_elf64_swap_reloca_out.
|
||
* elf64-hppa.c, elf64-mips.c, elf64-ppc.c, elf64-s390.c, elf64-sh64.c,
|
||
elf64-sparc.c, elf64-x86-64.c: Likewise.
|
||
* elfxx-ia64.c: Likewise for bfd_elfNN_swap_reloca_out.
|
||
* elfxx-mips.c (sort_dynamic_relocs): Likewise for
|
||
bfd_elf32_swap_reloc_in.
|
||
|
||
* elf32-arm.h: Update elf32_arm_info_to_howto calls.
|
||
* elf32-mips.c: Likewise for mips_info_to_howto_rel.
|
||
(mips_elf64_swap_reloc_in): Zero r_addend.
|
||
(mips_elf64_be_swap_reloc_in): Likewise.
|
||
(mips_elf64_slurp_one_reloc_table): Simplify.
|
||
|
||
* elf64-alpha.c (alpha_elf_size_info): Populate reloc swap entries.
|
||
* elf64-hppa.c (hppa64_elf_size_info): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_size_info): Likewise.
|
||
|
||
2002-11-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_relocate_section): Don't complain about
|
||
unresolved debugging relocs in dynamic applications.
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
|
||
|
||
2002-11-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-eh-frame.c (ENSURE_NO_RELOCS): Disregard R_*_NONE relocs.
|
||
(_bfd_elf_discard_section_eh_frame): Don't discard duplicate CIEs
|
||
on a relocatable link. Comment typos.
|
||
* elf.c (_bfd_elf_link_hash_newfunc): Assign elements of structure
|
||
in the order they are declared. Clear elf_hash_value too.
|
||
(_bfd_elf_link_hash_table_init): Likewise assign in order. Clear
|
||
eh_info and tls_segment.
|
||
* elflink.h (elf_link_input_bfd <emit_relocs>): Keep reloc offsets
|
||
sorted when discarding relocs by turning them into R_*_NONE.
|
||
|
||
* libbfd.c (warn_deprecated): Comment spelling.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-11-21 Richard Henderson <rth@redhat.com>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Don't overwrite the
|
||
arch's st_other bits when merging visibilities.
|
||
(elf_link_output_extsym): Tidy clearing of visibility field.
|
||
|
||
2002-11-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-mcore.c (SWAP_IN_RELOC_OFFSET): Define.
|
||
(SWAP_OUT_RELOC_OFFSET): Define.
|
||
|
||
2002-11-20 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf.c (_bfd_elf_link_hash_table_init): Make sure
|
||
can_refcount is properly extended to the type of
|
||
init_refcount.
|
||
|
||
2002-11-19 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (MIPS_RELOC_RELA_P): New macro.
|
||
(_bfd_mips_elf_relocate_section): Use it.
|
||
|
||
* elfxx-mips.c (MNAME): New macro.
|
||
(_bfd_mips_elf_check_relocs): Use it.
|
||
(_bfd_mips_elf_discard_info): Likewise.
|
||
(_bfd_mips_elf_final_link): Likewise.
|
||
|
||
2002-11-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_edit_opd): When deleting relocs, adjust
|
||
rel_hdr.sh_size too.
|
||
|
||
2002-11-18 Klee Dienes <kdienes@apple.com>
|
||
|
||
* Makefile.am (BFD32_LIBS): Add bfdwin.lo, bfdio.lo.
|
||
(BFD32_LIBS_CFILES): Add bfdwin.c, bfdio.c.
|
||
(BFD_H_FILES): Add bfdwin.c, bfdio.c.
|
||
(LIBBFD_H_FILES): Add bfdwin.c, bfdio.c.
|
||
Add dependencies for bfdwin.c, bfdio.c.
|
||
* bfd.c: Remove bfd_get_mtime, bfd_get_size.
|
||
* libbfd.c: Remove real_read, bfd_bread, _bfd_window_internal,
|
||
bfd_init_window, bfd_free_window, bfd_get_file_window, bfd_bwrite,
|
||
bfd_tell, bfd_flush, bfd_stat, bfd_seek.
|
||
* bfdio.c: New file. Contains real_read, bfd_bread, bfd_write,
|
||
bfd_tell, bfd_flush, bfd_stat, bfd_seek, bfd_ge_mtime,
|
||
bfd_get_size (moved from libbfd.c and bfd.c).
|
||
* bfdwin.c New file. Contains _bfd_window_internal,
|
||
bfd_init_window, bfd_free_window, bfd_get_file_window (moved from
|
||
libbfd.c and bfd.c).
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
* po/bfd.pot: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* aclocal.m4: Regenerate.
|
||
* Makefile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2002-11-18 Klee Dienes <kdienes@apple.com>
|
||
|
||
* bfd.c (bfd_preserve_save): Don't zero BFD_IN_MEMORY.
|
||
|
||
2002-11-15 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* coff-h8300.c (h8300_reloc16_estimate): Do not optimize away
|
||
jsr after a short jump.
|
||
* elf32-h8300.c (elf32_h8_relax_section): Likewise.
|
||
|
||
2002-11-15 Klee Dienes <kdienes@apple.com>
|
||
|
||
* pef.c (bfd_pef_convert_architecture): Move declaration of
|
||
ARCH_POWERPC and ARCH_M68K to the start of the function.
|
||
|
||
2002-11-14 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* coff-tic4x.c (tic4x_howto_table): Formatting fixup
|
||
|
||
2002-11-14 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs):
|
||
For bpo_gregs_section->contents, allocate _raw_size, not
|
||
_cooked_size.
|
||
|
||
2002-11-13 Klee Dienes <kdienes@apple.com>
|
||
|
||
* config.bfd: Add entries for powerpc-*-darwin and cousins.
|
||
|
||
2002-11-13 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elfcode.h (elf_object_p): Don't restore abfd->arch_info.
|
||
|
||
2002-11-13 Klee Dienes <kdienes@apple.com>
|
||
Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd.c (struct bfd_preserve): New.
|
||
(bfd_preserve_save): New function.
|
||
(bfd_preserve_restore): Ditto.
|
||
(bfd_preserve_finish): Ditto.
|
||
* bfd-in2.h: Regenerate.
|
||
* mach-o.c: Formatting.
|
||
(bfd_mach_o_scan_read_symtab_symbol): Make "value" unsigned.
|
||
(bfd_mach_o_object_p): Use bfd_preserve_save/restore/finish.
|
||
(bfd_mach_o_core_p): Ditto.
|
||
(bfd_mach_o_scan): Pass in mdata.
|
||
* mach-o.h (bfd_mach_o_scan): Update prototype.
|
||
* pef.c: Formatting.
|
||
(bfd_pef_object_p): Use bfd_preserve_save/restore/finish.
|
||
(bfd_pef_xlib_object_p): Ditto.
|
||
(bfd_pef_scan): Pass in mdata. Move version check to bfd_pef_object_p.
|
||
* pef.h (bfd_pef_scan): Update prototype.
|
||
* xsym.c: Formatting, K&R fixes.
|
||
(bfd_sym_object_p): Use bfd_preserve_save/restore/finish.
|
||
(bfd_sym_scan): New function split out from bfd_sym_object_p.
|
||
* xsym.h (bfd_sym_scan): Declare.
|
||
* elfcode.h (elf_object_p): Use bfd_preserve_save/restore/finish.
|
||
* elfcore.h (elf_core_file_p): Likewise.
|
||
* targets.c (_bfd_target_vector): Revert 2002-11-08 change.
|
||
|
||
2002-11-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/da.po: Updated Danish translation.
|
||
|
||
2002-11-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Optimize stabs for
|
||
relocatable link too.
|
||
(elf_link_input_bfd): When emitting relocs, adjust offsets for
|
||
eh_frame and stab sections. Zap deleted relocs.
|
||
(elf_reloc_symbol_deleted_p): Return true for zero r_symndx.
|
||
(elf_bfd_discard_info): Run for relocatable link too.
|
||
* elf64-ppc.c (ppc64_elf_edit_opd): Rename from edit_opd. Make global.
|
||
Handle ld -r case.
|
||
(ppc64_elf_size_dynamic_sections): Don't call edit_opd from here.
|
||
* elf64-ppc.h (ppc64_elf_edit_opd): Declare.
|
||
|
||
* elf-bfd.h (struct cie_header): Move from elf_eh-frame.c.
|
||
(struct cie, struct eh_cie_fde, struct eh_frame_sec_info): Likewise.
|
||
(struct eh_frame_array_ent, struct eh_frame_hdr_info): Likewise.
|
||
(enum elf_link_info_type): Remove ELF_INFO_TYPE_EH_FRAME_HDR.
|
||
(struct eh_frame_hdr_info): Add "hdr_sec", remove "split".
|
||
(struct elf_link_hash_table): Add eh_info.
|
||
(struct elf_obj_tdata): Change eh_frame_hdr to an asection *.
|
||
(_bfd_elf_discard_section_eh_frame): Update prototype.
|
||
(_bfd_elf_discard_section_eh_frame_hdr): Likewise.
|
||
(_bfd_elf_write_section_eh_frame): Likewise.
|
||
(_bfd_elf_write_section_eh_frame_hdr): Likewise.
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Remove "ehdrsec"
|
||
param. Get "hdr_info" from link hash table.
|
||
(_bfd_elf_discard_section_eh_frame_hdr): Remove "sec" param. Get
|
||
header section from link hash table. Save header section to elf_tdata.
|
||
(_bfd_elf_maybe_strip_eh_frame_hdr): Remove local "sec". Use
|
||
header section from link hash table. Don't alloc hdr_info. Clear
|
||
hdr_sec instead of setting "strip".
|
||
(_bfd_elf_eh_frame_section_offset): Formatting.
|
||
(_bfd_elf_write_section_eh_frame): Remove "ehdrsec", add "info" param.
|
||
Get header section from link hash table.
|
||
(_bfd_elf_write_section_eh_frame_hdr): Remove "sec", add "info" param.
|
||
Get header section from link hash table.
|
||
* elf.c (map_sections_to_segments): Use cached eh_frame_hdr.
|
||
(get_program_header_size): Likewise.
|
||
(_bfd_elf_section_offset): Formatting.
|
||
* elflink.h (elf_link_create_dynamic_sections): Stash eh frame header
|
||
section pointer in link hash table.
|
||
(elf_bfd_final_link): Adjust _bfd_elf_write_section_eh_frame_hdr
|
||
and _bfd_elf_write_section_eh_frame calls. Update comment about
|
||
eh_frame entries.
|
||
(elf_bfd_discard_info): Adjust _bfd_elf_discard_section_eh_frame and
|
||
_bfd_elf_discard_section_eh_frame_hdr calls. Remove "ehdr".
|
||
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't zero
|
||
relocs for discarded FDEs. Remove dead code.
|
||
(_bfd_elf_write_section_eh_frame_hdr): Remove dead code.
|
||
* elflink.h (elf_bfd_discard_info): Don't save edited relocs.
|
||
Tidy conditions under which stabs are edited. Formatting.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Ignore overflows
|
||
from discarded relocs.
|
||
* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Add reloc output
|
||
section adjustments after testing magic values.
|
||
|
||
2002-11-12 Thomas Moestl <tmm@FreeBSD.org>
|
||
|
||
* elf64-sparc.c (sparc64_elf_adjust_dynamic_symbol): Correct
|
||
references to large plt symbols.
|
||
|
||
2002-11-12 Klee Dienes <kdienes@apple.com>
|
||
|
||
* mach-o.c (bfd_mach_o_scan_read_thread): Don't re-use 'i' when
|
||
looking for an unused section name.
|
||
|
||
2002-11-11 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* coff-h8300.c: Fix formatting.
|
||
* elf32-h8300.c: Likewise.
|
||
* reloc16.c: Likewise.
|
||
|
||
2002-11-09 Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
|
||
|
||
* elf32-arm.h (elf32_arm_size_dynamic_sections): Don't strip output
|
||
section when dynamic section unused; _bfd_strip_section_from_output
|
||
instead.
|
||
|
||
2002-11-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* targets.c (_bfd_target_vector): Disable pef_vec, pef_xlib_vec
|
||
and sym_vec.
|
||
|
||
* dwarf2.c: Revert last change.
|
||
|
||
2002-11-07 Michal Ludvig <mludvig@suse.cz>
|
||
|
||
* dwarf2.c (read_indirect_string, read_abbrevs, decode_line_info,
|
||
_bfd_dwarf2_find_nearest_line): Use
|
||
bfd_simple_get_relocated_section_contents() instead of
|
||
bfd_get_section_contents().
|
||
* reloc.c (bfd_perform_relocation): Add sanity check.
|
||
* simple.c (simple_get_relocated_section_contents): If the section
|
||
does not have any relocs associated with it, just return the
|
||
unadjusted contents.
|
||
|
||
2002-11-07 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_16_GOT,
|
||
case R_CRIS_32_GOT>: Correct test for filling in constant .got
|
||
contents, enabling for a non-DSO, for symbols defined in the
|
||
program with --export-dynamic.
|
||
|
||
2002-11-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Comment typo fixes.
|
||
(ppc64_elf_merge_private_bfd_data): Allow BFD_ENDIAN_UNKNOWN input.
|
||
|
||
2002-11-07 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/da.po: Updated Danish translation.
|
||
|
||
2002-11-06 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf64-mips.c (mips_elf64_slurp_one_reloc_table): Generate
|
||
exactly three internal relocs per external reloc. Set reloc_count
|
||
to the external reloc count.
|
||
|
||
2002-11-06 Klee Dienes <kdienes@apple.com>
|
||
|
||
* coff-stgo32.c (stub_bytes): Mark as const.
|
||
Fix comment formatting.
|
||
|
||
2002-11-06 Klee Dienes <kdienes@apple.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add mach-o.lo, pef.lo, and
|
||
xsym.lo.
|
||
(BFD32_BACKENDS_CFILES): Add mach-o.c, pef.c, and xsym.c.
|
||
(SOURCE_HFILES): Add mach-o.h, pef.h, pef-traceback.h, xsym.h
|
||
* archures.c (enum bfd_architecture): Add bfd_arch_m98k.
|
||
* bfd.c (struct bfd): Add private data for mach-o, pef, and sym.
|
||
* targets.c (enum bfd_flavour): Add flavours for mach-o, pef, and
|
||
sym.
|
||
(_bfd_target_vector): Add target vectors for mach-o, pef, and sym.
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* xsym.c: New file. Contains support for the Apple/Metrowerks
|
||
xSYM debugging format.
|
||
* xsym.h: New file.
|
||
* pef.c: New file. Contains support for the Apple Code Fragment
|
||
Manager Preferred Executable Format
|
||
* pef.h: New file.
|
||
* pef-traceback.h: New file. Contains support for parsing PowerPC
|
||
traceback tables as used by PEF executables (and perhaps other
|
||
systems as well).
|
||
* mach-o.c: New file. Contains support for the Mach-O object file
|
||
format.
|
||
* mach-o.h: New file.
|
||
* mach-o-target.c: New file. Declares the mach-o targets
|
||
themselves. Included three times by mach-o.c; each time with a
|
||
different set of macros set.
|
||
|
||
2002-11-06 Graeme Peterson <gp@qnx.com>
|
||
|
||
* Makefile.am: Remove entries for elf32-qnx.[ch].
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Change arm-nto to use bfd_elf32_{big|little}arm_vec,
|
||
ppc-nto to use bfd_elf32_powerpc{le}_vec, sh-nto to use
|
||
bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
|
||
* configure.in: Remove support for bfd_elf32_sh{l}qnx_vec,
|
||
bfd_elf32_powerpc{le}qnx_vec, bfd_elf32_{big|little}armqnx_vec,
|
||
and bfd_elf32_i386qnx_vec, and removed elf32-qnx.lo from other targets.
|
||
bfd_elf32_sh{l}_vec, and i386-nto to use bfd_elf32_i386_vec.
|
||
* configure: Regenerate.
|
||
* elf32-qnx.c: Remove.
|
||
* elf32-qnx.h: Remove.
|
||
* elf.c: Remove calls to QNX specific set_nonloadable_filepos,
|
||
is_contained_by_filepos, and copy_private_bfd_data_p.
|
||
* elf-bfd.h (struct elf_backend_data): Remove set_nonloadable_filepos,
|
||
is_contained_by_filepos, and copy_private_bfd_data_p.
|
||
* elf32-i386.c: Remove QNX extended bfd support.
|
||
* elf32-ppc.c: Remove QNX extended bfd support.
|
||
* elf32-sh.c: Remove QNX extended bfd support.
|
||
* elfarm-nabi.c: Remove QNX extended bfd support.
|
||
* targets.c: Remove qnx vectors.
|
||
* elfxx-target.h (elf_backend_set_nonloadable_filepos): Remove
|
||
(elf_backend_is_contained_by_filepos): Remove.
|
||
(elf_backend_copy_private_bfd_data_p): Remove.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-11-06 David O'Brien <obrien@FreeBSD.org>
|
||
Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Adjust addend of
|
||
dynamic relocs against section symbols for the output section vma.
|
||
|
||
2002-11-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-arm.h (t2a1_push_insn, t2a2_ldr_insn, t2a3_mov_insn,
|
||
t2a4_bx_insn, t2a5_pop_insn, t2a6_bx_insn): Remove.
|
||
|
||
2002-11-05 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* config.bfd (sh-*-linux*): Use bfd_elf*_sh64*lin_vec as sh64
|
||
vectors in target_selvecs.
|
||
(shle-*-netbsdelf*): Use bfd_elf*_sh64*nbsd_vec as sh64 vectors
|
||
in target_selvecs.
|
||
(sh-*-netbsdelf*): Likewise.
|
||
* configure.in (assocvecs): New variable. Handle assocvecs like
|
||
selvecs.
|
||
* configure: Regenerate.
|
||
* format.c (bfd_check_format_matches): Store bfd_target pointers
|
||
in matching_vector instead of target names. Select first target
|
||
from bfd_associated_vector that matches a list of ambiguous targets.
|
||
* targets.c (_bfd_associated_vector): New array.
|
||
(bfd_associated_vector): New variable.
|
||
(_bfd_target_vector): Add bfd_elf*_sh64*lin_vec.
|
||
* libbfd-in.h (bfd_associated_vector): Declare.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2002-11-05 Elias Athanasopoulos <eathan@otenet.gr>
|
||
|
||
* vms-gsd.c (_bfd_vms_write_gsd): Check that symbol->udata.p is
|
||
non-NULL before dereferencing.
|
||
|
||
2002-11-04 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* vms.c (vms_object_p): Restore the start address when returning
|
||
NULL.
|
||
|
||
2002-11-04 Alan Modra <amodra@bigpond.net.au>
|
||
Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elflink.h (struct elf_final_link_info): Add shndxbuf_size.
|
||
(elf_bfd_final_link): Don't bother zeroing symtab_hdr fields.
|
||
Set up a larger symshndxbuf, and write it out. Free it on
|
||
exit rather than freeing symbuf twice. Correct section index
|
||
on output section symbol loop.
|
||
(elf_link_output_sym): Accumulate symbol extension section
|
||
indices, reallocating symshndxbuf rather than writing it out.
|
||
(elf_link_flush_output_syms): Don't flush symshndxbuf.
|
||
* elf.c (assign_section_numbers): Init i_shdrp to all zero.
|
||
Use bfd_zalloc to clear i_shdrp[0] too.
|
||
|
||
2002-11-03 Stephen Clarke <stephen.clarke@earthling.net>
|
||
|
||
* elf32-sh64-com.c (sh64_address_in_cranges): Use
|
||
_raw_size of cranges section if _cooked_size not yet set.
|
||
|
||
2002-11-03 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-v850.c (v850_elf_relax_delete_bytes): Correct parameters
|
||
for bfd_elf32_swap_symbol_out.
|
||
|
||
2002-10-31 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't mix
|
||
signed and unsigned in comparison.
|
||
|
||
2002-10-30 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* coffcode.h: Remove extraneous '\'.
|
||
|
||
2002-10-28 H.J. Lu <hjl@gnu.org>
|
||
|
||
* Makefile.am (targets.lo): Depend on Makefile instead of
|
||
config.status.
|
||
(archures.lo): Likewise.
|
||
* Makefile.in: Regenerated.
|
||
|
||
2002-10-25 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (mips*el-*-netbsd*, mips*-*-netbsd*): Add
|
||
bfd_elf64_bigmips_vec and bfd_elf64_littlemips_vec to
|
||
targ_selvecs.
|
||
|
||
2002-10-25 Jim Wilson <wilson@redhat.com>
|
||
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Call
|
||
_bfd_elf_rela_local_sym. Handle relocs against STT_SECTION symbol
|
||
of SHF_MERGE section.
|
||
|
||
2002-10-25 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* simple.c: Correct placement of ATTRIBUTE_UNUSED.
|
||
|
||
2002-10-24 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* aoutx.h (NAME(aout,swap_ext_reloc_in)): Cast bytes->r_index to
|
||
unsigned int. Cast RELOC_BASE10, RELOC_BASE13 and RELOC_BASE22 to
|
||
unsigned int.
|
||
(NAME(aout,final_link)): Cast enum used in assignment.
|
||
(aout_link_write_symbols): Cast enums in comparisons, int values to
|
||
boolean, enums in assignments to int.
|
||
(aout_link_input_section_std): Cast rel->r_index to unsigned int.
|
||
(aout_link_input_section_ext): Likewise. Cast enums used in
|
||
comparisons with unsigned ints.
|
||
(aout_link_reloc_link_order): Cast enum to int in assignment.
|
||
* archive.c (_bfd_generic_read_ar_hdr_mag): Cast result of memchr
|
||
calls to char *.
|
||
* bfd-in.h (bfd_set_section_vma): Cast enum true to unsigned int in
|
||
assignment.
|
||
* bfd-in2.h (bfd_set_section_vma): Likewise.
|
||
* bfd.c (bfd_record_phdr): Cast enums in assignments.
|
||
* binary.c (bfd_alloc): Cast enum to long.
|
||
* coffgen.c (_bfd_coff_is_local_label_name): Cast return to boolean.
|
||
* dwarf2.c (read_abbrevs): Add casts to enum types.
|
||
(read_attribute_value): Likewise.
|
||
(arange_add): Cast result of bfd_zalloc call.
|
||
(comp_unit_contains_address): Return true and false.
|
||
(comp_unit_find_nearest_line): Cast return to boolean.
|
||
* format.c (bfd_check_format_matches, bfd_set_format): Likewise.
|
||
* gen-aout.c: define macro '_' if not defined.
|
||
* libbfd.c (bfd_realloc): Cast malloc and realloc to PTR.
|
||
(bfd_bwrite): Cast bfd_realloc to bfd_byte *.
|
||
(bfd_write_bigendian_4byte_int): Cast return to boolean.
|
||
(bfd_seek): Cast bfd_realloc to bfd_byte *.
|
||
(bfd_generic_is_local_label_name): Cast return to boolean.
|
||
* libcoff.h (_bfd_coff_adjust_symndx): Remove extraneous '\'.
|
||
* linker.c (_bfd_link_hash_newfunc): Cast bfd_hash_allocate result to
|
||
struct bfd_hash_entry *.
|
||
(_bfd_generic_link_hash_newfunc): likewise.
|
||
(_bfd_generic_final_link): Cast enum to unsigned int.
|
||
* merge.c (sec_merge_emit): Cast return to boolean.
|
||
(merge_strings): Add casts to const unsigned char *.
|
||
* reloc.c (bfd_get_reloc_code_name): Cast enums in comparison to int.
|
||
(bfd_generic_get_relocated_section_content): Cast enum to unsigned int.
|
||
* section.c (bfd_section_hash_newfunc): Cast bfd_hash_allocate result
|
||
to struct bfd_hash_entry *.
|
||
(bfd_set_section_content): Add cast to PTR in comparison.
|
||
* simple.c (simple_dummy_warning, simple_dummy_undefined_symbol,
|
||
simple_dummy_reloc_overflow, simple_dummy_reloc_dangerous,
|
||
simple_dummy_unattached_reloc,
|
||
bfd_simple_get_relocated_section_contents): Add K&R declarations and
|
||
function definitions.
|
||
* srec.c (S3Forced): Initialize to false.
|
||
(srec_get_symtab): Cast return value from bfd_alloc to asymbol *.
|
||
* stabs.c (_bfd_link_section_stabs): Cast enum to int in comparisons.
|
||
(_bfd_discard_section_stabs): Likewise. Also cast return to boolean.
|
||
* syms.c (bfd_is_undefined_symclass): Cast return to boolean.
|
||
(_bfd_stab_section_find_nearest_line): Cast enum to bfd_byte in
|
||
comparisons.
|
||
|
||
2002-10-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_check_relocs): Only put maybe_dynamic
|
||
relocs into shared lib non-allocated reloc sections.
|
||
|
||
2002-10-23 Nathan Tallent <eraxxon@alumni.rice.edu>
|
||
|
||
* dwarf2.c (add_line_info): Ensure that the line_info_table is
|
||
sorted even when given an out-of-order line sequence.
|
||
(lookup_address_in_line_info_table): When an exact VMA match is
|
||
not found, return line information with the closest VMA.
|
||
|
||
2002-10-23 Ross Alexander <ross.alexander@uk.neceur.com>
|
||
|
||
* elf64-hppa.c: Force DT_FLAGS to always be set. Required by
|
||
HPUX 11.00 patch PHSS_26559.
|
||
|
||
2002-10-22 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Don't move
|
||
the options section into a separate section unless IRIX 6
|
||
compatibility is enabled.
|
||
|
||
2002-10-22 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elflink.h (struct elf_link_sort_rela): Turn rel and rela
|
||
into arrays.
|
||
(elf_link_sort_cmp1, elf_link_sort_cmp2): Adjust.
|
||
(elf_link_sort_relocs): Likewise. Take int_rels_per_ext_rel
|
||
into account.
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Compose
|
||
R_MIPS_REL32 with R_MIPS64 if ABI_64_P.
|
||
|
||
2002-10-21 Graeme Peterson <gp@qnx.com>
|
||
|
||
* targets.c (_bfd_target_vector): Add missing qnx vectors.
|
||
|
||
2002-10-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* targets.c (bfd_target_list): Don't return the default target twice.
|
||
|
||
2002-10-21 Elias Athanasopoulos <eathan@otenet.gr>
|
||
|
||
* archive.c (_bfd_archive_bsd_update_armap_timestamp): Replace
|
||
perror with bfd_perror.
|
||
|
||
2002-10-19 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Correctly handle
|
||
DT_RPATH and DT_RUNPATH.
|
||
|
||
2002-10-19 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* elf.c (elfcore_grok_note): Fix recognition on NT_PRXFPREG notes.
|
||
|
||
2002-10-17 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* elf32-ip2k.c (ELF_MACHINE_ALT1): Define alternate machine code
|
||
for ip2k port.
|
||
|
||
2002-10-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfxx-target.h (USE_REL): Don't define as 1.
|
||
* elf32-arm.h (USE_REL): Provide a default define of 0.
|
||
Use #if rather than #ifdef when testing USE_REL.
|
||
* elf32-m32r.c: Likewise.
|
||
|
||
* elf32-arc.c (USE_REL): Define as 1.
|
||
* elf32-d10v.c (USE_REL): Likewise.
|
||
* elf32-m32r.c (USE_REL): Likewise.
|
||
* elf32-m68hc11.c (USE_REL): Likewise.
|
||
* elf32-m68hc12.c (USE_REL): Likewise.
|
||
* elf32-or32.c (USE_REL): Likewise.
|
||
* elfarm-nabi.c (USE_REL): Likewise.
|
||
|
||
2002-10-16 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* config.bfd (s390-*-linux*): Add targ64_selvecs.
|
||
(s390x-*-linux*): Add targ_selvecs.
|
||
|
||
2002-10-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Remove elfarmqnx-nabi.lo,
|
||
elf32-i386-fbsd.lo, elf32-i386qnx.lo, elf32-ppcqnx.lo,
|
||
elf32-sh-lin.lo, elf32-sh64-lin.lo, elf32-sh-nbsd.lo,
|
||
elf32-sh64-nbsd.lo, elf32-shqnx.lo. Add elf32-qnx.lo.
|
||
(BFD32_BACKENDS_CFILES): Likewise for corresponding C files.
|
||
(BFD64_BACKENDS): Remove elf64-sh64-lin.lo, elf64-sh64-nbsd.lo.
|
||
(BFD64_BACKENDS_CFILES): Likewise for corresponding C files.
|
||
(SOURCE_HFILES): Add elf32-qnx.h.
|
||
(BUILD_HFILES): Add bfdver.h.
|
||
Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* configure.in Update bfd vector dependencies.
|
||
* configure: Regenerate.
|
||
* elf32-i386-fbsd.c: Delete. Move code to elf32-i386.c.
|
||
* elf32-i386qnx.c: Likewise.
|
||
* elf32-ppcqnx.c: Delete. Move code to elf32-ppc.c.
|
||
* elf32-sh-nbsd.c: Delete. Move code to elf32-sh.c.
|
||
* elf32-sh-lin.c: Likewise.
|
||
* elf32-shqnx.c: Likewise.
|
||
* elf32-sh64-lin.c: Delete. Move code to elf32-sh64.c.
|
||
* elf32-sh64-nbsd.c: Likewise.
|
||
* elf64-sh64-lin.c: Delete. Move code to elf64-sh64.c.
|
||
* elf64-sh64-nbsd.c: Likewise.
|
||
* elfarmqnx-nabi.c: Delete. Move code to elfarm-nabi.c.
|
||
* elf32-arm.h (ELF_MAXPAGESIZE): Always define.
|
||
* elf32-i386.c: Remove ELF_ARCH and ELF32_I386_C_INCLUDED tests.
|
||
* elf32-ppc.c: Remove ELF32_PPC_C_INCLUDED tests.
|
||
* elf32-qnx.h (elf_backend_set_nonloadable_filepos): Always define.
|
||
(elf_backend_is_contained_by_filepos): Likewise.
|
||
(elf_backend_copy_private_bfd_data_p): Likewise.
|
||
Globalize and move functions to..
|
||
* elf32-qnx.c: ..here. New file.
|
||
* elf32-sh.c: Remove ELF_ARCH and ELF32_SH_C_INCLUDED tests. Don't
|
||
emit target vectors when INCLUDE_SHMEDIA.
|
||
* elf32-sh64.c: Remove ELF_ARCH test. Move TARGET_* etc. defines to
|
||
end of file.
|
||
* elf64-sh64.c: Remove ELF_ARCH test.
|
||
* elfarm-nabi.c: Remove ELFARM_NABI_C_INCLUDED test.
|
||
* po/BLD-POTFILES.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-10-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Error out on dynamic objects
|
||
loaded with --just-symbols.
|
||
|
||
* elf32-i386qnx.c (TARGET_LITTLE_NAME): Define.
|
||
* elf32-ppcqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
|
||
* elf32-shqnx.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
|
||
* elfarmqnx-nabi.c (TARGET_LITTLE_NAME, TARGET_BIG_NAME): Define.
|
||
|
||
2002-10-15 Richard Henderson <rth@redhat.com>
|
||
|
||
* Makefile.am (BFD64_BACKENDS): Remove elf64-alpha-fbsd.
|
||
(BFD64_BACKENDS_CFILES): Likewise.
|
||
* configure.in (bfd_elf64_alpha_freebsd_vec): Use elf64-alpha.
|
||
* elf64-alpha-fbsd.c: Remove file, move code ...
|
||
* elf64-alpha.c: ... here.
|
||
* Makefile.in, configure: Rebuild.
|
||
|
||
2002-10-14 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: Increment
|
||
VALUE, not ADDEND.
|
||
|
||
2002-10-14 Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* elf32-sh.c (elf_sh_link_hash_entry): Replace
|
||
datalabel_got_offset with union of datalabel_got
|
||
offset and refcount.
|
||
(sh_elf_link_hash_newfunc): Initialize datalabel_got.refcount.
|
||
(allocate_dynrelocs): Delete unnecessary code for
|
||
STT_DATALABEL type. Create entry in got for
|
||
datalabel version of symbol if datalabel_got.refcount > 0.
|
||
(sh_elf_relocate_section): Use datalabel_got union.
|
||
(sh_elf_gc_sweep_hook): Pull common code to initialize
|
||
h and eh out of switch statement. Declare seen_stt_datalabel.
|
||
Initialize it. Decrement datalabel_got.refcount for
|
||
got relocs when seen_stt_datalabel is true.
|
||
Decrement local_got_refcounts entry for datalabel got relocs
|
||
of local symbols.
|
||
(sh_elf_copy_indirect_symbol): Copy datalabel_got field over.
|
||
(sh_elf_check_relocs): Declare seen_stt_datalabel.
|
||
Initialize it. When seen_stt_datalabel is true, increment
|
||
datalabel_got refcount rather than got.refcount.
|
||
(sh_elf_finish_dynamic_symbol): Create relocs to
|
||
initialize got entry for datalabel version of symbol.
|
||
|
||
2002-10-14 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
(BFD_H_FILES): Remove version.h.
|
||
* bfd-in.h (BFD_VERSION, BFD_VERSION_DATE, BFD_VERSION_STRING): Move..
|
||
* version.h: ..to here.
|
||
* configure.in (bfd_version_date): Remove.
|
||
(AC_OUTPUT): Make bfdver.h from version.h.
|
||
* bfd.c: #include "bfdver.h".
|
||
* vms-hdr.c: Likewise.
|
||
* Makefile.in: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* configure: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-10-14 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* archures.c (bfd_mach_i386_i386, bfd_mach_i386_i8086,
|
||
bfd_mach_i386_i386_intel_syntax, bfd_mach_x86_64,
|
||
bfd_mach_x86_64_intel_syntax bfd_mach_ppc, bfd_mach_ppc64,
|
||
bfd_mach_rs6k, bfd_mach_d10v, bfd_mach_sh, bfd_mach_v850,
|
||
bfd_mach_arc_5, bfd_mach_arc_6, bfd_mach_arc_7, bfd_mach_arc_8,
|
||
bfd_mach_m32r, bfd_mach_frv, bfd_mach_frvsimple,
|
||
bfd_mach_ia64_elf64, bfd_mach_ia64_elf32,
|
||
bfd_mach_ip2022, bfd_mach_ip2022ext,
|
||
bfd_mach_s390_31, bfd_mach_s390_64, bfd_mach_xstormy16): Renumber.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-10-14 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* config.bfd (sh*eb-*-linux*, sh*-*-linux*): Add the alternative
|
||
endian vector to targ_selvecs.
|
||
|
||
2002-10-13 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_calculate_relocation): Take
|
||
save_addend argument. Don't apply the 32-bit mask to a
|
||
GPREL32 value if it's to be used in another relocation. Don't
|
||
use forced-check computation of local_p to decide whether to
|
||
add gp0 to GPREL16 value. Don't use only the lowest 16 bits
|
||
of the addend of a non-in-place GPREL16 relocation.
|
||
(_bfd_mips_elf_relocate_section): Pass use_saved_addend_p to
|
||
mips_elf_calculate_relocation().
|
||
|
||
2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (m68hc11_elf_relax_section): Don't treat relocs
|
||
with symbols in other sections if we relaxed something; the sections
|
||
output offsets must be re-computed before.
|
||
|
||
2002-10-12 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (m68hc11_elf_relax_section): Update symbols
|
||
handling to use Elf_Internal_Sym.
|
||
(m68hc11_elf_relax_delete_bytes): Likewise.
|
||
|
||
2002-10-11 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_optimized_tls_reloc, sh_elf_mkobject,
|
||
sh_elf_object_p, dtpoff_base): New functions.
|
||
(sh_elf_howto_table): Add TLS relocs.
|
||
(sh_reloc_map): Likewise.
|
||
(sh_elf_info_to_howto): Support TLS relocs.
|
||
(elf_sh_link_hash_entry): Add tls_type and tls_tpoff32.
|
||
(sh_elf_hash_entry, sh_elf_tdata, sh_elf_local_got_tls_type):
|
||
New macros.
|
||
(sh_elf_obj_tdata): New.
|
||
(elf_sh_link_hash_table): Add tls_ldm_got.
|
||
(sh_elf_link_hash_table_create): Clear refcount of tls_ldm_got.
|
||
(allocate_dynrelocs): Support TLS relocs.
|
||
(sh_elf_size_dynamic_sections): Likewise.
|
||
(sh_elf_relocate_section): Support TLS relocs. Don't try to find
|
||
.rela.got section when found already. Return false after printing
|
||
error about unresolvable relocation.
|
||
(sh_elf_gc_sweep_hook): Support TLS relocs.
|
||
(sh_elf_check_relocs): Likewise.
|
||
(sh_elf_finish_dynamic_symbol): Likewise.
|
||
(bfd_elf32_mkobject, elf_backend_object_p): Define for TLS case.
|
||
* reloc.c: Add SH TLS relocs.
|
||
* bfd-in2.h, libbfd.h: Regenerate.
|
||
|
||
2002-10-11 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* Makefile.in: Regenerated.
|
||
|
||
2002-10-11 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* Makefile.am: Run dep-am.
|
||
(BFD_H_DEP): Add simple.c and linker.c.
|
||
(BFD32_LIBS): Add simple.lo.
|
||
(BFD32_LIBS_CFILES): Add simple.c.
|
||
* Makefile.in: Regenerated.
|
||
* bfd-in2.h: Regenerated.
|
||
* simple.c: New file.
|
||
|
||
2002-10-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-arm.c (record_arm_to_thumb_glue): Avoid type-punned pointers.
|
||
(record_thumb_to_arm_glue): Likewise.
|
||
* ecoff.c (ecoff_link_add_externals): Likewise.
|
||
* elf32-arm.h (record_arm_to_thumb_glue): Likewise.
|
||
(record_thumb_to_arm_glue): Likewise.
|
||
* elf32-m32r.c (m32r_elf_add_symbol_hook): Likewise.
|
||
* elf32-sh.c (sh_elf_create_dynamic_sections): Likewise.
|
||
* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_create_dynamic_sections): Likewise.
|
||
* elf64-ppc.c (func_desc_adjust): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
|
||
(sh64_elf64_create_dynamic_sections): Likewise.
|
||
* elflink.c (_bfd_elf_create_got_section): Likewise.
|
||
(_bfd_elf_create_dynamic_sections): Likewise.
|
||
(_bfd_elf_create_linker_section): Likewise.
|
||
* elflink.h (elf_add_default_symbol): Likewise.
|
||
(elf_link_create_dynamic_sections): Likewise.
|
||
(NAME(bfd_elf,size_dynamic_sections)): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_aix_add_symbol_hook): Likewise.
|
||
* elfxx-mips.c (mips_elf_create_got_section): Likewise.
|
||
(_bfd_mips_elf_add_symbol_hook): Likewise.
|
||
(_bfd_mips_elf_create_dynamic_sections): Likewise.
|
||
* linker.c (generic_link_add_symbol_list): Likewise.
|
||
* xcofflink.c (xcoff_link_add_symbols): Likewise.
|
||
|
||
* elfxx-ia64.c (oor_brl, oor_ip): Conditionally define.
|
||
|
||
* elf64-ppc.c (edit_opd): Only zero opd syms when function is
|
||
completely removed. Correct local sym adjustment.
|
||
|
||
2002-10-10 Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* elf32-sh.c (elf_sh_pic_plt_entry_be, elf_sh_pic_plt_entry_le):
|
||
Correct mistake in calculation of address of .got.
|
||
* elf64-sh64.c (elf_sh64_pic_plt_entry_be,
|
||
elf_sh64_pic_plt_entry_le): Likewise.
|
||
|
||
2002-10-09 Richard Shann <richard.shann@superh.com>
|
||
Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* Makefile.am: Add entries for elf32-sh64-lin.c and
|
||
elf64-sh64-lin.c. Regenerate.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Change sh64eb-*-linux* and sh64-*-linux*
|
||
to use sh64 vectors rather than sh vectors.
|
||
* configure.in: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
|
||
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
|
||
* configure: Regenerate.
|
||
* elf32-sh64-lin.c: New file.
|
||
* elf64-sh64-lin.c: New file.
|
||
* targets.c: Add bfd_elf32_sh64lin_vec, bfd_elf32_sh64blin_vec,
|
||
bfd_elf64_sh64lin_vec, bfd_elf64_sh64blin_vec.
|
||
|
||
2002-10-08 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Re-arrange the
|
||
IE->LE transition for R_386_TLS_IE.
|
||
|
||
2002-10-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (edit_opd): Correct test for discarded sections.
|
||
|
||
2002-10-07 Mark Elbrecht <snowball3@softhome.net>
|
||
|
||
* cofflink.c (mark_relocs): Don't mark relocations in excluded
|
||
sections.
|
||
|
||
2002-10-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_input_bfd): Remove BFD_VERSION_DATE dependent
|
||
code.
|
||
|
||
* elf64-ppc.c (ppc64_elf_build_stubs): Increment .glink indx.
|
||
|
||
2002-10-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* opncls.c: Formatting.
|
||
(_bfd_new_bfd): Use a smaller section hash table.
|
||
|
||
2002-10-05 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Set the type
|
||
of the other two relocations packed with a REL32 to NONE.
|
||
|
||
2002-10-02 Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* elf32-sh.c (elf_sh_link_hash_entry): Add gotplt_refcount.
|
||
(sh_elf_link_hash_newfunc): Initialize it.
|
||
(allocate_dynrelocs): Transfer gotplt refs from plt.refcount
|
||
to got.refcount for symbols that are forced local or when
|
||
we have direct got refs.
|
||
(sh_elf_gc_sweep_hook): Adjust gotplt_refcount. Use it
|
||
to correctly adjust got.refcount and plt.refcount.
|
||
(sh_elf_copy_indirect_symbol): Copy gotplt_refcount across.
|
||
(sh_elf_check_relocs): Increment gotplt_refcount.
|
||
|
||
2002-10-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Fix
|
||
movl foo@indntpoff, %eax IE->LE transition.
|
||
|
||
2002-10-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Change TLSGD
|
||
sequence and its transitions.
|
||
|
||
2002-10-01 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Resolve R_386_TLS_LDO_32
|
||
to st_value + addend in non-code sections.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Resolve
|
||
R_X86_64_DTPOFF32 to st_value + addend in non-code sections.
|
||
|
||
2002-09-30 Gavin Romig-Koch <gavin@redhat.com>
|
||
Ken Raeburn <raeburn@cygnus.com>
|
||
Aldy Hernandez <aldyh@redhat.com>
|
||
Eric Christopher <echristo@redhat.com>
|
||
Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* archures.c (bfd_mach_mips4120, bfd_mach_mips5400): New.
|
||
(bfd_mach_mips5500): New.
|
||
* cpu-mips.c (I_mips4120, I_mips5400, I_mips5500): New.
|
||
(arch_info_struct): Add corresponding entries here.
|
||
* elfxx-mips.c (_bfd_elf_mips_mach): Handle E_MIPS_MACH_4120,
|
||
E_MIPS_MACH_5400 and E_MIPS_MACH_5500.
|
||
(_bfd_mips_elf_final_write_processing): Handle bfd_mach_mips4120,
|
||
bfd_mach_mips5400 and bfd_mach_mips5500.
|
||
(_bfd_mips_elf_mach_extends_p): New function.
|
||
(_bfd_mips_elf_merge_private_bfd_data): Use it to help merge
|
||
the EF_MIPS_MACH flags.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-09-28 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* elf32-vax.c (elf_vax_size_dynamic_section): Don't strip
|
||
.got sections.
|
||
|
||
2002-09-28 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (map_sections_to_segments): Correct test for start of
|
||
writable section in the same page as end of read-only section.
|
||
|
||
2002-09-27 Matt Thomas <matt@3am-software.com>
|
||
|
||
* elf32-vax.c (elf_vax_check_relocs): Remove unused
|
||
local_got_refcounts usage. Remove allocation of got slot.
|
||
(elf_vax_gc_sweep_hook): Remove unused local_got_refcounts usage.
|
||
Remove de-allocation of got slot.
|
||
(elf_vax_size_dynamic_section): Fix some indentation. Add hash
|
||
traversal for elf_vax_instantiate_got_entries. Allow empty .got
|
||
sections to be GC'ed.
|
||
(elf_vax_instantiate_got_entries): New function.
|
||
(elf_vax_relocate_section): Simplify R_VAX_GOT32 handling. Remove
|
||
tests that are now handled by elf_vax_instantiate_got_entries.
|
||
Assert GOT entry falls within .got section size. Remove redundant
|
||
comparisions. Fix comments.
|
||
|
||
2002-09-27 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reloc.c: Add x86-64 TLS relocs.
|
||
* bfd-in2.h, libbfd.h: Rebuilt.
|
||
* elf64-x86-64.c (x86_64_elf_howto): Fix size fields for 32-bit
|
||
relocs. Add TLS relocs.
|
||
(x86_64_reloc_map): Add TLS relocs.
|
||
(elf64_x86_64_info_to_howto): Adjust for added TLS relocs.
|
||
(struct elf64_x86_64_link_hash_entry): Add tls_type field.
|
||
(GOT_UNKNOWN, GOT_NORMAL, GOT_TLS_GD, GOT_TLS_IE): Define.
|
||
(elf64_x86_64_hash_entry): Define.
|
||
(struct elf64_x86_64_obj_tdata): New.
|
||
(elf64_x86_64_tdata, elf64_x86_64_local_got_tls_type): Define.
|
||
(struct elf64_x86_64_link_hash_table): Add tls_ld_got.
|
||
(link_hash_newfunc): Initialize tls_type.
|
||
(elf64_x86_64_link_hash_table_create): Initialize tls_ld_got.
|
||
(elf64_x86_64_copy_indirect_symbol): Swap tls_type if necessary.
|
||
(elf64_x86_64_mkobject): New.
|
||
(elf64_x86_64_elf_object_p): Allocate struct elf64_x86_64_obj_tdata.
|
||
(elf64_x86_64_tls_transition): New.
|
||
(elf64_x86_64_check_relocs): Add r_type variable and use it.
|
||
Handle TLS relocs.
|
||
(elf64_x86_64_gc_sweep_hook): Handle TLS relocs.
|
||
(allocate_dynrelocs): Allocate GOT space for TLS relocs.
|
||
(elf64_x86_64_size_dynamic_sections): Likewise.
|
||
(dtpoff_base, tpoff): New.
|
||
(elf64_x86_64_relocate_section): Handle TLS relocs.
|
||
(elf64_x86_64_finish_dynamic_symbol): Only handle non-TLS GOT
|
||
entries.
|
||
(bfd_elf64_mkobject): Define.
|
||
|
||
* elf32-i386.c (elf_i386_check_relocs) [R_386_TLS_LE]: Set
|
||
DF_STATIC_TLS if shared.
|
||
|
||
2002-09-26 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_fake_sections): Don't emit unneeded
|
||
empty relocation sections.
|
||
|
||
2002-09-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc_build_one_stub): Don't build glink stubs here.
|
||
(ppc64_elf_build_stubs): Build them here instead.
|
||
|
||
2002-09-24 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Put R_SPARC_RELATIVE
|
||
addend into r_addend, not *r_offset.
|
||
(elf32_sparc_finish_dynamic_symbol): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_finish_dynamic_symbol): Clear xword at
|
||
R_SPARC_RELATIVE's r_offset.
|
||
|
||
2002-09-23 Nathan Tallent <eraxxon@alumni.rice.edu>
|
||
|
||
* dwarf2.c (decode_line_info): Update to correctly decode
|
||
the (non-standard DWARF2) out-of-order address sequences
|
||
generated by the Intel C++ 6.0 compiler for ia64-Linux.
|
||
|
||
2002-09-23 Mark Elbrecht <snowball3@softhome.net>
|
||
|
||
* config.bfd: For DJGPP targets, match with any cpu and any machine.
|
||
|
||
2002-09-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Zero relocs
|
||
for discarded FDEs. Remove redundant assignment.
|
||
* elflink.h (elf_bfd_discard_info): Save edited relocs.
|
||
|
||
2002-09-22 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf64-alpha.c (elf64_alpha_merge_ind_symbols): Don't merge
|
||
the relocation count between different .reloc sections.
|
||
|
||
2002-09-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Allow ".sbss.*" and
|
||
".sdata.*" for R_PPC_SDAREL16, ".sbss2*" and ".sdata2*" for
|
||
R_PPC_EMB_SDA2REL. Similarly for R_PPC_EMB_SDA21 and
|
||
R_PPC_EMB_RELSDA.
|
||
|
||
* elfcode.h (elf_slurp_reloc_table_from_section): Make "symcount"
|
||
unsigned. Move "symcount" assignment out of loop.
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* configure: Regenerate.
|
||
* po/SRC-POTFILES.in: Regnerate.
|
||
|
||
2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
|
||
|
||
* dwarf2.c (_bfd_dwarf2_find_nearest_line): If address length is
|
||
zero, set it to 8 for (non-standard) 64-bit DWARF2 formats
|
||
(e.g. IRIX64).
|
||
|
||
2002-09-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-ppc.c (ppc_elf_finish_dynamic_symbol): Clear .got word
|
||
even if generating R_PPC_RELATIVE reloc.
|
||
(ppc_elf_relocate_section): Make sure relocation is performed
|
||
if skip == -2. Clear memory at r_offset when creating dynamic
|
||
relocation.
|
||
|
||
2002-09-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* reloc.c (BFD_RELOC_386_TLS_TPOFF, BFD_RELOC_386_TLS_IE,
|
||
BFD_RELOC_386_TLS_GOTIE): Add.
|
||
* bfd-in2.h, libbfd.h: Rebuilt.
|
||
* elf32-i386.c (elf_howto_table): Add R_386_TLS_TPOFF, R_386_TLS_IE
|
||
and R_386_TLS_GOTIE.
|
||
(elf_i386_reloc_type_lookup): Handle it.
|
||
(struct elf_i386_link_hash_entry): Change tls_type type to unsigned
|
||
char instead of enum, change GOT_* into defines.
|
||
(GOT_TLS_IE_POS, GOT_TLS_IE_NEG, GOT_TLS_IE_BOTH): Define.
|
||
(elf_i386_tls_transition): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
|
||
(elf_i386_check_relocs): Likewise. Avoid crash if local symbol is
|
||
accessed both as normal and TLS symbol. Move R_386_TLS_LDM and
|
||
R_386_PLT32 cases so that R_386_TLS_IE can fall through.
|
||
Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
|
||
(elf_i386_gc_sweep_hook): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
|
||
Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
|
||
(allocate_dynrelocs): Allocate 2 .got and 2 .rel.got entries if
|
||
tls_type is GOT_TLS_IE_BOTH.
|
||
(elf_i386_size_dynamic_sections): Likewise.
|
||
(elf_i386_relocate_section): Handle R_386_TLS_IE and R_386_TLS_GOTIE.
|
||
Handle R_386_TLS_LE_32 and R_386_TLS_LE in shared libs.
|
||
(elf_i386_finish_dynamic_symbol): Use tls_type & GOT_TLS_IE to catch
|
||
all 4 GOT_TLS_* TLS types.
|
||
|
||
2002-09-19 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elflink.h (elf_fix_symbol_flags): When examining weak symbols,
|
||
follow indirect links.
|
||
|
||
2002-09-19 Nathan Tallent <eraxxon@alumni.rice.edu>
|
||
|
||
* ecoffswap.h (ecoff_swap_pdr_in) <isym, iline>: Update to
|
||
correctly sign-extend 32-bit ECOFF null values (0xffffffff, -1)
|
||
on 64 bit machines.
|
||
(ecoff_swap_sym_in) <iss>: Likewise.
|
||
* ecoff.c (_bfd_ecoff_slurp_symbolic_info): Fix error reading
|
||
ECOFF information: 'ioptMax' refers to the actual *size*
|
||
of the optimization symtab, not the number of entries.
|
||
|
||
2002-09-19 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elf32-arm.h (elf32_arm_adjust_dynamic_symbol): Update
|
||
ELF_LINK_HASH_NEEDS_PLT logic.
|
||
|
||
2002-09-18 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* elfcode.h (elf_slurp_reloc_table_from_section): Check
|
||
correct relocation count.
|
||
|
||
2002-09-17 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* bfd-in.h (bfd_get_dynamic_symcount): Define.
|
||
* bfd.c (struct _bfd): Add dynsymcount.
|
||
* bfd-in2.h: Regenerated.
|
||
* elf.c (_bfd_elf_canonicalize_dynamic_symtab): Set
|
||
abfd->dynsymcount.
|
||
* elfcode.h (elf_slurp_reloc_table_from_section): Check
|
||
for overflow.
|
||
|
||
2002-09-17 Stan Cox <scox@redhat.com>
|
||
|
||
* elf64-mips.c (mips_elf64_be_swap_reloca_out): Handle type2 and type3.
|
||
(mips_elf64_final_gp): Don't make up gp value.
|
||
* elfn32-mips.c (mips_elf_final_gp): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_final_link): Always create
|
||
.MIPS.options/.options section.
|
||
|
||
2002-09-17 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* elf32-i386-fbsd.c: Always label using the EI_OSABI method.
|
||
It is benign for FreeBSD < 4.1. Minor reformatting.
|
||
* elf64-alpha-fbsd.c: Likewise.
|
||
|
||
2002-09-17 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section) [R_386_TLS_TPOFF32]: Negate
|
||
addend.
|
||
|
||
2002-09-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-alpha.c (alpha_elf_size_info): Make static.
|
||
|
||
2002-09-17 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* coff-tic4x.c: Add function declarations and ATTRIBUTE_UNUSED.
|
||
* cpu-tic4x.c: Ditto.
|
||
|
||
2002-09-17 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf64-mips.c (define elf_backend_ignore_discarded_relocs): Remove
|
||
duplicate define.
|
||
|
||
2002-09-16 Bruno Haible <bruno@clisp.org>
|
||
|
||
* elf32-i386.c: Don't defined ELF_ARCH etc. if this file is included
|
||
by a target variant implementation.
|
||
* elf64-alpha.c: Likewise.
|
||
* elf32-i386-fbsd.c: New file.
|
||
* elf64-alpha-fbsd.c: New file.
|
||
* targets.c: Support bfd_elf32_i386_freebsd_vec and
|
||
bfd_elf64_alpha_freebsd_vec.
|
||
* configure.in: Accept the vectors bfd_elf32_i386_freebsd_vec,
|
||
bfd_elf64_alpha_freebsd_vec.
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-i386-fbsd.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-i386-fbsd.c.
|
||
(BFD64_BACKENDS): Add elf64-alpha-fbsd.lo.
|
||
(BFD64_BACKENDS_CFILES): Add elf64-alpha-fbsd.c.
|
||
(elf32-i386-fbsd.lo, elf64-alpha-fbsd.lo): Add dependencies.
|
||
* config.bfd: For FreeBSD targets, set targ_defvec to a FreeBSD
|
||
specific targets. Define OLD_FREEBSD_ABI_LABEL if appropriate.
|
||
|
||
2002-09-12 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (dtpoff_base, tpoff): Don't crash if tls_segment is
|
||
NULL.
|
||
(elf_i386_relocate_section): Return false after printing error about
|
||
unresolvable relocation.
|
||
|
||
2002-09-12 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-arm.h (elf32_arm_final_link_relocate): Fix handling of
|
||
R_ARM_THM_PC11.
|
||
|
||
2002-09-11 Jeffrey Law <law@redhat.com>
|
||
|
||
* elf32-h8300.c (elf32_h8_relax_section): Fix typo.
|
||
|
||
2002-09-11 Andrew Haley <aph@cambridge.redhat.com>
|
||
|
||
* elf.c (_bfd_elf_find_nearest_line): Check functionname_ptr and
|
||
line_ptr before deciding we've found a symbol.
|
||
|
||
2002-09-11 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/da.po: New Danish translation file.
|
||
* configure.in (LINGUAS): Add 'da'.
|
||
* configure: Regenerate.
|
||
|
||
2002-09-10 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* irix-core.c (do_sections, do_sections64): New functions.
|
||
(irix_core_core_file_p): Call new functions do_sections,
|
||
do_sections64, depending on corefile (32-bit or 64-bit).
|
||
|
||
2002-09-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
|
||
and PCREL21F like PCREL21B.
|
||
|
||
2002-09-04 Kevin Buettner <kevinb@redhat.com>
|
||
|
||
* config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default
|
||
vector.
|
||
|
||
2002-09-02 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-v850.c (v850_elf_final_link_relocate): Use helpful
|
||
names instead of cryptically overloaded bfd_reloc error
|
||
codes.
|
||
(v850_elf_relocate_section): Likewise.
|
||
(v850_elf_relax_section): Replace caching of external symbols
|
||
with caching of internal symbols obtained from calling
|
||
bfd_elf_get_elf_syms().
|
||
Fixup problems with freeing cached allocated memory blocks.
|
||
|
||
2002-09-02 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* cpu-pj.c (scan_mach, compatible, arch_info_struct): Remove.
|
||
(bfd_pj_arch): Use bfd_default_scan.
|
||
* cpu-v850.c (scan): Remove.
|
||
(N): Use bfd_default_scan.
|
||
* cpu-z8k.c (scan_mach): Remove.
|
||
(arch_info_struct, bfd_z8k_arch): Reorganize so that the default is
|
||
first. Use bfd_default_scan.
|
||
|
||
* ecoff.c (_bfd_ecoff_set_arch_mach_hook): Don't use hard-coded
|
||
bfd_mach constants.
|
||
(ecoff_get_magic): Likewise.
|
||
* elf32-v850.c (v850_elf_object_p): Likewise.
|
||
(v850_elf_final_write_processing): Likewise.
|
||
* mipsbsd.c (MY(set_arch_mach)): Likewise.
|
||
(MY(write_object_contents)): Likewise.
|
||
* coff64-rs6000.c (xcoff64_write_object_contents): Likewise.
|
||
* coffcode.h (coff_write_object_contents): Likewise.
|
||
(coff_set_arch_mach_hook): Add comment describing machine == 0.
|
||
Remove unnecessary "machine" assignments.
|
||
(coff_write_relocs): Test for the absolute section sym by testing
|
||
section and flags.
|
||
|
||
* aoutx.h (NAME(aout,machine_type)): Recognize bfd_mach_i386_i386
|
||
and bfd_mach_i386_i386_intel_syntax.
|
||
* pdp11.c (NAME(aout,machine_type)): Likewise.
|
||
|
||
2002-08-30 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* bfd-in.h (align_power): Cast constants to bfd_vma type.
|
||
* bfd-in2.h (align_power): Likewise.
|
||
|
||
2002-08-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
|
||
* cpu-avr.c (compatible): Don't use hard-coded mach constants.
|
||
* cpu-powerpc.c (powerpc_compatible): Likewise.
|
||
* cpu-rs6000.c (rs6000_compatible): Likewise.
|
||
|
||
2002-08-28 Catherine Moore <clm@redhat.com>
|
||
|
||
* elf32-v850.c (v850_elf_reloc_map): Add new relocs.
|
||
(v850-elf-reloc): Don't resolve pc relative relocs.
|
||
(v850_elf_ignore_reloc): New routine.
|
||
(v850_elf_final_link_relocate): Handle new relocs.
|
||
(v850_elf_relax_delete_bytes ): New routine.
|
||
(v850_elf_relax_section): New routine.
|
||
(bfd_elf32_bfd_relax_section): Define.
|
||
(HOWTO): New entries for new relocs.
|
||
* reloc.c (BFD_RELOC_V850_LONGCALL): New reloc.
|
||
(BFD_RELOC_V850_LONGJUMP): New reloc.
|
||
(BFD_RELOC_V850_ALIGN): New reloc.
|
||
* archures.c: Remove redundant v850ea architecture.
|
||
* cpu-v850.c: Remove redundant v850ea support.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
2002-08-28 Svein E. Seldal <Svein.Seldal@solidas.com>
|
||
|
||
* config.bfd: Add tic4x-*-*coff* and c4x-*-*coff* target.
|
||
* configure.in: Add tic4x_coff vector files.
|
||
* configure: Regenerate.
|
||
* Makefile.am: Add tic4x target.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2002-08-27 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
|
||
|
||
* archures.c: Add the BFD arch type tic4x.
|
||
* bfd-in.h: Add BFD_IN_MEMORY flag.
|
||
* coff-tic4x.c: New file.
|
||
* coffswap.h (coff_swap_sym_out): Add preadjuster.
|
||
* cpu-tic4x.c: New file.
|
||
* targets.c: Added tic4x- in list of xvecs.
|
||
* ticoff.h: New file.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-08-27 Adam Nemet <anemet@lnxw.com>
|
||
|
||
* elf32-arm.h (elf32_arm_finish_dynamic_sections): Set the last
|
||
bit of DT_INIT and DT_FINI for Thumb functions.
|
||
|
||
2002-08-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coffcode.h (coff_set_arch_mach_hook): Handle W65MAGIC.
|
||
|
||
2002-08-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aoutx.h (NAME(aout,reloc_type_lookup)): Handle BFD_RELOC_8.
|
||
|
||
2002-08-24 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf32-sh.c (sh_elf_copy_indirect_symbol): New.
|
||
(create_got_section, allocate_dynrelocs, readonly_dynrelocs):
|
||
Likewise.
|
||
(struct elf_sh_pcrel_relocs_copied): Removed.
|
||
(struct elf_sh_dyn_relocs): New.
|
||
(struct elf_sh_link_hash_entry): Replace pcrel_relocs_copied
|
||
field with dyn_relocs.
|
||
(struct elf_sh_link_hash_table): Add short-cuts to get dynamic
|
||
sections and sym_sec.
|
||
(sh_elf_link_hash_newfunc): Clear dyn_relocs.
|
||
(sh_elf_link_hash_table_create): Clear shorts-cuts and sym_sec.
|
||
(sh_elf_create_dynamic_sections): Use create_got_section instead
|
||
of _bfd_elf_create_got_section.
|
||
(sh_elf_check_relocs): Likewise.
|
||
(sh_elf_create_dynamic_sections): Use short-cuts to the dynamic
|
||
sections.
|
||
(sh_elf_adjust_dynamic_symbol, sh_elf_size_dynamic_sections,
|
||
sh_elf_relocate_section, sh_elf_check_relocs,
|
||
sh_elf_finish_dynamic_symbol, sh_elf_finish_dynamic_sections):
|
||
Likewise.
|
||
(sh_elf_adjust_dynamic_symbol): Handle nocopyreloc. Keep the
|
||
dynamic relocations and avoiding the copy relocation when we
|
||
didn't find any dynamic relocations in the section which has
|
||
contents or is read-only.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
|
||
(sh_elf_size_dynamic_sections): Don't reset the size of
|
||
.rela.got section even if dynamic_sections_created flag is off.
|
||
Don't use sh_elf_discard_copies. Scan all input bfd and use
|
||
allocate_dynrelocs. Call readonly_dynrelocs to determine
|
||
whether we need DT_TEXTREL.
|
||
(sh_elf_adjust_dynamic_symbol): Use plt.refcount to determine
|
||
whether the symbol was never referred to.
|
||
(sh_elf_relocate_section): Use WILL_CALL_FINISH_DYNAMIC_SYMBOL.
|
||
(sh_elf_gc_sweep_hook): Fill with the real sweep function.
|
||
(sh_elf_check_relocs): Call create_got_section if the short-cut
|
||
to .got is null. Increment reference counters only instead of
|
||
allocating space on dynamic sections here. Don't conditionalize
|
||
uninitialized got.offset value when marking the symbol as a
|
||
global offset table entry. Keep relocations for symbols satisfied
|
||
by a dynamic library to avoid copy relocations for the symbol.
|
||
Set dynobj field of an elf hash table if needed.
|
||
(sh_elf_finish_dynamic_sections): Handle null section pointer
|
||
correctly.
|
||
(elf_backend_copy_indirect_symbol): Defined.
|
||
(elf_backend_can_refcount): Defined.
|
||
|
||
2002-08-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Undo
|
||
previous change. Add comment explaining why.
|
||
|
||
2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* elf32-sh.c (elf_sh_plt0_entry_be, elf_sh_plt0_entry_le): Copy
|
||
contents of .got.plt[2] to tr0, not address of .got.plt.
|
||
(sh_elf_finish_dynamic_symbol): Do not apply GOT_BIAS when
|
||
patching absolute plt entry. For shmedia plt entry, set bottom bit
|
||
of branch to plt0 as this is a branch to an shmedia instruction.
|
||
* elf64-sh64.c (elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le):
|
||
Copy contents of .got.plt[2] to tr0, not address of .got.plt.
|
||
(elf_sh64_plt_entry_be, elf_sh64_plt_entry_le): Use ptrel to
|
||
branch to plt0.
|
||
(sh64_elf64_finish_dynamic_symbol): Do not apply GOT_BIAS when
|
||
patching absolute plt entry. For shmedia plt entry, branch to
|
||
plt0 is now ptrel, so use relative offset. Set bottom bit of
|
||
branch target as it is a branch to an shmedia instruction.
|
||
|
||
2002-08-23 Stephen Clarke <stephen.clarke@superh.com>,
|
||
Richard Shann <richard.shann@superh.com>
|
||
|
||
* elf32-sh.c (sh_elf_finish_dynamic_sections): Set LSB of DT_INIT
|
||
value if .init is an SHmedia function. Similarly for DT_FINI.
|
||
* elf64-sh64.c (sh64_elf64_finish_dynamic_sections): Likewise.
|
||
|
||
2002-08-23 Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* elf32-sh.c (sh_elf_size_dynamic_sections): Zero initialize
|
||
dynamic section.
|
||
* elf64-sh64.c (sh64_elf64_size_dynamic_sections): Likewise.
|
||
|
||
2002-08-22 Kaz Kojima <kkojima@rr.iij4u.or.jp>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Use a simple
|
||
byte read when reading the return address register column.
|
||
|
||
2002-08-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* config.bfd: Add powepc64-*-*bsd* target.
|
||
|
||
2002-08-22 Graeme Peterson <gp@qnx.com>
|
||
|
||
* Makefile.am: Add entries for elf32-shqnx.c
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Add support sh-*-nto* target.
|
||
* configure.in: Add support for bfd_elf32_sh{l}qnx_vec.
|
||
* configure: Regenerate.
|
||
* elf32-qnx.h: Changed typo "elf_i386qnx_*" to "elf_qnx_*" .
|
||
* elf32-sh.c: Do not include elf32-target.h if
|
||
ELF32_SH_C_INCLUDED is defined.
|
||
* elf32-shqnx.c: New file: Support for QNX.
|
||
* targets.c: Add bfd_elf32_sh{l}qnx_vec.
|
||
|
||
2002-08-22 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/tr.po: Updated Turkish translation.
|
||
|
||
* syms.c (_bfd_generic_read_minisymbols): Set bfd_error if the
|
||
symbols are not read.
|
||
|
||
2002-08-22 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-m68hc11.c: Formatting fixes.
|
||
(elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
|
||
* elf32-m68hc12.c: Formatting fixes.
|
||
(elf32_m68hc11_gc_mark_hook): Correct params. Remove unnecessary test.
|
||
|
||
2002-08-22 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-rs6000.c (rs6000coff_vec <object_flags>): Add SEC_CODE and
|
||
SEC_DATA.
|
||
(pmac_xcoff_vec): Likewise.
|
||
* coff64-rs6000.c (rs6000coff64_vec): Likewise.
|
||
(aix5coff64_vec): Likewise.
|
||
|
||
2002-08-22 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Add struct elf_backend_data
|
||
param to elf_backend_copy_indirect_symbol.
|
||
(_bfd_elf_link_hash_copy_indirect): Likewise.
|
||
* elflink.h (elf_add_default_symbol, elf_fix_symbol_flags): Adjust
|
||
calls to copy_indirect_symbol.
|
||
* elf32-hppa.c (elf32_hppa_copy_indirect_symbol): Likewise.
|
||
* elf32-i386.c (elf_i386_copy_indirect_symbol): Likewise.
|
||
* elf32-s390.c (elf_s390_copy_indirect_symbol): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise.
|
||
* elf64-s390.c (elf_s390_copy_indirect_symbol): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_copy_indirect_symbol): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_hash_copy_indirect): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_copy_indirect_symbol): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_elf_copy_indirect_symbol): Likewise.
|
||
* elf.c (_bfd_elf_link_hash_copy_indirect): Likewise. Properly
|
||
test refcounts for "used" values.
|
||
|
||
2002-08-21 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Add PARAMS to
|
||
argument declaration.
|
||
|
||
2002-08-19 Elena Zannoni <ezannoni@redhat.com>
|
||
|
||
* archures.c (bfd_mach_ppc_e500): Added.
|
||
* bfd-in2.h: Rebuilt.
|
||
* cpu-powerpc.c (bfd_powerpc_archs): Added e500.
|
||
|
||
2002-08-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-m68hc12.c (elf_backend_can_gc_sections): False.
|
||
|
||
2002-08-17 Andrew Cagney <ac131313@redhat.com>
|
||
|
||
* elf.c (bfd_elf_get_elf_syms): Change type of `esym' to
|
||
`bfd_byte'.
|
||
|
||
2002-08-17 Stan Cox <scox@redhat.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_modify_segment_map): Use the
|
||
IRIX 6 segment layout for NEWABI.
|
||
|
||
2002-08-16 Stephen Clarke <stephen.clarke@superh.com>
|
||
|
||
* elf32-sh.c (sh_elf_gc_mark_hook): For sh64, skip indirect
|
||
symbols when looking for section referred to by a relocation.
|
||
* elf64-sh.c (sh_elf64_gc_mark_hook): Likewise.
|
||
|
||
2002-08-15 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i370.c: Move reloc enum to include/elf/i370.h.
|
||
|
||
2002-08-15 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Add
|
||
missing check for whether the symbol is referenced by DSO before
|
||
unexporting it as an unneeded dynamic symbol.
|
||
|
||
2002-08-14 H.J. Lu <hjl@gnu.org>
|
||
|
||
* libbfd.h: Regenerate.
|
||
|
||
2002-08-14 H.J. Lu <hjl@gnu.org>
|
||
|
||
* config.bfd: Always add 64bit vectors to 32bit Linux/mips.
|
||
|
||
2002-08-14 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (m68hc11_relax_group): New to relax group of
|
||
instructions.
|
||
(m68hc11_direct_relax): New to define table of relaxable instructions.
|
||
(find_relaxable_insn): New, find a relaxable insn.
|
||
(compare_reloc): New to compare two relocs.
|
||
(m68hc11_elf_relax_section): New, relax text sections.
|
||
(m68hc11_elf_relax_delete_bytes): New, delete bytes and adjust branchs.
|
||
(elf32_m68hc11_check_relocs): New function for GC support.
|
||
(elf32_m68hc11_relocate_section): New function for GC support.
|
||
(bfd_elf32_bfd_relax_section): Define to support linker relaxation.
|
||
(elf_backend_check_relocs): Likewise.
|
||
(elf_backend_relocate_section): Likewise.
|
||
|
||
2002-08-13 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections): Don't count
|
||
definitions in shared objects when checking symbol with
|
||
undefined version.
|
||
|
||
2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (elf32_m68hc11_gc_mark_hook): New for section GC.
|
||
(elf32_m68hc11_gc_sweep_hook): Likewise.
|
||
(elf_backend_gc_mark_hook): Define for GC section support.
|
||
(elf_backend_gc_sweep_hook): Likewise.
|
||
(elf_backend_can_gc_sections): Likewise.
|
||
|
||
* elf32-m68hc12.c: Likewise.
|
||
|
||
2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (_bfd_m68hc11_elf_print_private_bfd_data): New.
|
||
(_bfd_m68hc11_elf_merge_private_bfd_data): New function.
|
||
(_bfd_m68hc11_elf_set_private_flags): New function.
|
||
Use them to set/check/print ELF flags specific to 68HC11.
|
||
|
||
* elf32-m68hc12.c (_bfd_m68hc12_elf_print_private_bfd_data): New.
|
||
(_bfd_m68hc12_elf_merge_private_bfd_data): New function.
|
||
(_bfd_m68hc12_elf_set_private_flags): New function.
|
||
Use them to set/check/print ELF flags specific to 68HC12.
|
||
|
||
2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs;
|
||
fix masks for PC-rel relocs.
|
||
(m68hc11_elf_ignore_reloc): New function.
|
||
|
||
* elf32-m68hc12.c (m68hc12_elf_special_reloc): New to handle specific
|
||
68HC12 banked addressing relocs.
|
||
(m68hc12_phys_addr): New to compute physical address of banked memory.
|
||
(m68hc12_phys_page): Likewise for page.
|
||
(m68hc12_addr_is_banked): New to see if address is in banked area.
|
||
(elf_m68hc12_howto_table): Add new relocs and rename to xx12.
|
||
|
||
2002-08-13 Stephane Carrez <stcarrez@nerim.fr>
|
||
|
||
* reloc.c (BFD_RELOC_M68HC11_RL_JUMP, BFD_RELOC_M68HC11_RL_GROUP,
|
||
BFD_RELOC_M68HC11_LO16, BFD_RELOC_M68HC11_PAGE,
|
||
BFD_RELOC_M68HC11_24): New relocs for 68HC11/68HC12.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-08-12 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_add_default_symbol): Preserve section across
|
||
elf_merge_symbol.
|
||
|
||
2002-08-09 Graeme Peterson <gp@qnx.com>
|
||
|
||
* Makefile.am: Add entries for elf32-ppcqnx.c, and add
|
||
elf32-qnx.h dependency to elfarmqnx-nabi.c and elf32-i386qnx.c.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Add support for powerpc{le}-*-nto targets.
|
||
* configure.in: Add support for bfd_elf32_powerpc{le}qnx_vec.
|
||
* configure: Regenerate.
|
||
* elf32-i386qnx.c: Moved backend functions into a QNX specific
|
||
common file "elf32-qnx.h", and now include that file.
|
||
* elf32-qnx.h: New file: QNX specific common elf backend.
|
||
* elf32-ppc.c: Do not include elf32-target.h if
|
||
ELF32_PPC_C_INCLUDED is defined.
|
||
* elf32-ppcqnx.c: New file: Support for QNX.
|
||
* elfarmqnx-nabi.c: Include elf32-qnx.h for qnx elf backend.
|
||
* targets.c: Add bfd_elf32_powerpc{le}qnx_vec.
|
||
|
||
2002-08-09 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2002-08-09 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (mips_elf_global_got_index): Avoid segfault if
|
||
g->global_gotsym is NULL.
|
||
|
||
2002-08-08 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_add_default_symbol): Don't warn if a definition
|
||
overrides an indirect versioned symbol.
|
||
|
||
2002-08-08 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Fill in proper addend
|
||
for R_386_TLS_TPOFF32 relocs against symndx 0.
|
||
|
||
2002-08-07 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Check symbol
|
||
with undefined version if needed.
|
||
(elf_link_assign_sym_version): Match a default symbol with a
|
||
version without definition. No need to hide the default
|
||
definition separately.
|
||
|
||
2002-08-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_output_extsym): Don't output symbols from
|
||
SEC_EXCLUDE sections.
|
||
|
||
* aoutx.h (aout_link_write_symbols): Correct handling of warning syms.
|
||
|
||
2002-08-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd
|
||
entries.
|
||
|
||
2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness
|
||
mismatch.
|
||
|
||
2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (ABI_64_P): Remove superfluous check.
|
||
|
||
2002-08-07 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf32-mips.c (mips_reloc_map): Fix typo.
|
||
|
||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* xcofflink.c (xcoff_write_global_symbol): Set n_scnum for abs_section.
|
||
|
||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_howto_raw): Zero all src_mask entries.
|
||
|
||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* libxcoff.h: Use PARAMS on function declarations.
|
||
* coff-rs6000.c (xcoff_generate_rtinit): Simplify size calc.
|
||
* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
|
||
|
||
* coff-rs6000.c: (xcoff_rtype2howto): Don't place reloc address in
|
||
addend.
|
||
* coff64-rs6000.c: (xcoff64_rtype2howto): Likewise.
|
||
|
||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-rs6000.c: Formatting fixes.
|
||
(xcoff_calculate_relocation): Use PARAMS in declaration.
|
||
(xcoff_complain_overflow): Likewise.
|
||
(xcoff_ppc_relocate_section): Use old-style function pointer call.
|
||
(bfd_xcoff_backend_data): Remove useless comments.
|
||
(rs6000coff_vec): Likewise.
|
||
(bfd_pmac_xcoff_backend_data): Likewise.
|
||
(pmac_xcoff_vec): Likewise.
|
||
|
||
* coff64-rs6000.c: Formatting fixes.
|
||
(xcoff64_calculate_relocation): Use PARAMS in declaration.
|
||
(xcoff64_ppc_relocate_section): Use old-style function pointer call.
|
||
(bfd_xcoff_backend_data): Remove useless comments.
|
||
(rs6000coff64_vec): Likewise.
|
||
(bfd_xcoff_aix5_backend_data): Likewise.
|
||
(aix5coff64_vec): Likewise.
|
||
|
||
2002-08-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-rs6000.c (xcoff_howto_table): Revert some of last change to
|
||
mask entries. Use complain_overflow_dont for R_REF.
|
||
(xcoff_reloc_type_ba): Revert last change.
|
||
(xcoff_reloc_type_br): Likewise.
|
||
(xcoff_reloc_type_crel): Likewise.
|
||
(xcoff_ppc_relocate_section): Likewise.
|
||
* coff64-rs6000.c (xcoff64_reloc_type_br): Likewise.
|
||
(xcoff64_ppc_relocate_section): Likewise.
|
||
(xcoff64_howto_table): Revert some of last change to mask entries.
|
||
Use complain_overflow_dont for R_REF.
|
||
|
||
* coff-rs6000.c (xcoff_howto_table): Fix src_mask entries. Make all
|
||
relocs with bitsize == 16 have size = 1.
|
||
(xcoff_reloc_type_ba): Correct src_mask and dst_mask adjustment.
|
||
(xcoff_reloc_type_br): Likewise.
|
||
(xcoff_reloc_type_crel): Likewise.
|
||
(xcoff_ppc_relocate_section): Set up src_mask and dst_mask correctly.
|
||
* coff64-rs6000.c (xcoff64_reloc_type_br): Correct src_mask and
|
||
dst_mask adjustment.
|
||
(xcoff64_ppc_relocate_section): Set up src_mask and dst_mask correctly.
|
||
(xcoff64_howto_table): Fix src_mask entries. Make all relocs with
|
||
bitsize == 16 have size = 1.
|
||
|
||
2002-08-01 Denis Chertykov <denisc@overta.ru>
|
||
|
||
* elf32-ip2k.c: Processor manufacturer changed to Ubicom.
|
||
(struct misc): New field isymbuf. All free_* fields removed.
|
||
(symbol_value): Pass in internal syms. No need to swap syms in.
|
||
(ip2k_elf_relax_section): Use bfd_elf_get_elf_syms. Properly free
|
||
possibly cached info.
|
||
(tidyup_after_error): Removed.
|
||
(ip2k_elf_relax_section_pass1): Don't use removed fields of struct
|
||
misc. Use new field.
|
||
(adjust_all_relocations): Use internal syms. No need to swap syms
|
||
in and out.
|
||
(add_page_insn): Don't use removed fields of struct misc.
|
||
|
||
2002-08-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf32-arm.h: Revert previous delta.
|
||
|
||
2002-08-01 Nick Clifton <nickc@redhat.com>
|
||
|
||
* configure.in (AM_INIT_AUTOMAKE): Bump version number.
|
||
* configure: Regenerate.
|
||
|
||
2002-07-31 H.J. Lu <hjl@gnu.org>
|
||
|
||
* config.bfd: Add x86-64 vector to Linux/i386 if 64bit BFD is
|
||
selected.
|
||
|
||
2002-07-31 H.J. Lu <hjl@gnu.org>
|
||
|
||
* config.bfd: Add n32 vectors to 32bit Linux/mips if 64bit BFD
|
||
is selected.
|
||
|
||
2002-07-31 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-i386.c (elf_i386_copy_indirect_symbol): Swap tls_type
|
||
if _bfd_elf_link_hash_copy_indirect will swap got.refcount.
|
||
|
||
2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
|
||
|
||
* cpu-ns32k.c (_bfd_ns32k_put_immdeiate, _bfd_ns32k_get_immediate):
|
||
There is no 8 byte relocation type for this architecture.
|
||
(do_ns32k_reloc): Use bfd_vma instead of native types.
|
||
(bfd_ns32k_put_immediate, _bfd_ns32k_relocate_contents) put_data
|
||
returns void.
|
||
(_bfd_ns32k_put_displacement): Don't check for overflow. We can
|
||
rely on generic code to do that.
|
||
* aout-ns32k.c (howto_table): Add appropriate overflow detection
|
||
to all table entries.
|
||
(_bfd_ns32k_relocate_contents): put_data returns void.
|
||
* ns32k.h: (_bfd_ns32k_put_displacement, _bfd_ns32k_put_immediate)
|
||
(_bfd_do_ns32k_reloc_contents): Fix prototypes. put data functions
|
||
return void.
|
||
|
||
2002-07-31 Ian Dall <ian@sibyl.beware.dropbear.id.au>
|
||
|
||
* aoutx.h (aout_link_check_ar_symbols): Whether to include an
|
||
archive object is target dependant.
|
||
|
||
2002-07-31 Adam Nemet <anemet@lnxw.com>
|
||
|
||
* elf32-arm.h (ARM_PLT_ENTRY_SIZE): Rename PLT_ENTRY_SIZE.
|
||
(THUMB_PLT_ENTRY_SIZE): New macro.
|
||
(PLT_ENTRY_SIZE): Return the appropriate *_PLT_ENTRY_SIZE.
|
||
(elf32_arm_plt0_entry): Rename PLT_ENTRY_SIZE to
|
||
ARM_PLT_ENTRY_SIZE.
|
||
(elf32_arm_plt_entry): Likewise.
|
||
(elf_backend_plt_header_size): Likewise.
|
||
(elf32_thumb_plt0_entry): New global.
|
||
(elf32_arm_finish_dynamic_sections): Use it. Put Thumb entries
|
||
into .plt.thumb.
|
||
(elf32_thumb_plt_entry): New global.
|
||
(elf32_arm_finish_dynamic_symbol): Use it. Use .thumb.plt for
|
||
Thumb entries. Set the bottom bit of the corresponding GOT entry
|
||
for a Thumb PLT entry.
|
||
(struct elf32_arm_plt_entry_info): New structure.
|
||
(struct elf32_arm_link_hash_entry, plt_info): New member of this
|
||
type.
|
||
(elf32_arm_link_hash_newfunc): Initialize new member.
|
||
(elf32_arm_final_link_relocate, R_ARM_THM_PC22 case): Handle
|
||
relocations against the PLT.
|
||
(elf32_arm_check_relocs, case R_ARM_PLT32 case): Set
|
||
first_rel_type if this is the first time we encounter the symbol.
|
||
(elf32_arm_check_relocs, case R_ARM_THM_PC22 case): New case.
|
||
Determine if relocation needs a PLT entry. Set first_rel_type if
|
||
this is the first time we encounter the symbol
|
||
(elf32_arm_adjust_dynamic_symbol): Create PLT entries for Thumb
|
||
functions as well.
|
||
(elf32_arm_size_dynamic_sections): Handle .plt.thumb like .plt.
|
||
(elf32_arm_create_dynamic_sections): New function. Create the
|
||
.plt.thumb section.
|
||
(elf_backend_create_dynamic_sections): Call it.
|
||
|
||
2002-07-31 Nick Clifton <nickc@redhat.com>
|
||
|
||
* bfd.c (bfd_alt_mach_code): Rename parameter 'index' to
|
||
'alternative' in order to avoid shadowing global symbol of the
|
||
same name.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* libcoff.h: Regenerate.
|
||
|
||
2002-07-31 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* Makefile.am: Add n32 ABI support.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Add n32 vectors to mips64*-*-linux* targets. Treat 64
|
||
bit vectors for mips*-*-linux targets as optional.
|
||
* configure.in: Add n32 ABI vectors.
|
||
* configure: Regenerate.
|
||
* elf32-mips.c (mips_elf32_object_p): Reject n32 ABI files.
|
||
* elfn32-mips.c: New file, n32 ABI support.
|
||
* targets.c: Add n32 ABI vectors.
|
||
|
||
2002-07-30 Graeme Peterson <gp@qnx.com>
|
||
|
||
* elfarmqnx-nabi.c: New file: Support for QNX.
|
||
* config.bfd: Add support for arm-*-nto target.
|
||
* configure.in: Add support for bfd_elf32_{big|little}armqnx_vec.
|
||
* configure: Regenerate.
|
||
* Makefile.am: Add entries for elfarmqnx-nabi.c.
|
||
* Makefile.in: Regenerate.
|
||
* elf32-arm.h (ELF_MAXPAGESIZE): Do not define if already defined.
|
||
Do not define global function if ELFARM_NABI_C_INCLUDED is defined.
|
||
* elfarm-nabi.c: Do not include elf32-arm.h if
|
||
ELFARM_NABI_C_INCLUDED is defined.
|
||
* targets.c: Add bfd_elf32_{big|little}armqnx_vec.
|
||
|
||
2002-07-30 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2002-07-30 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
|
||
|
||
2002-07-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aoutx.h (some_aout_object_p): Clean up tdata properly on error.
|
||
* archive.c (bfd_generic_archive_p): Likewise.
|
||
* coff-rs6000.c (_bfd_xcoff_archive_p): Likewise.
|
||
(_bfd_xcoff_archive_p): Use bfd_scan_vma in place of strtol.
|
||
* coff64-rs6000.c (xcoff64_slurp_armap): Likewise.
|
||
(xcoff64_archive_p): Likewise.
|
||
(xcoff64_openr_next_archived_file): Likewise.
|
||
(xcoff64_archive_p): Clean up tdata properly on error.
|
||
* coffgen.c (coff_real_object_p): Likewise.
|
||
(coff_object_p): Release filehdr and opthdr.
|
||
* ecoff.c (_bfd_ecoff_archive_p): Clean up tdata properly on error.
|
||
* ieee.c (ieee_archive_p): Likewise.
|
||
* ihex.c (ihex_object_p): Likewise.
|
||
(ihex_mkobject): Always allocate tdata.
|
||
* peicode.h (pe_ILF_object_p): Release bfd_alloc'd buffer on error.
|
||
* srec.c (srec_mkobject): Always allocate tdata.
|
||
(srec_object_p): Clean up tdata properly on error.
|
||
(symbolsrec_object_p): Likewise.
|
||
* versados.c (versados_object_p): Likewise.
|
||
* vms-misc.c (_bfd_vms_get_record): Use bfd_malloc instead of malloc,
|
||
and bfd_realloc instead of realloc.
|
||
(add_new_contents): Use bfd_alloc instead of bfd_malloc for sections.
|
||
* vms.c (vms_initialize): Always allocate tdata. Use bfd_alloc in
|
||
place of bfd_malloc, simplifying error freeing. Free hash table too.
|
||
(vms_object_p): Clean up tdata on error.
|
||
(vms_mkobject): Don't complain on stderr if vms_initialize fails.
|
||
(vms_close_and_cleanup): Adjust for bfd_alloc use.
|
||
|
||
2002-07-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_final_write_processing): Set e_flags.
|
||
|
||
2002-07-26 Chris Demetriou <cgd@broadcom.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_merge_private_bfd_data): Merge ASE
|
||
flags into resulting BFD.
|
||
|
||
2002-07-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
From John Reiser <jreiser@BitWagon.com>
|
||
* elf32-i386.c (elf_i386_link_hash_table_create): Clear
|
||
tls_ldm_got.refcount.
|
||
|
||
2002-07-25 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf64-mips.c: Update TODO comment.
|
||
(mips_elf64_higher_reloc,mips_elf64_highest_reloc,
|
||
mips_elf64_gprel16_reloca): Remove prototypes.
|
||
(mips16_jump_reloc,mips16_gprel_reloc): Add functions.
|
||
(UNUSED_RELOC): Replace by EMPTY_RELOC.
|
||
(mips_elf64_howto_table_rel): Use special R_MIPS_HI16 handling. Remove
|
||
wrong comments. Remove disfunctional support of R_MIPS_HIGHER and
|
||
R_MIPS_HIGHEST.
|
||
(mips_elf64_howto_table_rela): Fix handling of R_MIPS_GPREL16 and
|
||
R_MIPS_GOT16. Remove wrong comments.
|
||
(elf_mips16_jump_howto,elf_mips16_gprel_howto,
|
||
elf_mips_gnu_vtinherit_howto,elf_mips_gnu_vtentry_howto): New, code
|
||
from elf32-mips.c.
|
||
(mips_elf64_hi16_reloc): Fix formatting.
|
||
(mips_elf64_higher_reloc,mips_elf64_highest_reloc): Remove.
|
||
(mips_elf64_got16_reloc): Fix formatting. Remove superfluous code.
|
||
Better comment. Fall back to R_MIPS_GOT_DISP instead of abort().
|
||
(mips_elf64_gprel16_reloc): Make static. Add check for
|
||
partial_inplace.
|
||
(mips_elf64_gprel16_reloca): Remove.
|
||
(mips_elf64_literal_reloc): New function.
|
||
(mips_elf64_gprel32_reloc): Fix formatting.
|
||
(mips_elf64_shift6_reloc): Fix comment. Make static.
|
||
(mips16_jump_reloc,mips16_gprel_reloc): New functions, code from
|
||
elf32-mips.c.
|
||
(elf_reloc_map,mips_reloc_map): New mapping table, similiar as in
|
||
elf32-mips.c
|
||
(bfd_elf64_bfd_reloc_type_lookup): Use the mapping table. Enable GNU
|
||
specific relocations.
|
||
(mips_elf64_rtype_to_howto): Enable GNU specific relocations.
|
||
(mips_elf64_object_p): Invert logic to check for SGI-ish ABI.
|
||
(ELF_MAXPAGESIZE): Add comment.
|
||
|
||
2002-07-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
* po/es.po: Updated Spanish translation.
|
||
* po/fr.po: Updated French translation.
|
||
|
||
2002-07-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (_bfd_elf32_link_record_local_dynamic_symbol): Define
|
||
as elf_link_record_local_dynamic_symbol.
|
||
(_bfd_elf64_link_record_local_dynamic_symbol): Likewise.
|
||
(elf_link_record_local_dynamic_symbol): Declare. Now returns int.
|
||
* elflink.h (elf_link_record_local_dynamic_symbol): Move to..
|
||
* elflink.c: .. here. Use bfd_elf_get_elf_syms. Check whether an
|
||
attempt is made to record a symbol in a discarded section, and
|
||
return `2' in that case.
|
||
|
||
2002-07-24 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated Swedish translation.
|
||
* po/es.po: Updated Spanish translation.
|
||
|
||
2002-07-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
* elf-hppa.h (elf_hppa_relocate_section): If relocatable, return
|
||
immediately. Remove code handling relocatable linking.
|
||
* elf32-avr.c (elf32_avr_relocate_section): Likewise.
|
||
* elf32-cris.c (cris_elf_relocate_section): Likewise.
|
||
* elf32-fr30.c (elf32_frv_relocate_section): Likewise.
|
||
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
|
||
* elf32-h8300.c (elf32_h8_relocate_section): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
|
||
* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf32-v850.c (v850_elf_relocate_section): Likewise.
|
||
* elf32-vax.c (elf_vax_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf32-avr.c (elf_backend_rela_normal): Define.
|
||
* elf32-cris.c: Likewise.
|
||
* elf32-fr30.c: Likewise.
|
||
* elf32-frv.c: Likewise.
|
||
* elf32-h8300.c: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
* elf32-ip2k.c: Likewise.
|
||
* elf32-sparc.c: Likewise.
|
||
* elf32-v850.c: Likewise.
|
||
* elf32-vax.c: Likewise.
|
||
* elf64-hppa.c: Likewise.
|
||
* elf64-sparc.c: Likewise.
|
||
* elf32-fr30.c (elf32_frv_relocate_section): Edit comment.
|
||
* elf32-frv.c (elf32_frv_relocate_section): Likewise.
|
||
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
|
||
* elf32-ip2k.c (ip2k_elf_relocate_section): Likewise.
|
||
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
|
||
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
|
||
* elf-m10200.c (USE_RELA): Don't define.
|
||
* elf-m10300.c: Likewise.
|
||
* elfarm-oabi.c: Likewise.
|
||
* elf32-i370.c: Likewise.
|
||
* elf32-ip2k.c: Likewise.
|
||
* elf32-m68k.c: Likewise.
|
||
* elf32-mcore.c: Likewise.
|
||
* elf32-ppc.c: Likewise.
|
||
* elf32-s390.c: Likewise.
|
||
* elf32-vax.c: Likewise.
|
||
* elf64-ppc.c: Likewise.
|
||
* elf64-s390.c: Likewise.
|
||
* elf64-x86-64.c: Likewise.
|
||
* elfxx-ia64.c: Likewise.
|
||
* elf32-avr.c (USE_REL): Don't undef.
|
||
* elf32-ip2k.c: Likewise.
|
||
|
||
2002-07-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Add new bitfield
|
||
'want_p_paddr_set_to_zero'.
|
||
* elfxx-target.h: Set default value for want_p_paddr_set_to_zero
|
||
to false;
|
||
* elfxx-ia64.c: Set want_p_paddr_set_zero for HPUX target.
|
||
* elf.c (copy_private_bfd_data): Test want_p_paddr_set_zero.
|
||
|
||
2002-07-23 Gabor Keresztfalvi <keresztg@mail.com>
|
||
|
||
* nlmcode.h (nlm_swap_auxiliary_headers_out): Swapped the order of
|
||
the MeSsAgEs and CoPyRiGhT tags to make >=NW4.x NLM loaders to
|
||
show the Copyright string.
|
||
Minor formatting tidy ups.
|
||
|
||
2002-07-23 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated French translation.
|
||
* po/sv.po: Updated Swedish translation.
|
||
|
||
2002-07-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_input_bfd): Don't change internal symbols
|
||
when outputting relocs.
|
||
|
||
2002-07-20 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_size_dynamic_sections): Only insert
|
||
DT_PLTGOT into the dynamic section if there is a PLT.
|
||
|
||
2002-07-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_discard_info): New function, code from
|
||
elf32-mips.c.
|
||
(_bfd_mips_elf_write_section): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_elf_discard_info): New prototype.
|
||
(_bfd_mips_elf_write_section): Likewise.
|
||
* elf32-mips.c (elf32_mips_discard_info): Move to elfxx-mips.c.
|
||
(elf32_mips_write_section): Likewise.
|
||
* elf64-mips.c (_bfd_mips_elf_ignore_discarded_relocs): Use it.
|
||
(_bfd_mips_elf_write_section): Likewise.
|
||
|
||
2002-07-19 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfxx-ia64.c: (elfNN_ia64_modify_segment_map): Properly scan
|
||
PT_IA_64_UNWIND segments for a given section.
|
||
|
||
2002-07-17 H.J. Lu <hjl@gnu.org>
|
||
|
||
* Makefile.am: Fix a typo.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2002-07-15 Denis Chertykov <denisc@overta.ru>
|
||
Frank Ch. Eigler <fche@redhat.com>
|
||
Ben Elliston <bje@redhat.com>
|
||
Alan Lehotsky <alehotsky@cygnus.com>
|
||
John Healy <jhealy@redhat.com>
|
||
Graham Stott <grahams@redhat.com>
|
||
Jeff Johnston <jjohnstn@redhat.com>
|
||
|
||
* Makefile.am: Add support for ip2k.
|
||
* Makefile.in: Regenerate.
|
||
* doc/Makefile.in: Regenerate.
|
||
* archures.c: Add support for ip2k.
|
||
* config.bfd: Add support for ip2k.
|
||
* configure.in: Add support for ip2k.
|
||
* configure: Regenerate.
|
||
* reloc.c: Add support for ip2k.
|
||
* targets.c: Add support for ip2k.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* cpu-ip2k.c: New file.
|
||
* elf32-ip2k.c: New file.
|
||
|
||
2002-07-17 Ian Rickards <irickard@arm.com>
|
||
|
||
* dwarf2.c (concat_filename): If we can't establish the directory
|
||
just return the filename.
|
||
|
||
2002-07-16 Moritz Jodeit <moritz@jodeit.org>
|
||
|
||
* peXXigen.c (_bfd_XXi_swap_aouthdr_out): Correct order of memset args.
|
||
|
||
2002-07-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h: Formatting fixes, tidy prototypes.
|
||
(elf_link_assign_sym_version): Move common code out of loop.
|
||
|
||
2002-07-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_input_bfd): Don't call reloc_emitter when
|
||
reloc section size is zero. Correct reloc output location.
|
||
|
||
2002-07-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf-hppa.h (elf_hppa_reloc_final_type): Use R_PARISC_PCREL16F as
|
||
the final type for the e_fsel selector when generating PA2.0W code.
|
||
(elf_hppa_relocate_insn): Provide support for PA2.0W 16-bit format 1
|
||
relocations.
|
||
|
||
2002-07-14 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_link_assign_sym_version): Hide the default
|
||
definition if there is a hidden versioned definition.
|
||
|
||
2002-07-12 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (cris_elf_relocate_section): Drop nonsensical
|
||
dynamic reference test in assertion when initializing GOT with
|
||
static contents. Just assert that there are either no dynamic
|
||
sections, the symbol is defined in the regular objects or that the
|
||
symbol is undef weak. Tweak comment.
|
||
(elf_cris_finish_dynamic_symbol): Emit .got reloc for a program
|
||
only if the symbol isn't defined in the program and isn't undef
|
||
weak.
|
||
(elf_cris_adjust_dynamic_symbol): Simplify condition for getting
|
||
rid of PLT entry: only do it if the symbol isn't defined in a DSO.
|
||
When doing so, clear ELF_LINK_HASH_NEEDS_PLT. Tweak comments.
|
||
(elf_cris_discard_excess_program_dynamics): Don't consider
|
||
ELF_LINK_HASH_REF_DYNAMIC when omitting .got runtime relocs.
|
||
|
||
2002-07-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Don't complain about
|
||
unresolved debugging relocs in dynamic applications.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
|
||
2002-07-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ONES): Define.
|
||
(ppc64_elf_howto_table): Use ONES here to avoid warnings. Fill in
|
||
missing src_mask fields. Tweak R_PPC64_NONE, R_PPC64_COPY. Fill
|
||
in missing dst_mask fields on R_PPC64_PLT32, R_PPC64_PLTREL32.
|
||
|
||
* elf64-ppc.c (ppc64_elf_get_symbol_info): Delete.
|
||
(ppc64_elf_set_private_flags): Delete.
|
||
(ppc64_elf_section_from_shdr): Delete.
|
||
(ppc64_elf_merge_private_bfd_data): Remove flag checking/merging code.
|
||
(ppc64_elf_fake_sections): Delete.
|
||
(bfd_elf64_bfd_set_private_flags): Don't define.
|
||
(bfd_elf64_get_symbol_info): Likewise.
|
||
(elf_backend_section_from_shdr): Likewise.
|
||
(elf_backend_fake_sections): Likewise.
|
||
|
||
2002-07-10 Marco Walther <Marco.Walther@sun.com>
|
||
|
||
* elf.c: (assign_section_numbers) Set sh_entsize for .stab only
|
||
when not already set.
|
||
* elf64-sparc.c: (sparc64_elf_fake_sections): New function.
|
||
(elf_backend_fake_sections): Define.
|
||
|
||
2002-07-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* merge.c (_bfd_merge_section): Remove redundant output_section check.
|
||
Formatting.
|
||
(_bfd_merge_sections): Don't set SEC_EXCLUDE on unused sections.
|
||
|
||
2002-07-09 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (cris_elf_relocate_section): Move sanity-check for
|
||
NULL sym_hashes to just before use.
|
||
<case R_CRIS_32_GOTREL>: In test for local symbol, accept also
|
||
symbol with non-default visibility.
|
||
<case R_CRIS_32_GOTREL, case R_CRIS_32_PLT_GOTREL>: Ditto.
|
||
<case R_CRIS_8_PCREL, case R_CRIS_16_PCREL, case R_CRIS_32_PCREL>:
|
||
Ditto.
|
||
(cris_elf_gc_sweep_hook): Only decrease h->plt.refcount for
|
||
symbol with non-default visibility.
|
||
(cris_elf_check_relocs): At tests for local symbol before
|
||
increasing h->plt.refcount, also check for non-default
|
||
visibility. Ditto when checking for local symbol to eliminate
|
||
pc-relative runtime relocs.
|
||
|
||
2002-07-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c: Formatting.
|
||
(IS_SOLARIS_PT_INTERP): Add p_paddr and p_memsz checks.
|
||
(INCLUDE_SECTION_IN_SEGMENT): Remove IS_SOLARIS_PT_INTERP.
|
||
(copy_private_bfd_data): Set p_vaddr on broken Solaris PT_INTERP
|
||
segments.
|
||
|
||
2002-07-07 Mark Mitchell <mark@codesourcery.com>
|
||
Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* cofflink.c (_bfd_coff_final_link): On PE COFF systems, take into
|
||
account the impact of relocation count overflow when computing
|
||
section offsets.
|
||
* coffcode.h (coff_write_relocs): Use obj_pe when deciding whether
|
||
or not to apply the PE COFF reloc overflow handling. Fix a
|
||
fencepost error in deciding whether or not to use that technique.
|
||
|
||
2002-07-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_reloc_cookie): Remove locsym_shndx,
|
||
change type of locsyms.
|
||
(bfd_elf_get_elf_syms): Declare.
|
||
* elf.c (bfd_elf_get_elf_syms): New function.
|
||
(group_signature): Use bfd_elf_get_elf_syms.
|
||
(bfd_section_from_r_symndx): Likewise.
|
||
* elfcode.h (elf_slurp_symbol_table): Likewise.
|
||
* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
|
||
(elf_link_add_object_symbols): Likewise. Reorganise to increase
|
||
locality of various data structures. Properly free internal relocs.
|
||
(elf_bfd_final_link): Properly free internal relocs.
|
||
(elf_link_check_versioned_symbol): Use bfd_elf_get_elf_syms.
|
||
(elf_link_input_bfd): Likewise.
|
||
(elf_gc_mark): Likewise. Properly free internal relocs.
|
||
(elf_gc_sweep): Properly free internal relocs.
|
||
(elf_reloc_symbol_deleted_p): No need to swap syms in.
|
||
(elf_bfd_discard_info): Use bfd_elf_get_elf_syms. Properly free
|
||
internal relocs.
|
||
* elf-m10200.c (mn10200_elf_relax_section): Use bfd_elf_get_elf_syms.
|
||
Properly free possibly cached info.
|
||
(mn10200_elf_relax_delete_bytes): Remove symbol swapping code.
|
||
(mn10200_elf_symbol_address_p): Pass in internal syms. Remove
|
||
symbol swapping code.
|
||
(mn10200_elf_get_relocated_section_contents): Use bfd_elf_get_elf_syms.
|
||
Properly free possibly cached info.
|
||
* elf-m10300.c (mn10300_elf_relax_section): As above for elf-m10200.c.
|
||
(mn10300_elf_relax_delete_bytes): Likewise.
|
||
(mn10300_elf_symbol_address_p): Likewise.
|
||
(mn10300_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-h8300.c (elf32_h8_relax_section): As above for elf-m10200.c.
|
||
(elf32_h8_relax_delete_bytes): Likewise.
|
||
(elf32_h8_symbol_address_p): Likewise.
|
||
(elf32_h8_get_relocated_section_contents): Likewise.
|
||
* elf32-m32r.c (m32r_elf_relax_section): As above for elf-m10200.c.
|
||
(m32r_elf_relax_delete_bytes): Likewise.
|
||
(m32r_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-sh.c (sh_elf_reloc_loop): Free section contents using
|
||
elf_section_data to determine whether cached.
|
||
(sh_elf_relax_section): As above for elf-m10200.c.
|
||
(sh_elf_relax_delete_bytes): Likewise.
|
||
(sh_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_relax_section): As above.
|
||
* elf64-alpha.c (elf64_alpha_relax_section): As above. Also delay
|
||
reading of local syms.
|
||
* elf64-mmix.c (mmix_elf_relax_section): Likewise.
|
||
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): As above.
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): As above.
|
||
* elfxx-mips.c (_bfd_mips_elf_check_relocs): Properly free internal
|
||
relocs.
|
||
* elf32-arm.h (bfd_elf32_arm_process_before_allocation): Properly
|
||
free internal relocs and section contents. Don't read symbols.
|
||
* elf32-hppa.c (get_local_syms): Use bfd_elf_get_elf_syms.
|
||
(elf32_hppa_size_stubs): Don't free local syms.
|
||
* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Delay
|
||
reading of local syms. Use bfd_elf_get_elf_syms. Properly free
|
||
possibly cached info.
|
||
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_check_relocs): Use bfd_elf_get_elf_syms.
|
||
* elf64-ppc.c (struct ppc_link_hash_table): Delete bfd_count and
|
||
all_local_syms.
|
||
(get_local_syms): Delete function.
|
||
(edit_opd): Use bfd_elf_get_elf_syms. Free on error exit. Cache
|
||
on exit.
|
||
(ppc64_elf_size_stubs): Use bfd_elf_get_elf_syms. Free/cache on exit.
|
||
|
||
2002-07-05 Jim Wilson <wilson@redhat.com>
|
||
|
||
* syms.c (decode_section_type): New.
|
||
(bfd_decode_symclass): Call decode_section_type.
|
||
|
||
2002-07-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* merge.c (_bfd_merged_section_offset): Avoid accessing byte before
|
||
section content start.
|
||
Reported by Michael Schumacher <mike@hightec-rt.com>.
|
||
|
||
2002-07-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* section.c (_bfd_strip_section_from_output): Remove unnecessary
|
||
link order code. Don't actually remove the output section here;
|
||
Just set a flag for the linker to do so.
|
||
* elflink.c (_bfd_elf_link_renumber_dynsyms): Test for removed
|
||
sections when setting up output section dynsyms.
|
||
|
||
2002-07-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_add_object_symbols): Revert 1999-09-02 hpux
|
||
fudge.
|
||
* elf.c (bfd_section_from_shdr): Work around broken hpux shared
|
||
libs here instead.
|
||
|
||
2002-07-02 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf64-s390.c (create_got_section): Set .got section alignment to
|
||
8 bytes.
|
||
(elf_s390_check_relocs): Set .rela.dyn section alignment to 8 bytes.
|
||
|
||
2002-07-02 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (_bfd_elf_reloc_type_class): Fix comment grammar.
|
||
|
||
2002-07-01 Matt Thomas <matt@3am-software.com>
|
||
|
||
* elf32-vax.c (elf32_vax_print_private_bfd_data): Change EF_*
|
||
to EF_VAX_*.
|
||
|
||
2002-07-01 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (ABI_64_P): Fix comment.
|
||
(MIPS_ELF_OPTIONS_SECTION_NAME,MIPS_ELF_STUB_SECTION_NAME): Use the
|
||
new section names for N64 ABI.
|
||
(mips_elf_output_extsym): No special _gp_disp handling for NewABI.
|
||
(mips_elf_calculate_relocation): Code formatting.
|
||
(mips_elf_create_dynamic_relocation): Likewise.
|
||
(_bfd_mips_elf_fake_sections): IRIX6 needs this hack, too.
|
||
(_bfd_mips_elf_size_dynamic_sections): Handle GOT_PAGE for any NewABI.
|
||
(_bfd_mips_elf_relocate_section): No special handling for R_MIPS_64
|
||
in any NewABI.
|
||
(_bfd_mips_elf_finish_dynamic_symbol): No special _gp_disp handling
|
||
for NewABI.
|
||
(_bfd_mips_elf_modify_segment_map): Handle any N64 ABI.
|
||
(_bfd_mips_elf_gc_sweep_hook): NewABI GOT relocs should be handled
|
||
here, too.
|
||
|
||
2002-07-01 Andreas Schwab <schwab@suse.de>
|
||
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Only convert
|
||
R_X86_64_64 to R_X86_64_RELATIVE.
|
||
|
||
2002-07-01 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* vaxbsd.c: New BFD backend for VAX BSD and Ultrix.
|
||
* Makefile.am (BFD32_BACKENDS, BFD32_BACKENDS_CFILES): Add new backend.
|
||
Run "make dep-am".
|
||
* config.bfd (vax-*-bsd* | vax-*-ultrix*): Use vaxbsd_vec instead of
|
||
host_aout_vec.
|
||
* configure.in (vaxbsd_vec): Add.
|
||
* targets.c (vaxbsd_vec): Add.
|
||
* Makefile.in: Rebuild.
|
||
* configure: Rebuild.
|
||
* po/SRC-POTFILES.in: Rebuild.
|
||
|
||
2002-07-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_gc_mark): Pass in the section whose relocs we are
|
||
examining to gc_mark_hook, rather than the bfd.
|
||
(elf_gc_sections): Adjust.
|
||
* elf-bfd.h (struct elf_backend_data <gc_mark_hook>): Likewise.
|
||
* elf-m10300.c (mn10300_elf_gc_mark_hook): Likewise.
|
||
* elf32-arm.h (elf32_arm_gc_mark_hook): Likewise.
|
||
* elf32-avr.c (elf32_avr_gc_mark_hook): Likewise.
|
||
* elf32-cris.c (cris_elf_gc_mark_hook): Likewise.
|
||
* elf32-d10v.c (elf32_d10v_gc_mark_hook): Likewise.
|
||
* elf32-fr30.c (fr30_elf_gc_mark_hook): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_gc_mark_hook): Likewise.
|
||
* elf32-i386.c (elf_i386_gc_mark_hook): Likewise.
|
||
* elf32-m32r.c (m32r_elf_gc_mark_hook): Likewise.
|
||
* elf32-m68k.c (elf_m68k_gc_mark_hook): Likewise.
|
||
* elf32-mcore.c (mcore_elf_gc_mark_hook): Likewise.
|
||
* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Likewise.
|
||
* elf32-ppc.c (ppc_elf_gc_mark_hook): Likewise.
|
||
* elf32-s390.c (elf_s390_gc_mark_hook): Likewise.
|
||
* elf32-sh.c (sh_elf_gc_mark_hook): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_gc_mark_hook): Likewise.
|
||
* elf32-v850.c (v850_elf_gc_mark_hook): Likewise.
|
||
* elf32-vax.c (elf_vax_gc_mark_hook): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_gc_mark_hook): Likewise.
|
||
* elf64-mmix.c (mmix_elf_gc_mark_hook): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_gc_mark_hook): Likewise.
|
||
* elf64-s390.c (elf_s390_gc_mark_hook): Likewise.
|
||
* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_gc_mark_hook): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_elf_gc_mark_hook): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_gc_mark_hook): Likewise.
|
||
* elf32-frv.c (elf32_frv_gc_mark_hook): Likewise. Also remove
|
||
redundant local sym tests.
|
||
* elf64-ppc.c (struct ppc_link_hash_entry): Add is_entry.
|
||
(link_hash_newfunc): Init is_entry.
|
||
(ppc64_elf_copy_indirect_symbol): Copy is_entry.
|
||
(ppc64_elf_link_hash_table_create): Init all_local_syms.
|
||
(create_linkage_sections): Use bfd_make_section_anyway rather than
|
||
bfd_make_section.
|
||
(ppc64_elf_mark_entry_syms): New function.
|
||
(ppc64_elf_check_relocs): Don't bother testing elf_bad_symtab. Set
|
||
up opd entry to function section map.
|
||
(ppc64_elf_gc_mark_hook): Special case opd section relocs, and
|
||
relocs that reference the opd section.
|
||
(edit_opd): New function.
|
||
(ppc64_elf_size_dynamic_sections): Call get_local_syms and edit_opd.
|
||
(ppc64_elf_setup_section_lists): Don't calculate htab->bfd_count here.
|
||
(get_local_syms): Do so here. Exit if we already have local syms.
|
||
Remove bogus comment imported from elf32-hppa.c. Don't attempt to
|
||
read local syms on non-ELF input.
|
||
(ppc64_elf_size_stubs): Call _bfd_elf64_link_read_relocs rather
|
||
than duplicating it's function here. Adjust free of internal
|
||
relocs to suit.
|
||
(ppc64_elf_relocate_section): Adjust local syms in opd section.
|
||
* elf64-ppc.h (ppc64_elf_mark_entry_syms): Declare.
|
||
* elf32-hppa.c (elf32_hppa_size_stubs): Call
|
||
_bfd_elf32_link_read_relocs rather than duplicating it's function
|
||
here. Adjust free of internal relocs to suit.
|
||
|
||
2002-07-01 Andreas Jaeger <aj@suse.de>
|
||
|
||
* elf64-x86-64.c (elf64_x86_64_check_relocs): Certain relocations
|
||
are not allowed in shared libs code, enforce -fPIC.
|
||
|
||
2002-06-29 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* mmo.c (mmo_write_loc_chunk): Don't eliminate leading and
|
||
trailing zero-sequences when there's previous left-over data.
|
||
|
||
2002-06-27 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf64-hppa.c (elf64_hppa_reloc_type_class): New function.
|
||
(elf64_hppa_finish_dynamic_sections): Check other_rel_sec, dlt_rel_sec
|
||
and opd_rel_sec in order for starting rela section. Check _raw_size.
|
||
(elf_backend_reloc_type_class): Define.
|
||
|
||
2002-06-27 Kevin Buettner <kevinb@redhat.com>
|
||
|
||
* dwarf2.c (decode_line_info): Handle older, non-standard, 64-bit
|
||
DWARF2 formats.
|
||
|
||
2002-06-27 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* cpu-powerpc.c: Comment on ordering of arch_info.
|
||
* elf32-ppc.c (ppc_elf_object_p): New function.
|
||
(elf_backend_object_p): Define.
|
||
* elf64-ppc.c (ppc64_elf_object_p): New function.
|
||
(elf_backend_object_p): Define.
|
||
|
||
2002-06-26 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* configure.in (vax-*-netbsd*): Set COREFILE to netbsd-core.lo.
|
||
* configure: Regenerate.
|
||
|
||
2002-06-25 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* dwarf2.c (decode_line_info): Check unit->addr_size
|
||
to read in the proper number of prologue bytes.
|
||
|
||
2002-06-25 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* config.bfd (powerpc-*-aix5*): Only create a selvecs for
|
||
aix5coff64_vec if 64-bit bfd support has been enabled.
|
||
(powerpc64-*-aix5*): Only define if 64-bit bfd support has
|
||
been enabled.
|
||
|
||
* targets.c (_bfd_target_vector[]): Only include
|
||
aix5coff64_vec if 64-bit bfd support has been enabled.
|
||
|
||
2002-06-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc_add_stub): Replace strcpy/strncpy with memcpy.
|
||
* elf32-hppa.c (hppa_add_stub): Likewise.
|
||
* elflink.c (_bfd_elf_link_record_dynamic_symbol): Likewise.
|
||
* elflink.h (elf_add_default_symbol): Fix comment typo.
|
||
(elf_add_default_symbol): Replace strcpy and strncpy with memcpy.
|
||
(elf_link_add_object_symbols): Likewise.
|
||
(elf_link_assign_sym_version): Likewise.
|
||
* hash.c (bfd_hash_lookup): Likewise.
|
||
* linker.c (_bfd_generic_link_add_one_symbol): Likewise.
|
||
* section.c (bfd_get_unique_section_name): Likewise.
|
||
* syms.c (_bfd_stab_section_find_nearest_line): Likewise.
|
||
* elf.c (_bfd_elf_make_section_from_phdr): Likewise.
|
||
(assign_section_numbers): Likewise.
|
||
(_bfd_elfcore_make_pseudosection): Likewise.
|
||
(elfcore_grok_lwpstatus): Likewise.
|
||
(elfcore_grok_win32pstatus): Likewise.
|
||
(elfcore_write_note): Constify input params. Use PTR instead of
|
||
void *. Include terminating NUL in namesz. Correct padding.
|
||
Support NULL "name" param. Use memcpy instead of strcpy.
|
||
(elfcore_write_prpsinfo): Constify input params.
|
||
(elfcore_write_prstatus): Likewise. Use PTR instead of void *.
|
||
(elfcore_write_lwpstatus): Likewise.
|
||
(elfcore_write_pstatus): Likewise.
|
||
(elfcore_write_prfpreg): Likewise.
|
||
(elfcore_write_prxfpreg): Likewise.
|
||
* elf-bfd.h (elfcore_write_note): Update declaration.
|
||
(elfcore_write_prpsinfo): Likewise.
|
||
(elfcore_write_prstatus): Likewise.
|
||
(elfcore_write_pstatus): Likewise.
|
||
(elfcore_write_prfpreg): Likewise.
|
||
(elfcore_write_prxfpreg): Likewise.
|
||
(elfcore_write_lwpstatus): Likewise.
|
||
|
||
2002-06-25 Jason Eckhardt <jle@rice.edu>
|
||
|
||
* ecoff.c (ecoff_set_symbol_info): Set BSF_FUNCTION for
|
||
symbols of type stProc and stStaticProc.
|
||
|
||
2002-06-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* ecoff.c: VArious formatting fixes.
|
||
|
||
2002-06-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-rs6000.c (xcoff_generate_rtinit): Fix typo.
|
||
|
||
2002-06-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aout-adobe.c: Don't compare against "true" or "false.
|
||
* aout-target.h: Likewise.
|
||
* aoutx.h: Likewise.
|
||
* archive.c: Likewise.
|
||
* bout.c: Likewise.
|
||
* cache.c: Likewise.
|
||
* coff-a29k.c: Likewise.
|
||
* coff-alpha.c: Likewise.
|
||
* coff-i386.c: Likewise.
|
||
* coff-mips.c: Likewise.
|
||
* coff-or32.c: Likewise.
|
||
* coff64-rs6000.c: Likewise.
|
||
* coffcode.h: Likewise.
|
||
* coffgen.c: Likewise.
|
||
* cpu-ns32k.c: Likewise.
|
||
* ecoff.c: Likewise.
|
||
* ecofflink.c: Likewise.
|
||
* elf.c: Likewise.
|
||
* elf32-arm.h: Likewise.
|
||
* elf32-cris.c: Likewise.
|
||
* elf32-d30v.c: Likewise.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-mcore.c: Likewise.
|
||
* elf32-ppc.c: Likewise.
|
||
* elf32-sh.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf32-v850.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* elfcode.h: Likewise.
|
||
* elfcore.h: Likewise.
|
||
* elflink.h: Likewise.
|
||
* elfxx-mips.c: Likewise.
|
||
* i386os9k.c: Likewise.
|
||
* ieee.c: Likewise.
|
||
* libbfd.c: Likewise.
|
||
* linker.c: Likewise.
|
||
* mmo.c: Likewise.
|
||
* nlm32-alpha.c: Likewise.
|
||
* nlm32-i386.c: Likewise.
|
||
* nlm32-ppc.c: Likewise.
|
||
* nlm32-sparc.c: Likewise.
|
||
* nlmcode.h: Likewise.
|
||
* oasys.c: Likewise.
|
||
* pdp11.c: Likewise.
|
||
* peicode.h: Likewise.
|
||
* reloc.c: Likewise.
|
||
* som.c: Likewise.
|
||
* srec.c: Likewise.
|
||
* tekhex.c: Likewise.
|
||
* vms.c: Likewise.
|
||
* xcofflink.c: Likewise.
|
||
* elf64-sparc.c: Edit comment to not use "== false".
|
||
|
||
* aoutf1.h: Don't use "? true : false".
|
||
* ecoff.c: Likewise.
|
||
* format.c: Likewise.
|
||
* ieee.c: Likewise.
|
||
* linker.c: Likewise.
|
||
* mmo.c: Likewise.
|
||
* oasys.c: Likewise.
|
||
|
||
2002-06-23 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (elf_link_add_archive_symbols): For the default
|
||
version, check references with only one `@' first.
|
||
|
||
2002-06-23 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf64-hppa.c (elf64_hppa_mark_milli_and_exported_functions): New
|
||
function.
|
||
(allocate_global_data_dlt): Don't add millicode symbols to dynamic
|
||
symbol table.
|
||
(allocate_global_data_opd, allocate_dynrel_entries): Likewise.
|
||
(elf64_hppa_size_dynamic_sections): Revise to use
|
||
elf64_hppa_mark_milli_and_exported_functions.
|
||
(elf64_hppa_finish_dynamic_symbol): Remove code to keep millicode
|
||
symbols out of dynamic symbol table.
|
||
|
||
2002-06-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.in: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* configure: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
* elflink.h: Comment typo fixes.
|
||
|
||
2002-06-23 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf-bfd.h (elf_link_loaded_list): New structure.
|
||
(elf_link_hash_table): Add "loaded".
|
||
* elf.c (_bfd_elf_link_hash_table_init): Initialize "loaded".
|
||
* elflink.h (elf_link_check_versioned_symbol): New function.
|
||
(elf_link_output_extsym): Call elf_link_check_versioned_symbol.
|
||
|
||
2002-06-19 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elflink.h (size_dynamic_sections): If the target does not
|
||
support an ELF style hash table, return true, indicating that
|
||
nothing needed to be done, rather than false, indicating that the
|
||
section's size could not be computed.
|
||
|
||
2002-06-18 Dave Brolley <brolley@redhat.com>
|
||
|
||
From Catherine Moore, Michael Meissner, Dave Brolley:
|
||
* po/SRC-POTFILES.in: Add cpu-frv.c and elf32-frv.c
|
||
* targets.c: Support bfd_elf32_frv_vec.
|
||
* reloc.c: Add FRV relocs.
|
||
* configure.in: Add support for bfd-elf32-frv-vec.
|
||
* config.bfd (targ_cpu): Add support for frv-*-elf.
|
||
* archures.c: Add frv arch and machines.
|
||
* Makefile.am (ALL_MACHINES): Add cpu-frv.lo.
|
||
(ALL_MACHINES_CFILES): Add cpu-frv.c.
|
||
(BFD32_BACKENDS): Add elf32-frv.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-frv.c
|
||
(cpu-frv.lo): New target.
|
||
(elf32-frv.lo): New target.
|
||
* cpu-frv.c: New file.
|
||
* elf32-frv.c: New file.
|
||
|
||
2002-06-18 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elfcode.h (elf_object_p): Sanity check eh_shoff == 0 implies
|
||
e_shnum == 0.
|
||
Only read the first section header if e_shoff is non-zero.
|
||
Don't consider e_shstrndx if there are no sections.
|
||
|
||
2002-06-17 Tom Rix <trix@redhat.com>
|
||
|
||
* elf32-d10v.c (elf_d10v_howto_table): Change R_D10V_10_PCREL_R,
|
||
R_D10V_10_PCREL_L and R_D10V_18_PCREL to use
|
||
complain_overflow_bitfield.
|
||
|
||
2002-06-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* opncls.c (bfd_openr): Remove redundant bfd_set_error.
|
||
(bfd_fdopenr): Likewise.
|
||
(bfd_openstreamr): Likewise.
|
||
(bfd_openw): Likewise.
|
||
|
||
* targets.c: Sort target vecs.
|
||
(_bfd_target_vector): Add aix5coff64_vec, bfd_elf32_sh64_vec,
|
||
bfd_elf32_sh64l_vec, bfd_elf32_sh64lnbsd_vec,
|
||
bfd_elf32_sh64nbsd_vec, bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec,
|
||
bfd_elf64_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec.
|
||
* configure.in: Sort target vecs. Add m88kmach3_vec.
|
||
* configure: Regenerate.
|
||
|
||
2002-06-16 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* elf64-mmix.c (bpo_reloc_request_sort_fn): Use member
|
||
bpo_reloc_no to break sort order ties, not address of items.
|
||
|
||
2002-06-16 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf-hppa.h (elf_hppa_final_link): Fix formatting in comment.
|
||
Skip excluded sections in determing __gp value.
|
||
(elf_hppa_final_link_relocate): Use the symbol's address in
|
||
R_PARISC_FPTR64 relocations that don't need an opd entry.
|
||
* elf64-hppa.c (allocate_dynrel_entries): Simplify code.
|
||
(elf64_hppa_finalize_dynreloc): Likewise.
|
||
(elf64_hppa_size_dynamic_sections): Move comments and fix typo.
|
||
(elf64_hppa_finish_dynamic_symbol): Break up assert.
|
||
|
||
2002-06-14 Sergey Grigoriev <serge@leopold.Physik.Uni-Augsburg.DE>
|
||
|
||
* pei-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Enable 16 byte
|
||
alignment for .bss, .data and .text sections so that sse and sse2
|
||
code will work.
|
||
* pe-i386.c (COFF_SECTION_ALIGNMENT_ENTRIES): Likewise.
|
||
|
||
2002-06013 J"orn Rennecke <joern.rennecke@superh.com>
|
||
|
||
config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
|
||
sh[1234]*-elf*.
|
||
|
||
2002-06-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elflink.h (elf_bfd_final_link): Improve error handling for missing
|
||
dynamic sections.
|
||
|
||
* elf64-hppa.c (allocate_global_data_opd): We don't need an opd entry
|
||
for a symbol that has no output section.
|
||
(allocate_dynrel_entries): Correct comment.
|
||
(elf64_hppa_finalize_dynreloc): Likewise. Don't create an opd entry
|
||
unless we want one.
|
||
(elf64_hppa_finalize_opd): Prevent segfault if dyn_h is NULL.
|
||
(elf64_hppa_finalize_dlt): Likewise. Prevent segfault for symbols
|
||
with no section. Remove unnecessary parentheses.
|
||
|
||
2002-06-11 Tom Rix <trix@redhat.com>
|
||
|
||
* coffcode.h (coff_compute_section_file_positions): Add data
|
||
section to AIX loader alignment check.
|
||
|
||
* coff-rs6000.c (_bfd_xcoff_mkobject): Set default text section
|
||
alignment to 4 bytes.
|
||
(_bfd_xcoff_copy_private_bfd_data): Use text and data alignment
|
||
power accessor macro.
|
||
(do_shared_object_padding): Remove invalid assertion.
|
||
|
||
2002-06-10 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* section.c (_bfd_strip_section_from_output): Set SEC_EXCLUDE
|
||
for removed output sections.
|
||
|
||
2002-06-10 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* merge.c (merge_strings): Use htab_create_alloc with calloc, not
|
||
htab_alloc.
|
||
* elf-strtab.c (_bfd_elf_strtab_finalize): Likewise.
|
||
|
||
2002-06-08 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf.c (copy_private_bfd_data): Don't cast to bfd_size_type to
|
||
work around a long long bug in gcc 2.96 on mips.
|
||
|
||
2002-06-08 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add vax1knetbsd.lo.
|
||
(BFD32_BACKENDS_CFILES): Add vax1knetbsd.c.
|
||
Regenerate dependency lists.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd (vax-*-netbsdelf*, vax-*-netbsdaout*): Add
|
||
vax1knetbsd_vec to targ_selvecs.
|
||
* configure.in: Add vax1knetbsd_vec.
|
||
* configure: Regenerate.
|
||
* targets.c (_bfd_target_vector): Add vax1knetbsd_vec.
|
||
* vax1knetbsd.c: New file.
|
||
* vaxnetbsd.c: Update copyright years.
|
||
(TARGET_PAGE_SIZE): Set to 0x1000.
|
||
(DEFAULT_MID): Set to M_VAX4K_NETBSD.
|
||
|
||
2002-06-08 Matt Thomas <matt@3am-software.com>
|
||
|
||
* libaout.h (enum machine_type): Add M_VAX4K_NETBSD.
|
||
|
||
2002-06-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): Make static.
|
||
|
||
2002-06-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
|
||
* armnetbsd.c: Replace CONST with const.
|
||
* corefile.c: Likewise.
|
||
* elf32-dlx.c: Likewise.
|
||
* elf64-mips.c: Likewise.
|
||
* mmo.c: Likewise.
|
||
* ns32knetbsd.c: Likewise.
|
||
|
||
* elf64-sparc.c (sparc64_elf_add_symbol_hook): Check the hash
|
||
table is elf64-sparc.
|
||
|
||
2002-06-08 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_relocate_section): Simplify code.
|
||
Fix RELA addends to get not shifted in the result. Don't do special
|
||
handling of R_MIPS_64 for NewABI.
|
||
|
||
2002-06-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aoutx.h (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
|
||
(NAME(aout,slurp_reloc_table)): Likewise.
|
||
* coff-mips.c (mips_relax_section): Use bfd_zalloc.
|
||
* coff-rs6000.c (xcoff_write_armap_big): Use bfd_zmalloc.
|
||
(xcoff_write_archive_contents_big): Likewise.
|
||
(xcoff_generate_rtinit): Likewise.
|
||
(xcoff_generate_rtinit): Likewise, and check error return.
|
||
* coff64-rs6000.c (xcoff64_generate_rtinit): Likewise.
|
||
* coffgen.c (coff_section_symbol): Use bfd_zalloc.
|
||
(coff_get_normalized_symtab): Likewise.
|
||
(coff_make_empty_symbol): Likewise.
|
||
(bfd_coff_set_symbol_class): Likewise.
|
||
* cofflink.c (coff_link_add_symbols): Likewise.
|
||
* ecoff.c (_bfd_ecoff_make_empty_symbol): Likewise.
|
||
* ecofflink.c (ecoff_write_shuffle): Use bfd_zmalloc.
|
||
(bfd_ecoff_write_accumulated_debug): Likewise.
|
||
* elf64-alpha.c (get_got_entry): Use bfd_zalloc.
|
||
* i386linux.c (bfd_i386linux_size_dynamic_sections): Likewise.
|
||
* i386lynx.c (NAME(lynx,slurp_reloc_table)): Use bfd_zmalloc.
|
||
* ieee.c (do_with_relocs): Use bfd_zalloc.
|
||
* m68klinux.c (bfd_m68klinux_size_dynamic_sections): Likewise.
|
||
* pdp11.c (NAME(aout,slurp_symbol_table)): Use bfd_zmalloc.
|
||
(NAME(aout,slurp_reloc_table)): Likewise.
|
||
(NAME(aout,squirt_out_relocs)): Don't memset when zalloc'd.
|
||
* reloc16.c (bfd_coff_reloc16_relax_section): Use bfd_zmalloc.
|
||
* som.c (som_build_and_write_symbol_table): Likewise.
|
||
(som_slurp_string_table): Likewise.
|
||
(som_slurp_symbol_table): Likewise.
|
||
(som_bfd_ar_write_symbol_stuff): Likewise.
|
||
* sparclinux.c (bfd_sparclinux_size_dynamic_sections): Use bfd_zalloc.
|
||
* sunos.c (bfd_sunos_size_dynamic_sections): Likewise.
|
||
* tekhex.c (find_chunk): Likewise. Get rid of unused "sname".
|
||
* vms-gsd.c (_bfd_vms_slurp_gsd): Use bfd_zmalloc.
|
||
* xcofflink.c (xcoff_link_add_symbols): Use bfd_zalloc/bfd_zmalloc.
|
||
|
||
2002-06-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct bfd_elf_section_data <group_name>): Replace with
|
||
"group" union.
|
||
(elf_group_name): Update.
|
||
(elf_group_id): Define.
|
||
(bfd_elf_set_group_contents): Declare.
|
||
* elf.c (elf_fake_sections): Qualify use of elf_group_name.
|
||
(set_group_contents): Rename to bfd_elf_set_group_contents. Remove
|
||
ATTRIBUTE_UNUSED from failedptrarg. If elf_group_id is set, use
|
||
that sym for the signature.
|
||
(_bfd_elf_compute_section_file_positions): Don't call
|
||
set_group_contents for "ld -r" case.
|
||
(swap_out_syms): Use bfd_zalloc.
|
||
* elflink.h (elf_link_add_archive_symbols): Likewise.
|
||
(NAME(bfd_elf,size_dynamic_sections)): Likewise.
|
||
(elf_bfd_final_link): Call bfd_elf_set_group_contents.
|
||
|
||
2002-06-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Allow unresolved
|
||
relocs in opd for non-shared too.
|
||
|
||
2002-06-06 Jeffrey Law <law@redhat.com>
|
||
|
||
* elf32-h8300.c (elf32_h8_relax_section): Ignore uninteresting
|
||
relocations.
|
||
|
||
2002-06-06 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* merge.c: Include libiberty.h.
|
||
* elf-strtab.c: Include libiberty.h.
|
||
|
||
2002-06-06 Elias Athanasopoulos <eathan@otenet.gr>
|
||
|
||
* peXXigen.c (pe_print_idata): Remove unused variable.
|
||
|
||
2002-06-06 David Heine <dlheine@tensilica.com>
|
||
|
||
* elf.c (assign_file_positions_for_segments): Remove unallocated
|
||
sections from the section to segment mapping for PT_LOAD segments.
|
||
Update comment about empty loadable segments.
|
||
|
||
2002-06-06 Richard Sandiford <rsandifo@redhat.com>
|
||
|
||
* stabs.c (_bfd_link_section_stabs): Check that the symbol offset
|
||
is within the .stabstr section.
|
||
|
||
2002-06-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_size_info <swap_symbol_in>): Function args
|
||
are "const PTR", not "const PTR *".
|
||
(bfd_elf32_swap_symbol_in): Likewise.
|
||
(bfd_elf64_swap_symbol_in): Likewise.
|
||
* elfcode.h (elf_swap_symbol_in): Change input args to const PTR.
|
||
(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
|
||
* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
|
||
(elf_link_add_object_symbols): Likewise.
|
||
(elf_link_record_local_dynamic_symbol): Likewise.
|
||
(elf_link_input_bfd): Likewise.
|
||
(elf_gc_mark): Likewise.
|
||
(elf_reloc_symbol_deleted_p): Likewise.
|
||
* elf-m10200.c (mn10200_elf_relax_section): Likewise.
|
||
(mn10200_elf_relax_delete_bytes): Likewise.
|
||
(mn10200_elf_symbol_address_p): Likewise.
|
||
(mn10200_elf_get_relocated_section_contents): Likewise.
|
||
* elf-m10300.c (mn10300_elf_relax_section): Likewise.
|
||
(mn10300_elf_relax_section): Likewise.
|
||
(mn10300_elf_relax_delete_bytes): Likewise.
|
||
(mn10300_elf_symbol_address_p): Likewise.
|
||
(mn10300_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-h8300.c (elf32_h8_relax_section): Likewise.
|
||
(elf32_h8_relax_delete_bytes): Likewise.
|
||
(elf32_h8_symbol_address_p): Likewise.
|
||
(elf32_h8_get_relocated_section_contents): Likewise.
|
||
* elf32-hppa.c (get_local_syms): Likewise.
|
||
* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
|
||
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
|
||
* elf32-sh.c (sh_elf_relax_section): Likewise.
|
||
(sh_elf_relax_delete_bytes): Likewise.
|
||
(sh_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
|
||
* elf64-mmix.c (mmix_elf_relax_section): Likewise.
|
||
* elf64-ppc.c (get_local_syms): Likewise.
|
||
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
|
||
|
||
2002-06-05 J"orn Rennecke <joern.rennecke@superh.com>
|
||
|
||
* config.bfd (sh64l*-*-elf*, shl*-*-elf*): New configurations.
|
||
|
||
2002-06-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (group_signature): Swap in the whole symbol, and handle
|
||
extracting section symbol names.
|
||
(setup_group): Add comment.
|
||
(set_group_contents): When called from objcopy or ld, arrange for
|
||
section contents to be written. Write group member output section
|
||
indices to allow objcopy to reorganize sections.
|
||
(_bfd_elf_copy_private_section_data): Copy group info.
|
||
|
||
* elf-bfd.h (struct elf_size_info): Add swap_symbol_in field.
|
||
(bfd_elf32_swap_symbol_in): Update prototype.
|
||
(bfd_elf64_swap_symbol_in): Likewise.
|
||
* elfcode.h (elf_swap_symbol_in): Change input args to const PTR *.
|
||
(elf_slurp_symbol_table): Adjust call to elf_swap_symbol_in.
|
||
* elflink.h (elf_link_is_defined_archive_symbol): Likewise.
|
||
(elf_link_add_object_symbols): Likewise.
|
||
(elf_link_record_local_dynamic_symbol): Likewise.
|
||
(elf_link_input_bfd): Likewise.
|
||
(elf_gc_mark): Likewise.
|
||
(elf_reloc_symbol_deleted_p): Likewise.
|
||
* elf-m10200.c (mn10200_elf_relax_section): Likewise.
|
||
(mn10200_elf_relax_delete_bytes): Likewise.
|
||
(mn10200_elf_symbol_address_p): Likewise.
|
||
(mn10200_elf_get_relocated_section_contents): Likewise.
|
||
* elf-m10300.c (mn10300_elf_relax_section): Likewise.
|
||
(mn10300_elf_relax_section): Likewise.
|
||
(mn10300_elf_relax_delete_bytes): Likewise.
|
||
(mn10300_elf_symbol_address_p): Likewise.
|
||
(mn10300_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-h8300.c (elf32_h8_relax_section): Likewise.
|
||
(elf32_h8_relax_delete_bytes): Likewise.
|
||
(elf32_h8_symbol_address_p): Likewise.
|
||
(elf32_h8_get_relocated_section_contents): Likewise.
|
||
* elf32-hppa.c (get_local_syms): Likewise.
|
||
* elf32-m68k.c (bfd_m68k_elf32_create_embedded_relocs): Likewise.
|
||
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): Likewise.
|
||
* elf32-sh.c (sh_elf_relax_section): Likewise.
|
||
(sh_elf_relax_delete_bytes): Likewise.
|
||
(sh_elf_get_relocated_section_contents): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_relax_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relax_section): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_check_relocs): Likewise.
|
||
* elf64-mmix.c (mmix_elf_relax_section): Likewise.
|
||
* elf64-ppc.c (get_local_syms): Likewise.
|
||
* elf64-sh64.c (sh_elf64_get_relocated_section_contents): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relax_section): Likewise.
|
||
* elfcode.h (NAME(_bfd_elf,size_info)): Update initialiser.
|
||
* elf64-alpha.c (alpha_elf_size_info): Likewise.
|
||
* elf64-hppa.c (hppa64_elf_size_info): Likewise.
|
||
* elf64-mips.c (mips_elf64_size_info): Likewise.
|
||
* elf64-s390.c (s390_elf64_size_info): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_size_info): Likewise.
|
||
|
||
2002-06-05 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
||
|
||
* elf32-mips.c (elf32_mips_ignore_discarded_relocs): Move to...
|
||
elfxx-mips.c (_bfd_mips_elf_ignore_discarded_relocs): ... here.
|
||
elf64-mips.c (elf_backend_ignore_discarded_relocs): Use
|
||
_bfd_mips_elf_ignore_discarded_relocs.
|
||
elfxx-mips.h (_bfd_mips_elf_ignore_discarded_relocs): Declare.
|
||
|
||
2002-06-05 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elfxx-mips.c (mips_elf_calculate_relocation): Call
|
||
_bfd_elf_rel_local_sym for STT_SECTION relocations against
|
||
the SEC_MERGE section.
|
||
|
||
2002-06-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff-alpha.c: Update copyright date.
|
||
* coff-mips.c: Likewise.
|
||
* xcoff-target.h: Likewise.
|
||
|
||
* bfd-in.h: Remove "taken from the source" comment.
|
||
* libbfd-in.h: Likewise.
|
||
* libcoff-in.h: Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* libcoff.h: Regenerate.
|
||
|
||
* elf.c (bfd_elf_discard_group): Return true.
|
||
* elf-bfd.h (bfd_elf_discard_group): Declare.
|
||
* bfd-in.h (bfd_elf_discard_group): Don't declare here.
|
||
* section.c (bfd_discard_group): Rename to bfd_generic_discard_group.
|
||
* bfd.c (bfd_discard_group): Define.
|
||
* targets.c (struct bfd_target): Add _bfd_discard_group.
|
||
(BFD_JUMP_TABLE_LINK): Here too.
|
||
* libbfd-in.h (_bfd_nolink_bfd_discard_group): Define.
|
||
* aout-adobe.c (aout_32_bfd_discard_group): Define.
|
||
* aout-target.h (MY_bfd_discard_group): Define.
|
||
* aout-tic30.c (MY_bfd_discard_group): Define.
|
||
* binary.c (binary_bfd_discard_group): Define.
|
||
* bout.c (b_out_bfd_discard_group): Define.
|
||
* coff-alpha.c (_bfd_ecoff_bfd_discard_group): Define.
|
||
* coffcode.h (coff_bfd_discard_group): Define.
|
||
* coff-mips.c (_bfd_ecoff_bfd_discard_group): Define.
|
||
* elfxx-target.h (bfd_elfNN_bfd_discard_group): Define.
|
||
* i386msdos.c (msdos_bfd_discard_group): Define.
|
||
* i386os9k.c (os9k_bfd_discard_group): Define.
|
||
* ieee.c (ieee_bfd_discard_group): Define.
|
||
* ihex.c (ihex_bfd_discard_group): Define.
|
||
* mmo.c (mmo_bfd_discard_group): Define.
|
||
* nlm-target.h (nlm_bfd_discard_group): Define.
|
||
* oasys.c (oasys_bfd_discard_group): Define.
|
||
* ppcboot.c (ppcboot_bfd_discard_group): Define.
|
||
* som.c (som_bfd_discard_group): Define.
|
||
* srec.c (srec_bfd_discard_group): Define.
|
||
* tekhex.c (tekhex_bfd_discard_group): Define.
|
||
* versados.c (versados_bfd_discard_group): Define.
|
||
* vms.c (vms_bfd_discard_group): Define.
|
||
* xcoff-target.h (_bfd_xcoff_bfd_discard_group): Define.
|
||
* coff64-rs6000.c (rs6000coff64_vec): Update initialiser.
|
||
(aix5coff64_vec): Likewise.
|
||
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Likewise.
|
||
|
||
2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-com.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-sh64-com.c.
|
||
(elf32-sh64-com.lo): New dependency list.
|
||
* Makefile.in: Regenerate.
|
||
* configure.in (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec)
|
||
(bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec): Add
|
||
elf32-sh64-com.lo.
|
||
* configure: Regenerate.
|
||
* elf32-sh64.c (sh64_address_in_cranges)
|
||
(sh64_get_contents_type, sh64_address_is_shmedia): Move to...
|
||
(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb):
|
||
(crange_bsearch_cmpl): Prepend _bfd_sh64_ to name and move to...
|
||
* elf32-sh64-com.c: ...here. New file.
|
||
|
||
2002-06-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-openrisc.c (openrisc_elf_gc_mark_hook): Remove
|
||
ATTRIBUTE_UNUSED on used params.
|
||
* elf32-vax.c (elf_vax_gc_mark_hook): Remove unnecessary checks
|
||
before calling bfd_section_from_elf_index on local syms.
|
||
* elf64-sh64.c (sh_elf64_gc_mark_hook): Likewise.
|
||
|
||
2002-06-04 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64-nbsd.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-sh64-nbsd.c.
|
||
(BFD64_BACKENDS): Add elf64-sh64-nbsd.lo.
|
||
(BFD64_BACKENDS_CFILES): Add elf64-sh64-nbsd.c.
|
||
(elf32-sh64-nbsd.lo, elf64-sh64-nbsd.lo): New rules.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd (sh5le-*-netbsd*, sh5-*-netbsd*, sh64le-*-netbsd*)
|
||
(sh64-*-netbsd*): New targets.
|
||
* configure.in: Add bfd_elf32_sh64nbsd_vec, bfd_elf32_sh64lnbsd_vec,
|
||
bfd_elf64_sh64nbsd_vec, and bfd_elf64_sh64lnbsd_vec.
|
||
* configure: Regenerate.
|
||
* elf32-sh64-nbsd.c: New file.
|
||
* elf64-sh64-nbsd.c: New file.
|
||
* targets.c: Add extern decls for bfd_elf32_sh64nbsd_vec,
|
||
bfd_elf32_sh64lnbsd_vec, bfd_elf64_sh64nbsd_vec, and
|
||
bfd_elf64_sh64lnbsd_vec.
|
||
|
||
2002-06-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (setup_group): Set SEC_LINK_ONCE on GRP_COMDAT groups.
|
||
(bfd_section_from_shdr): Likewise. Set section name of group
|
||
sections from signature.
|
||
(group_signature): Split out from setup_group. Ensure symbol table
|
||
is available.
|
||
(bfd_elf_discard_group): New function.
|
||
(_bfd_elf_make_section_from_shdr): Don't set SEC_LINK_ONCE on
|
||
.gnu.linkonce* sections if they are members of a group.
|
||
(set_group_contents): Set GRP_COMDAT flag.
|
||
* section.c (bfd_discard_group): New function.
|
||
* bfd-in.h (bfd_elf_discard_group): Declare.
|
||
* bfd-in2.h: Regenerate.
|
||
* elf-bfd.h (struct bfd_elf_section_data): Add linkonce_p field.
|
||
(elf_linkonce_p): Define.
|
||
|
||
2002-06-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (bfd_section_from_shdr): Make "name" const.
|
||
* elf-bfd.h (elf_backend_section_from_shdr): Likewise.
|
||
* elf32-i370.c (i370_elf_section_from_shdr): Likewise.
|
||
* elf32-ppc.c (ppc_elf_section_from_shdr): Likewise.
|
||
* elf32-sh64.c (sh64_backend_section_from_shdr): Likewise.
|
||
* elf32-v850.c (v850_elf_section_from_shdr): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_section_from_shdr): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_section_from_shdr): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_section_from_shdr): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_section_from_shdr): Likewise.
|
||
* elfxx-mips.h (_bfd_mips_elf_section_from_shdr): Likewise.
|
||
|
||
2002-06-03 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
|
||
|
||
* elfxx-mips.c (ABI_64_P): Use backend's data to determine the
|
||
ABI.
|
||
|
||
2002-06-02 Kazu Hirata <kazu@cs.umass.edu>
|
||
|
||
* elf32-arc.c: Fix formatting.
|
||
* elf32-arm.h: Likewise.
|
||
* elf32-cris.c: Likewise.
|
||
* elf32-dlx.c: Likewise.
|
||
* elf32-hppa.c: Likewise.
|
||
* elf32-i386.c: Likewise.
|
||
* elf32-i386qnx.c: Likewise.
|
||
* elf32-or32.c: Likewise.
|
||
* elf32-s390.c: Likewise.
|
||
* elf32-sh64.c: Likewise.
|
||
* elf32-vax.c: Likewise.
|
||
* elf32-xstormy16.c: Likewise.
|
||
* elf64-alpha.c: Likewise.
|
||
* elf64-mmix.c: Likewise.
|
||
* elf64-ppc.c: Likewise.
|
||
* elf64-s390.c: Likewise.
|
||
* elf64-sh64.c: Likewise.
|
||
* elf64-x86-64.c: Likewise.
|
||
|
||
2002-06-02 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Don't dereference
|
||
null when there are no got entries for a symbol.
|
||
(elf64_alpha_relax_find_tls_segment): Rearrange to avoid
|
||
uninitialized variable warning.
|
||
|
||
2002-06-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relax_with_lituse): Don't test for
|
||
undefined symbols here.
|
||
(elf64_alpha_relax_section): Do it here. Also test for not
|
||
defined in the current module.
|
||
(elf64_alpha_relocate_section_r): Split out of ...
|
||
(elf64_alpha_relocate_section): ... here. Don't dereference
|
||
NULL when looking up local got entries.
|
||
|
||
2002-06-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relax_with_lituse): Reject undefined
|
||
symbols from JSR relaxation.
|
||
(elf64_alpha_size_plt_section_1): New.
|
||
(elf64_alpha_calc_dynrel_sizes): Split out .rela.got bits ...
|
||
(elf64_alpha_size_rela_got_1): ... here.
|
||
(elf64_alpha_size_dynamic_sections): Split out .rela.got bits ...
|
||
(elf64_alpha_size_rela_got_section): ... here.
|
||
(elf64_alpha_size_plt_section): New.
|
||
(elf64_alpha_relax_section): Call them.
|
||
(elf64_alpha_size_got_sections): Remove output_bfd arg.
|
||
(elf64_alpha_finish_dynamic_symbol): Check gotent use_count.
|
||
|
||
2002-06-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (alpha_get_dtprel_base, alpha_get_tprel_base): New.
|
||
(elf64_alpha_relocate_section): Use them. Reject LE TLS relocs
|
||
in shared libraries. Fix DTPRELHI and TPRELHI value.
|
||
(INSN_ADDQ, INSN_RDUNIQ): New.
|
||
(struct alpha_relax_info): Add symtab_hdr, tls_segment, first_gotent.
|
||
(elf64_alpha_relax_with_lituse): Return boolean. Remove irelend
|
||
argument. Reject dynamic symbols. Use LITUSE symbolic constants.
|
||
(elf64_alpha_relax_got_load): Rename from relax_without_lituse.
|
||
Handle GOTDTPREL and GOTTPREL relocations.
|
||
(elf64_alpha_relax_gprelhilo): New.
|
||
(elf64_alpha_relax_tls_get_addr): New.
|
||
(elf64_alpha_relax_find_tls_segment): New.
|
||
(elf64_alpha_relax_section): Handle TLS relocations.
|
||
(ALPHA_ELF_LINK_HASH_TLS_IE): New.
|
||
(elf64_alpha_check_relocs): Set it.
|
||
|
||
2002-06-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relax_section): Don't store computed gp.
|
||
|
||
* elf64-alpha.c (elf64_alpha_check_relocs): Fix typo on maybe_dynamic
|
||
check; don't suppress dynamic relocs for non-allocated sections.
|
||
|
||
* elf64-alpha.c: Remove dead code.
|
||
|
||
2002-05-31 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Don't allocate
|
||
space for bss .plt.
|
||
|
||
2002-05-31 Graeme Peterson <gp@qnx.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-i386qnx.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-i386qnx.c.
|
||
Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd: Add i[3456]86-*-nto-qnx* support.
|
||
* configure.in: Add bfd_elf32_i386qnx_vec support.
|
||
* configure: Regenerate.
|
||
* elf-bfd.h (struct elf_backend_data): Add set_nonloadable_filepos,
|
||
is_contained_by_filepos, and copy_private_bfd_data_p.
|
||
* elf.c (assign_file_positions_for_segments): Call backend
|
||
set_nonloadable_filepos. Fix non-K&R call to _bfd_error_handler.
|
||
(IS_CONTAINED_BY_FILEPOS): Define.
|
||
(INCLUDE_SECTION_IN_SEGMENT): Also test IS_CONTAINED_BY_FILEPOS.
|
||
(copy_private_bfd_data): Use IS_CONTAINED_BY_FILEPOS. Typo fix.
|
||
Fix non-K&R call to _bfd_error_handler.
|
||
(_bfd_elf_copy_private_section_data): Use backend
|
||
copy_private_bfd_data_p.
|
||
* elf32-i386.c: Don't include elfxx-target.h when
|
||
ELF32_I386_C_INCLUDED is defined.
|
||
* elf32-i386qnx.c: New QNX elf backend file.
|
||
* elfxx-target.h: Add elf_backend_set_nonloadable_filepos,
|
||
elf_backend_is_contained_by_filepos, and
|
||
elf_backend_do_copy_private_bfd_data.
|
||
* targets.c: Add bfd_target bfd_elf32_i386qnx_vec.
|
||
|
||
2002-05-31 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elfarm-oabi.c (bfd_elf32_arm_add_glue_sections_to_bfd): Define.
|
||
Move other similar defines to start of file.
|
||
|
||
2002-05-30 Tom Rix <trix@redhat.com>
|
||
|
||
* coff-rs6000.c (xcoff_rtype2howto): Handle 16 bit R_RBA.
|
||
* coff64-rs6000.c (xcoff64_rtype2howto): Same.
|
||
|
||
2002-05-30 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (ALPHA_ELF_LINK_HASH_LU_TLSGD,
|
||
ALPHA_ELF_LINK_HASH_LU_TLSLDM, ALPHA_ELF_LINK_HASH_LU_FUNC): New.
|
||
(ALPHA_ELF_GOT_ENTRY_RELOCS_DONE): Remove.
|
||
(ALPHA_ELF_GOT_ENTRY_RELOCS_XLATED): Remove.
|
||
(struct alpha_elf_got_entry): Add reloc_type, reloc_done, reloc_xlated.
|
||
(struct alpha_elf_obj_tdata): Rename total_got_entries and
|
||
n_local_got_entries to total_got_size and local_got_size.
|
||
(elf64_alpha_howto, elf64_alpha_reloc_map): Update for TLS relocs.
|
||
(alpha_got_entry_size): New.
|
||
(elf64_alpha_relax_with_lituse): Use it.
|
||
(elf64_alpha_relax_without_lituse): Likewise.
|
||
(MAX_GOT_SIZE): Rename from MAX_GOT_ENTRIES.
|
||
(get_got_entry): New.
|
||
(elf64_alpha_check_relocs): Handle TLS relocs. Reorganize.
|
||
(elf64_alpha_adjust_dynamic_symbol): Test LU_FUNC as a mask.
|
||
(elf64_alpha_merge_ind_symbols): Check gotent->reloc_type.
|
||
(elf64_alpha_can_merge_gots, elf64_alpha_merge_gots): Likewise.
|
||
(elf64_alpha_calc_got_offsets_for_symbol): Use alpha_got_entry_size.
|
||
(elf64_alpha_calc_got_offsets): Likewise.
|
||
(alpha_dynamic_entries_for_reloc): New.
|
||
(elf64_alpha_calc_dynrel_sizes): Use it.
|
||
(elf64_alpha_size_dynamic_sections): Likewise.
|
||
(elf64_alpha_relocate_section): Handle TLS relocations.
|
||
* reloc.c: Add Alpha TLS relocations.
|
||
* bfd-in2.h, libbfd.h: Rebuild.
|
||
|
||
2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
|
||
|
||
* peXXigen.c (pe_print_idata): Remove double printed
|
||
import table lines; add Bound-To comment.
|
||
|
||
2002-05-29 Matt Thomas <matt@3am-software.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-vax.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-vax.c.
|
||
(elf32-vax.lo): New rule.
|
||
* Makefile.in: Regenerate.
|
||
* configure.in (bfd_elf32_vax_vec)
|
||
(vaxnetbsd_vec): New vectors.
|
||
* configure: Regenerate.
|
||
* config.bfd (vax-*-netbsdelf*)
|
||
(vax-*-netbsdaout*)
|
||
(vax-*-netbsd*): New targets.
|
||
* elf32-vax.c: New file.
|
||
* reloc.c: Add VAX relocations.
|
||
* bfd-in2.h: Regenerate.
|
||
* targets.c (_bfd_target_vector): Add bfd_elf32_vax_vec.
|
||
|
||
2002-05-29 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (arm-*-netbsd*): Add bfd_elf32_littlearm_vec
|
||
and bfd_elf32_bigarm_vec to targ_selvecs.
|
||
|
||
2002-05-29 Ralf Habacker <ralf.habacker@freenet.de>
|
||
|
||
* peXXigen.c (pe_print_idata): Fix seg faults on printing import tables
|
||
with auto-imported symbols.
|
||
|
||
2002-05-29 Adam Nemet <anemet@lnxw.com>
|
||
|
||
* elf32-arm.h (bfd_elf32_arm_get_bfd_for_interworking): Don't add glue
|
||
sections only record bfd.
|
||
(bfd_elf32_arm_add_glue_sections_to_bfd): New function.
|
||
* bfd-in.h (bfd_elf32_arm_add_glue_sections_to_bfd): Declare it.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-05-28 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* syms.c (_bfd_stab_section_find_nearest_line): Move
|
||
declaration and initialisation of saw_line and saw_func out of
|
||
for loop.
|
||
|
||
2002-05-29 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_get_symbol_info): New function.
|
||
(bfd_elf64_get_symbol_info): Define.
|
||
* elfxx-target.h (bfd_elfNN_get_symbol_info): Only define if undef.
|
||
|
||
2002-05-29 Andrey Volkov <avolkov@transas.com>
|
||
|
||
* cpu-h8300.c: Make default h8300 machine first in machine list.
|
||
|
||
2002-05-28 Kuang Hwa Lin <kuang@sbcglobal.net>
|
||
|
||
* config.bfd: Added DLX configuraton.
|
||
* Makefile.am: Added DLX configuraton.
|
||
* configure.in: Added DLX configuraton.
|
||
* archures.c: Add DLX architecture.
|
||
* reloc.c: Add DLX relocs.
|
||
* targets.c: Added DLX target vector.
|
||
* configure: Regenerate.
|
||
* Makefile.in: Regenreate.
|
||
* bfd-in2.h: Regenreate.
|
||
* elf32-dlx.c: New file: Support DLX target.
|
||
* cpu-dlx.c: New file: Support DLX target.
|
||
|
||
2002-05-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Formatting.
|
||
|
||
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Revert last change.
|
||
(ppc64_elf_check_relocs): Don't set up function descriptor symbol
|
||
strings to point inside function code sym string.
|
||
(func_desc_adjust): Likewise.
|
||
(ppc64_elf_hide_symbol): Rewrite code to look up function code sym.
|
||
|
||
2002-05-24 Michal Ludvig <mludvig@suse.cz>
|
||
|
||
* elf64-x86-64.c (elf64_x86_64_grok_prstatus): Added.
|
||
(elf64_x86_64_grok_psinfo): Added.
|
||
|
||
2002-05-24 TAMURA Kent <kent@netbsd.org>
|
||
|
||
* config.bfd: Add a target for i386-netbsdpe.
|
||
|
||
2002-05-24 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy is_func
|
||
and is_func_descriptor.
|
||
(func_desc_adjust): Hide function code sym in shared libs unless
|
||
there is a matching exported function descriptor sym.
|
||
|
||
2002-05-23 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Set SEC_THREAD_LOCAL
|
||
for symbols from SHF_TLS section.
|
||
(_bfd_elf_print_private_bfd_data): Add PT_TLS.
|
||
(elf_fake_sections): Set SHF_TLS for SEC_THREAD_LOCAL sections.
|
||
(map_sections_to_segments): Build PT_TLS segment if necessary.
|
||
(assign_file_positions_for_segments): Likewise.
|
||
(get_program_header_size): Account for PT_TLS segment.
|
||
(swap_out_syms): Set type of BSF_THREAD_LOCAL symbols and symbols from
|
||
SEC_THREAD_LOCAL sections to STT_TLS.
|
||
* reloc.c: Add 386 and IA-64 TLS relocs.
|
||
* section.c (SEC_THREAD_LOCAL): Define.
|
||
(SEC_CONSTRUCTOR_TEXT, SEC_CONSTRUCTOR_DATA, SEC_CONSTRUCTOR_BSS):
|
||
Remove.
|
||
* elflink.h (elf_link_add_object_symbols): Support .tcommon.
|
||
(size_dynamic_sections): If DF_STATIC_TLS, set DF_FLAGS
|
||
unconditionally.
|
||
(struct elf_final_link_info): Add first_tls_sec.
|
||
(elf_bfd_final_link): Set first_tls_sec.
|
||
Compute elf_hash_table (info)->tls_segment.
|
||
(elf_link_output_extsym): Handle STT_TLS symbols.
|
||
(elf_link_input_bfd): Likewise.
|
||
* syms.c (BSF_THREAD_LOCAL): Define.
|
||
* bfd-in2.h: Rebuilt.
|
||
* libbfd.h: Rebuilt.
|
||
* elf32-i386.c (elf_i386_tls_transition, dtpoff_base, tpoff,
|
||
elf_i386_mkobject, elf_i386_object_p): New functions.
|
||
(elf_howto_table): Add TLS relocs.
|
||
(elf_i386_reloc_type_lookup): Support TLS relocs.
|
||
(elf_i386_info_to_howto_rel): Likewise.
|
||
(struct elf_i386_link_hash_entry): Add tls_type.
|
||
(struct elf_i386_obj_tdata): New.
|
||
(elf_i386_hash_entry, elf_i386_tdata, elf_i386_local_got_tls_type):
|
||
New macros.
|
||
(struct elf_i386_link_hash_table): Add tls_ldm_got.
|
||
(link_hash_newfunc): Clear tls_type.
|
||
(elf_i386_check_relocs): Support TLS relocs.
|
||
(elf_i386_gc_sweep_hook): Likewise.
|
||
(allocate_dynrelocs): Likewise.
|
||
(elf_i386_size_dynamic_sections): Likewise.
|
||
(elf_i386_relocate_section): Likewise.
|
||
(elf_i386_finish_dynamic_symbol): Likewise.
|
||
(bfd_elf32_mkobject, elf_backend_object_p): Define.
|
||
* elfxx-ia64.c (struct elfNN_ia64_dyn_sym_info): Add tprel_offset,
|
||
dtpmod_offset, dtprel_offset, tprel_done, dtpmod_done, dtprel_done,
|
||
want_tprel, want_dtpmod, want_dtprel.
|
||
(elfNN_ia64_tprel_base, elfNN_ia64_dtprel_base): New functions.
|
||
(ia64_howto_table): Add TLS relocs, rename R_IA64_LTOFF_TP22 to
|
||
R_IA64_LTOFF_TPREL22.
|
||
(elf_code_to_howto_index): Add TLS relocs.
|
||
(elfNN_ia64_check_relocs): Support TLS relocs.
|
||
(allocate_global_data_got): Account for TLS .got data.
|
||
(allocate_dynrel_entries): Account for TLS dynamic relocations.
|
||
(elfNN_ia64_install_value): Supprt TLS relocs.
|
||
(set_got_entry): Support TLS relocs.
|
||
(elfNN_ia64_relocate_section): Likewise.
|
||
|
||
2002-05-23 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elf32-arm.h (elf32_arm_final_link_relocate): For the Thumb
|
||
BLX reloc round the relocation up rather than down.
|
||
* coff-arm.c (coff_arm_relocate_section): Likewise.
|
||
|
||
2002-05-21 H.J. Lu (hjl@gnu.org)
|
||
|
||
* linker.c (_bfd_generic_link_add_one_symbol): Allow multiple
|
||
definition.
|
||
|
||
2002-05-22 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_stubs): Don't strip .branch_lt.
|
||
(ppc64_elf_relocate_section): Handle unresolved relocs in opd.
|
||
|
||
2002-05-22 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Return false for
|
||
unresolved relocs.
|
||
(ppc64_elf_size_dynamic_sections): Check for splt NULL.
|
||
|
||
2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* bfd.c (bfd_get_arch_size): Remove bfd_set_error call for
|
||
non-ELF targets.
|
||
|
||
2002-05-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf-bfd.h (elf_backend_emit_relocs): Change prototype to return
|
||
an error value.
|
||
* elflink.h (elf_link_output_relocs): Likewise. Improve error message.
|
||
return with false on error.
|
||
(elf_link_input_bfd): Check reloc_emitter return value.
|
||
|
||
2002-05-21 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (armeb-*-netbsdelf*): New target.
|
||
|
||
2002-05-20 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc_build_one_stub): Point undefined function syms
|
||
at the plt call stub.
|
||
|
||
2002-05-19 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* cpu-mips.c (mips_compatible): Don't try to check machine
|
||
compatibility.
|
||
|
||
2002-05-18 Tom Rix <trix@redhat.com>
|
||
|
||
* coff64-rs6000.c (_bfd_xcoff64_swap_aux_out): Fix C_FILE auxent.
|
||
|
||
2002-05-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_info_to_howto): Formatting.
|
||
(ppc64_elf_relocate_section): Don't warn about reloc overflow when
|
||
we've already warned about an undefined symbol. Report more
|
||
detail on reloc errors.
|
||
|
||
2002-05-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* acinclude.m4 (AM_INSTALL_LIBBFD): New.
|
||
* configure.in: Invoke AM_INSTALL_LIBBFD.
|
||
* Makefile.am (install-data-local): Revert 2002-05-13. Move to..
|
||
(install_libbfd): .. New target.
|
||
(uninstall_libbfd): Likewise.
|
||
(install-bfdlibLTLIBRARIES): Likewise.
|
||
(uninstall-bfdlibLTLIBRARIES): Likewise.
|
||
(bfdlibdir): New.
|
||
(bfdincludedir): New.
|
||
(lib_LTLIBRARIES): Rename to bfdlib_LTLIBRARIES.
|
||
* aclocal.m4: Regenerate.
|
||
* configure: Regenerate.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2002-05-17 Stuart Balfour <sbalfour@cisco.com>
|
||
|
||
* hash.c (bfd_hash_lookup): Remove computation of len from inside
|
||
hash loop.
|
||
|
||
2002-05-16 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* config.bfd: Add targets for sh64-linux (little endian and
|
||
big endian).
|
||
|
||
2002-05-15 Laurent Pinchart <laurent.pinchart@skynet.be>
|
||
|
||
* peXXigen.c (pe_print_idata): Do not assume that the first thunk
|
||
is located in the same section as the import table. Instead
|
||
check, and if necessary load the section containing the thunk.
|
||
|
||
2002-05-15 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* aix5ppc-core.c (xcoff64_core_p): Replace bfd_read with
|
||
bfd_bread.
|
||
(xcoff64_core_file_matches_executable_p): Replace bfd_read
|
||
with bfd_bread.
|
||
|
||
2002-05-15 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* aix5ppc-core.c: Warning fixes.
|
||
* aout-adobe.c (aout_32_bfd_link_just_syms): Define.
|
||
* aout-target.h (MY_bfd_link_just_syms): Define.
|
||
* aout-tic30.c (MY_bfd_link_just_syms): Define.
|
||
* bfd.c (bfd_link_just_syms): Define.
|
||
* binary.c (binary_bfd_link_just_syms): Define.
|
||
* bout.c (b_out_bfd_link_just_syms): Define.
|
||
* coff-rs6000.c (rs6000coff_vec, pmac_xcoff_vec): Update initializer.
|
||
* coff64-rs6000.c (rs6000coff64_vec, aix5coff64_vec): Likewise.
|
||
* coffcode.h (coff_bfd_link_just_syms): Define.
|
||
* elf-bfd.h (enum elf_link_info_type): Add ELF_INFO_TYPE_JUST_SYMS.
|
||
(elf_discarded_section): Check for ELF_INFO_TYPE_JUST_SYMS.
|
||
(_bfd_elf_link_just_syms): Declare.
|
||
* elf.c (_bfd_elf_link_just_syms): New function.
|
||
* elf-eh-frame.c (_bfd_elf_maybe_strip_eh_frame_hdr): Check that
|
||
sections haven't already been discarded by the linker.
|
||
* elflink.h (elf_link_add_object_symbols): Likewise for stab
|
||
sections and SEC_MERGE sections.
|
||
(elf_bfd_discard_info): Similarly here.
|
||
* elfxx-target.h (bfd_elfNN_bfd_link_just_syms): Define.
|
||
* i386msdos.c (msdos_bfd_link_just_syms): Define.
|
||
* i386os9k.c (os9k_bfd_link_just_syms): Define.
|
||
* ieee.c (ieee_bfd_link_just_syms): Define.
|
||
* ihex.c (ihex_bfd_link_just_syms): Define.
|
||
* libbfd-in.h (_bfd_nolink_bfd_link_just_syms): Define.
|
||
(_bfd_generic_link_just_syms): Declare.
|
||
* libecoff.h (_bfd_ecoff_bfd_link_just_syms): Define.
|
||
* linker.c (_bfd_generic_link_just_syms): New function.
|
||
* mmo.c (mmo_bfd_link_just_syms): Define.
|
||
* nlm-target.h (nlm_bfd_link_just_syms): Define.
|
||
* oasys.c (oasys_bfd_link_just_syms): Define.
|
||
* ppcboot.c (ppcboot_bfd_link_just_syms): Define.
|
||
* som.c (som_bfd_link_just_syms): Define.
|
||
* srec.c (srec_bfd_link_just_syms): Define.
|
||
* targets.c (struct bfd_target): Add _bfd_link_just_syms.
|
||
(BFD_JUMP_TABLE_LINK): And here.
|
||
* tekhex.c (tekhex_bfd_link_just_syms): Define.
|
||
* versados.c (versados_bfd_link_just_syms): Define.
|
||
* vms.c (vms_bfd_link_just_syms): Define.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elf32-mips.c: Remove superfluous definitions copied from
|
||
elfxx-mips.c.
|
||
(bfd_elf32_bigmips_vec,bfd_elf32_littlemips_vec): Use the
|
||
SGIish vectors to check the special case.
|
||
(mips_elf_hi16_reloc): Fix comment.
|
||
(mips_elf_got16_reloc): Likewise.
|
||
(_bfd_mips_elf32_gprel16_reloc): Likewise.
|
||
(elf_reloc_map): Code cleanup.
|
||
(mips_reloc_map): Add comment.
|
||
(bfd_elf23_bfd_reloc_type_lookup): Code cleanup.
|
||
(mips_elf32_rtype_to_howto): Likewise.
|
||
(mips_elf32_discard_info): Likewise.
|
||
(elf32_mips_irix_compat): Invert logic: Only SGIish vectors
|
||
lead to IRIX compatibility now.
|
||
|
||
2002-05-15 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* elfxx-mips.c: Call it IRIX, not Irix in comments.
|
||
|
||
2002-05-13 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (shle-*-netbsdelf*): Add target which includes
|
||
sh64 support.
|
||
|
||
2002-05-13 David Edelsohn <edelsohn@gnu.org>
|
||
|
||
* configure.in: Revert 2002-04-07. Instead, auto-configure
|
||
HAVE_ST_C_IMPL.
|
||
* configure: Regenerate.
|
||
* config.in: Regenerate.
|
||
* rs6000-core.c (CNEW_IMPL): Guard use of c_impl with HAVE_ST_C_IMPL
|
||
or AIX_5_CORE.
|
||
|
||
2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
|
||
|
||
* configure.in (sparc*-*-openbsd*): Support sparc64-openbsd
|
||
corefiles as well.2
|
||
* configure: Regenerate.
|
||
|
||
2002-05-13 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am (install-data-local): Install headers to
|
||
$(exec_prefix)/include.
|
||
* Makefile.in: Regenerate.
|
||
|
||
2002-05-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||
Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* coff-sh.c (sh_reloc_map): Map to R_SH_IMM32 for non-PE. Don't
|
||
map BFD_RELOC_RVA.
|
||
|
||
2002-05-11 Federico G. Schwindt <fgsch@olimpo.com.br>
|
||
|
||
* config.bfd (alpha*-*-openbsd*, sparc64*-*-openbsd*,
|
||
hppa*-*-openbsd*): New targets.
|
||
* configure.in (alpha*-*-openbsd*): Set COREFILE.
|
||
* configure: Regenerate.
|
||
|
||
2002-05-10 Tom Rix <trix@redhat.com>
|
||
|
||
* coff64-rs6000.c (xcoff64_reloc_type_br): New function for
|
||
xcoff64_ppc_relocate_section.
|
||
* coff-rs6000.c : Extern common xcoff_reloc_type functions.
|
||
* libxcoff.h: Common xcoff_reloc_type function declaration.
|
||
|
||
2002-05-10 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-i386.c (elf_i386_relocate_section): Remove overflow checks
|
||
added in 2002-05-09 commit.
|
||
|
||
* elf32-hppa.c (elf32_hppa_size_stubs): Revert part of 2002-05-04,
|
||
don't look for stubs on all undefined syms.
|
||
|
||
2002-05-09 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (RA_REGISTER_MASK, RA_REGISTER_SHIFT): Delete.
|
||
(ppc64_elf_howto_raw <R_PPC64_RELATIVE>): Not pc_relative or
|
||
pcrel_offset.
|
||
|
||
* elf32-i386.c (elf_howto_table): Comments.
|
||
(elf_i386_relocate_section): Handle more relocs for relocatable
|
||
linking and against SEC_MERGE sections.
|
||
|
||
2002-05-08 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_create_got): New function.
|
||
(ppc_elf_create_dynamic_sections): Call ppc_elf_create_got before
|
||
_bfd_elf_create_dynamic_sections. Correct .plt flags.
|
||
(ppc_elf_check_relocs): Use ppc_elf_create_got in place of
|
||
_bfd_elf_create_got_section.
|
||
|
||
2002-05-07 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (struct elf_backend_data): Add rela_normal.
|
||
* elfxx-target.h (elf_backend_rela_normal): Define.
|
||
(elfNN_bed): Init rela_normal.
|
||
* elflink.h (elf_link_input_bfd <emit_relocs>): Handle adjustment
|
||
for section symbols here if rela_normal. Simplify abs section test.
|
||
* elf-m10200.c (mn10200_elf_relocate_section): If relocatable,
|
||
return immediately. Remove code handling relocatable linking.
|
||
* elf-m10300.c (mn10300_elf_relocate_section): Likewise.
|
||
* elf32-fr30.c (fr30_elf_relocate_section): Likewise.
|
||
* elf32-i370.c (i370_elf_relocate_section): Likewise.
|
||
* elf32-i860.c (elf32_i860_relocate_section): Likewise.
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||
* elf32-mcore.c (mcore_elf_relocate_section): Likewise.
|
||
* elf32-openrisc.c (openrisc_elf_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_elf_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_relocate_section): Likewise.
|
||
* elf32-arm.h (elf32_arm_relocate_section): Likewise #ifndef USE_REL.
|
||
* elf32-m32r.c (m32r_elf_relocate_section): Likewise.
|
||
* elf-m10200.c (elf_backend_rela_normal): Define.
|
||
* elf-m10300.c (elf_backend_rela_normal): Define.
|
||
* elf32-fr30.c (elf_backend_rela_normal): Define.
|
||
* elf32-i370.c (elf_backend_rela_normal): Define.
|
||
* elf32-i860.c (elf_backend_rela_normal): Define.
|
||
* elf32-m68k.c (elf_backend_rela_normal): Define.
|
||
* elf32-mcore.c (elf_backend_rela_normal): Define.
|
||
* elf32-openrisc.c (elf_backend_rela_normal): Define.
|
||
* elf32-ppc.c (elf_backend_rela_normal): Define.
|
||
* elf32-s390.c (elf_backend_rela_normal): Define.
|
||
* elf32-xstormy16.c (elf_backend_rela_normal): Define.
|
||
* elf64-ppc.c (elf_backend_rela_normal): Define.
|
||
* elf64-s390.c (elf_backend_rela_normal): Define.
|
||
* elf64-x86-64.c (elf_backend_rela_normal): Define.
|
||
* elfxx-ia64.c (elf_backend_rela_normal): Define.
|
||
* elf32-arm.h (elf_backend_rela_normal): Define #ifndef USE_REL.
|
||
* elf32-m32r.c (elf_backend_rela_normal): Likewise.
|
||
|
||
2002-05-06 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elf32-arm.h (elf32_arm_final_link_relocate): Convert
|
||
'reloc_signed_max' and 'reloc_signed_min' into half-word offsets.
|
||
|
||
2002-05-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_link_input_bfd <emit_relocs>): Adjust r_offset
|
||
when not relocatable. Fix reloc_emitter call for K&R.
|
||
|
||
2002-05-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Reinstate code
|
||
reloading local sym addend mistakenly removed in 2002-05-01 change.
|
||
|
||
* dwarf2.c (struct line_head): Make prologue_length a bfd_vma.
|
||
(read_abbrevs): Change "offset" param to bfd_vma.
|
||
(parse_comp_unit): Change "version" and addr_size to unsigned ints.
|
||
Change "abbrev_offset" to bfd_vma.
|
||
(read_indirect_string): Use correct conversion chars in error
|
||
message format string, cast bfd_vma's to unsigned long.
|
||
(read_abbrevs): Likewise.
|
||
(read_attribute_value): Likewise.
|
||
(decode_line_info): Likewise.
|
||
(scan_unit_for_functions): Likewise.
|
||
(parse_comp_unit): Likewise.
|
||
|
||
2002-05-04 Tom Rix <trix@redhat.com>
|
||
|
||
* coffswap.h (coff_swap_reloc_in): Remove XCOFF support.
|
||
(coff_swap_reloc_out): Same.
|
||
* coff-rs6000.c: (xcoff_swap_reloc_in): Moved from coffswap.h.
|
||
(xcoff_swap_reloc_out): Same.
|
||
(xcoff_rtype2howto): Renamed from _bfd_xcoff_rtype2howto. Special
|
||
case some 16 bit relocs. Add reloc value to output.
|
||
(xcoff_howto_table): Remove 64 bit R_POS, add 16 bit
|
||
R_RBR. Improve names.
|
||
(_bfd_xcoff_reloc_type_lookup): Adjust for removal of 64 bit R_POS.
|
||
(bfd_xcoff_backend_data): Update with new reloc swap names.
|
||
(bfd_pmac_xcoff_backend_data) : Same.
|
||
* coff64-rs6000.c: (xcoff64_swap_reloc_in): Moved from coffswap.h.
|
||
(xcoff64_swap_reloc_out): Same.
|
||
(xcoff64_rtype2howto): Special case some 16 bit relocs and 32 bit
|
||
R_POS. Add reloc value to output.
|
||
(xcoff64_howto_table): Move 64 bit R_POS to first entry. Add 16
|
||
bit R_RBR. Improve names, masks.
|
||
(xcoff64_reloc_type_lookup): Adjust for move of 64 bit R_POS.
|
||
(bfd_xcoff_backend_data): Update with new reloc swap names.
|
||
(bfd_xcoff_aix5_backend_data) : Same.
|
||
|
||
2002-05-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (struct elf32_hppa_link_hash_table): Add
|
||
bfd_count top_index, input_list, all_local_syms.
|
||
(elf32_hppa_setup_section_lists): New function, split from
|
||
elf32_hppa_size_stubs.
|
||
(elf32_hppa_next_input_section): Likewise.
|
||
(group_sections): Likewise.
|
||
(get_local_syms): Likewise.
|
||
(elf32_hppa_size_stubs): Adjust for split out functions. Look for
|
||
stubs on undefined syms too.
|
||
(elf32_hppa_set_gp): Use bfd_link_hash* instead of elf_link_hash*.
|
||
Only access htab elf fields when we have an elf hash table.
|
||
* elf32-hppa.h (elf32_hppa_setup_section_lists): Declare.
|
||
(elf32_hppa_next_input_section): Declare.
|
||
|
||
2002-05-04 Bob Byrnes <byrnes@curl.com>
|
||
|
||
* opncls.c (_bfd_new_bfd_contained_in): Check return value of
|
||
_bfd_new_bfd.
|
||
|
||
2002-05-03 H.J. Lu (hjl@gnu.org)
|
||
|
||
* elfxx-mips.c (mips_elf_link_hash_entry): Add forced_local.
|
||
(mips_elf_link_hash_newfunc): Initialize forced_local to false.
|
||
(mips_elf_record_global_got_symbol): Call _bfd_mips_elf_hide_symbol
|
||
to hide a global symbol.
|
||
(_bfd_mips_elf_hide_symbol): Return if forced_local is true. Set
|
||
forced_local to true.
|
||
|
||
2002-05-02 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Force relative relocs
|
||
vs SHN_UNDEF to zero.
|
||
|
||
2002-05-02 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_howto_raw <R_PPC64_SECTOFF>): Change to a
|
||
16 bit reloc.
|
||
<R_PPC64_SECTOFF_DS>: Likewise.
|
||
(ppc64_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
|
||
SECTOFF reloc.
|
||
* elf32-ppc.c (ppc_elf_howto_raw <R_PPC_SECTOFF>): Correct.
|
||
(ppc_elf_reloc_type_lookup): Map from BFD_RELOC_16_BASEREL to
|
||
SECTOFF reloc.
|
||
|
||
* elf64-ppc.c (ppc64_elf_addr16_ha_reloc): Delete.
|
||
(ppc64_elf_ha_reloc): New function.
|
||
(ppc64_elf_brtaken_reloc): New function.
|
||
(ppc64_elf_sectoff_reloc): New function.
|
||
(ppc64_elf_sectoff_ha_reloc): New function.
|
||
(ppc64_elf_toc_reloc): New function.
|
||
(ppc64_elf_toc_ha_reloc): New function.
|
||
(ppc64_elf_toc64_reloc): New function.
|
||
(ppc64_elf_unhandled_reloc): New function.
|
||
(ppc64_elf_howto_raw): Use the above.
|
||
<R_PPC64_RELATIVE>: Mark pc_relative, pcrel_offset.
|
||
<R_PPC64_SECTOFF>: Not pc_relative or pcrel_offset. Fix dst_mask.
|
||
<R_PPC64_SECTOFF_DS>: Likewise.
|
||
(IS_ABSOLUTE_RELOC): Update.
|
||
(struct ppc_link_hash_table): Add have_undefweak.
|
||
(ppc64_elf_link_hash_table_create): Init.
|
||
(func_desc_adjust): Set have_undefweak.
|
||
(ppc64_elf_func_desc_adjust): Call func_desc_adjust earlier. Only
|
||
add the .sfpr blr when have_undefweak.
|
||
(ppc64_elf_setup_section_lists): Check hash table flavour.
|
||
(ppc64_elf_next_input_section): Move output_section->owner test to
|
||
ppc64elf.em.
|
||
(ppc64_elf_set_toc): Rename to ppc64_elf_toc, remove info param
|
||
and relocatable test. Return TOCstart and don't set elf_gp.
|
||
(ppc64_elf_relocate_section): Correct BRTAKEN/BRNTAKEN branch
|
||
offset calculation. Add assert on weak sym branch tweaks.
|
||
* elf64-ppc.h (ppc64_elf_set_toc): Delete.
|
||
(ppc64_elf_toc): Declare.
|
||
(ppc64_elf_next_input_section): Update.
|
||
|
||
2002-05-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* syms.c (_bfd_stab_section_find_nearest_line): Don't bomb on NULL
|
||
file_name.
|
||
|
||
2002-05-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (CROR_151515, CROR_313131): Define.
|
||
(ppc64_elf_relocate_section): Use them. Don't look for plt calls
|
||
on R_PPC64_ADDR24 relocs. Require a nop or no link reg on plt
|
||
call branches. Correct undefined weak destination.
|
||
(ppc64_elf_func_desc_adjust): Always create at least one blr in
|
||
.sfpr, and correct case where either only savef* or restf* is
|
||
needed.
|
||
|
||
Long branch stubs, multiple stub sections.
|
||
* elf64-ppc.h (ppc64_elf_setup_section_lists): Declare.
|
||
(ppc64_elf_next_input_section): Declare.
|
||
* elf64-ppc.c: Move linker-only prototypes.
|
||
(STUB_SUFFIX): Define.
|
||
(enum ppc_stub_type): New.
|
||
(struct ppc_stub_hash_entry): New.
|
||
(struct ppc_branch_hash_entry): New.
|
||
(struct ppc_link_hash_entry): Add stub_cache, oh.
|
||
(struct ppc_link_hash_table): Add stub_hash_table etc. Remove
|
||
sstub. Add sbrlt, srelbrlt, has_14bit_branch, stub_iteration.
|
||
Rename plt_overflow to stub_error.
|
||
(ppc_stub_hash_lookup): Define.
|
||
(ppc_branch_hash_lookup): Define.
|
||
(stub_hash_newfunc): New function.
|
||
(branch_hash_newfunc): New function.
|
||
(link_hash_newfunc): Init new fields.
|
||
(ppc64_elf_link_hash_table_create): Likewise.
|
||
(ppc64_elf_link_hash_table_free): New function.
|
||
(ppc_stub_name): New function.
|
||
(ppc_get_stub_entry): New function.
|
||
(ppc_add_stub): New function.
|
||
(create_linkage_sections): Use bfd_make_section_anyway. Create
|
||
.branch_lt and .rela.branch_lt sections. Don't create .stub.
|
||
(ppc64_elf_check_relocs): Set has_14bit_branch on R_PPC64_REL14*,
|
||
and set up for plt call stubs. Link func and func desc syms.
|
||
(ppc64_elf_gc_sweep_hook): Handle REL14* as per REL24.
|
||
(func_desc_adjust): Avoid hash lookup when func desc sym available
|
||
via shortcut, and set links when processing.
|
||
(ppc64_elf_hide_symbol): Likewise.
|
||
(allocate_dynrelocs): Don't allocate stub section here.
|
||
(ppc64_elf_size_dynamic_sections): Handle sbrlt and srelbrlt.
|
||
Remove sstub code.
|
||
(ppc_type_of_stub): New function.
|
||
(build_one_stub): Delete.
|
||
(ppc_build_one_stub): New function.
|
||
(ppc_size_one_stub): New function.
|
||
(ppc64_elf_setup_section_lists): New function.
|
||
(ppc64_elf_next_input_section): New function.
|
||
(group_sections): New function.
|
||
(get_local_syms): New function.
|
||
(ppc64_elf_size_stubs): Rewrite.
|
||
(ppc64_elf_build_stubs): Rewrite.
|
||
(ppc64_elf_relocate_section): Look up stub entry for REL24
|
||
relocs. Don't propagate REL14* to dynamic objects. Look for long
|
||
branch stubs if REL14* or REL24 relocs won't reach.
|
||
(bfd_elf64_bfd_link_hash_table_free): Define.
|
||
|
||
2002-04-30 Mark Mitchell <mark@codesourcery.com>
|
||
|
||
* config.bfd: Add support for powerpc-*-windiss.
|
||
|
||
2002-04-30 Tom Rix <trix@redhat.com>
|
||
|
||
* xcofflink.c (xcoff_link_add_symbols): Always copy undef C_EXT
|
||
symbol names into the hash table.
|
||
|
||
2002-04-28 Tom Rix <trix@redhat.com>
|
||
|
||
* coff-rs6000.c (xcoff_calculate_relocation) : Function table for
|
||
calulating relocations.
|
||
(xcoff_complain_overflow) : Function table for relocation errors.
|
||
(xcoff_ppc_relocate_section): Use relocation and complain function
|
||
tables.
|
||
(xcoff_complain_overflow_unsigned_func): New complain function.
|
||
(xcoff_complain_overflow_signed_func): Same.
|
||
(xcoff_complain_overflow_bitfield_func): Same.
|
||
(xcoff_complain_overflow_dont_func): Same.
|
||
(xcoff_reloc_type_crel): New recot function.
|
||
(xcoff_reloc_type_br): Same.
|
||
(xcoff_reloc_type_ba): Same.
|
||
(xcoff_reloc_type_toc): Same.
|
||
(xcoff_reloc_type_rel): Same.
|
||
(xcoff_reloc_type_neg): Same.
|
||
(xcoff_reloc_type_pos): Same.
|
||
(xcoff_reloc_type_fail): Same.
|
||
(xcoff_reloc_type_noop): Same.
|
||
* libxcoff.h : Declare common parts for xcoff64.
|
||
* coff64-rs6000.c (xcoff64_ppc_relocate_section): Use relocation
|
||
and complain function tables.
|
||
|
||
2002-04-28 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-x86-64.c (struct elf64_x86_64_dyn_relocs): Comment typo.
|
||
* elf32-hppa.c (elf32_hppa_final_link): Formatting.
|
||
|
||
2002-04-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* opncls.c (bfd_make_readable): Call bfd_section_list_clear.
|
||
* xcofflink.c (xcoff_link_add_dynamic_symbols): Likewise.
|
||
|
||
* elflink.h (elf_bfd_final_link): Ensure input bfd class is the
|
||
same as the output before calling elf_link_input_bfd.
|
||
|
||
* coffcode.h (coff_compute_section_file_positions): Set
|
||
section_tail after shuffling section list.
|
||
|
||
2002-04-24 Christian Groessler <chris@groessler.org>
|
||
|
||
* coff-z8k.c (extra_case): Fix R_IMM32 relocations: The
|
||
addresses are 23bit with a special layout, not plain 32bit
|
||
values. Prevent relocation of immediate values.
|
||
|
||
2002-04-24 Chris G. Demetriou <cgd@broadcom.com>
|
||
|
||
* elfxx-mips.c (_bfd_mips_elf_print_private_bfd_data): If MDMX or
|
||
MIPS-16 ASE flags are set, print something to indicate that.
|
||
|
||
2002-04-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (hppa_type_of_stub): Correct and simplify condition
|
||
under which a plt call stub is used.
|
||
(final_link_relocate): Similarly.
|
||
(allocate_plt_static): Clear h-plabel except when plt entry is
|
||
exclusively used for a plabel.
|
||
(allocate_dynrelocs): Use the above to simplify plt sizing.
|
||
(struct elf32_hppa_link_hash_table): Add has_22bit_branch.
|
||
(elf32_hppa_link_hash_table_create): Init.
|
||
(BL22_RP): Define.
|
||
(hppa_build_one_stub): Use BL22_RP if has_22bit_branch.
|
||
(elf32_hppa_check_relocs): Set has_22bit_branch.
|
||
|
||
* elf32-hppa.c (elf32_hppa_check_relocs): Remove debug message.
|
||
(final_link_relocate): Likewise.
|
||
|
||
2002-04-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Don't build
|
||
search table if some FDE is DW_EH_PE_aligned encoded either.
|
||
(_bfd_elf_write_section_eh_frame): Handle terminating FDE specially.
|
||
|
||
2002-04-22 Richard Smith <richard@ex-parrot.com>
|
||
Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-eh-frame.c (struct eh_cie_fde): Add per_encoding_relative.
|
||
(_bfd_elf_discard_section_eh_frame): Set it for CIEs with pcrel
|
||
encoded personality.
|
||
(_bfd_elf_write_section_eh_frame): Adjust pcrel encoded personality
|
||
for CIE/FDE removal.
|
||
|
||
2002-04-20 Tom Rix <trix@redhat.com>
|
||
|
||
* coff64-rs6000.c (_bfd_xcoff64_swap_aux_in): Fix C_FILE auxent.
|
||
|
||
2002-04-20 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* archures.c (bfd_lookup_arch): Move the list order comment..
|
||
(struct bfd_arch_info): ..to where it belongs.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
* archures.c (bfd_lookup_arch): Add comment on list order.
|
||
(bfd_default_set_arch_mach): Use bfd_lookup_arch.
|
||
* cpu-powerpc.c (bfd_powerpc_archs): Re-order so that the default
|
||
is always at head of list.
|
||
|
||
2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* coff-arm.c (coff_thumb_pcrel_12, coff_thumb_pcrel_9,
|
||
insert_thumb_branch, record_thumb_to_arm_glue): Suppress
|
||
definition of these functions for ARM_WINCE builds as they are
|
||
not used.
|
||
(SWAP_IN_RELOC_OFFSET, SWAP_OUT_RELOC_OFFSET): Do not define
|
||
for ARM_WINCE builds.
|
||
|
||
2002-04-18 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* coff-arm.c (bfd_arm_process_before_allocation):
|
||
|
||
2002-04-17 J"orn Rennecke <joern.rennecke@superh.com>
|
||
|
||
* cpu-sh.c (scan_mach): Delete.
|
||
(arch_info_struct): Replace scan_mach with bfd_default_scan.
|
||
(bfd_sh_arch): Likewise.
|
||
|
||
2002-04-16 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* ihex.c (ihex_write_object_contents): Fix check for records
|
||
crossing 64K boundaries.
|
||
|
||
2002-04-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-m32r.c (m32r_elf_add_symbol_hook): Check the hash table
|
||
type rather than just assuming entries are ELF.
|
||
* elf32-sh64.c (sh64_elf_add_symbol_hook): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_add_symbol_hook): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_add_symbol_hook): Likewise.
|
||
* elf64-mmix.c (mmix_elf_add_symbol_hook): Use bfd_link_hash_entry
|
||
rather than elf_link_hash_entry.
|
||
|
||
2002-04-15 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf32-mips.c (mips_elf32_object_p): Revert 0404 fragment: allow
|
||
n32 binaries.
|
||
|
||
2002-04-15 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* opncls.c (bfd_close): Write contents if writeable.
|
||
Minor formatting tidy-ups.
|
||
|
||
2002-04-15 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-ppc.c (ppc_elf_add_symbol_hook): Check the hash table type.
|
||
|
||
2002-04-12 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* bfd-in.h (bfd_get_section_lma): New access macro.
|
||
Minor white-space fix-up.
|
||
|
||
2002-04-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (prep_headers): Don't zero EI_OSABI, EI_ABIVERSION or
|
||
header pad.
|
||
|
||
2002-04-09 DJ Delorie <dj@redhat.com>
|
||
|
||
* elfarm-nabi.c (elf32_arm_howto_table): Fix ABS16 masks.
|
||
|
||
2002-04-09 Casper S. Hornstrup <chorns@users.sourceforge.net>
|
||
|
||
* coffcode.h (coff_read_word): New.
|
||
(coff_compute_checksum): New.
|
||
(coff_apply_checksum): New.
|
||
(coff_write_object_contents): Call coff_apply_checksum () to
|
||
apply checksum to PE image.
|
||
|
||
2002-04-08 Randolph Chung <tausq@debian.org>
|
||
|
||
* elf32-hppa.c (hppa_unwind_entry_compare): Move to elf-hppa.h.
|
||
(elf32_hppa_final_link): Split out sorting logic to..
|
||
* elf-hppa.h (elf_hppa_sort_unwind): ..here.
|
||
(elf_hppa_final_link): Call elf_hppa_sort_unwind.
|
||
|
||
2002-04-07 Andrew Cagney <ac131313@redhat.com>
|
||
|
||
* configure.in: Add missing ``|'' to powerpc-*-aix4.[4-9]*
|
||
pattern.
|
||
* configure: Re-generate.
|
||
|
||
2002-04-07 Andrew Cagney <ac131313@redhat.com>
|
||
|
||
* configure.in: Only define AIX_CORE_DUMPX_CORE when AIX version
|
||
is greater or equal to 4.3.3.
|
||
* configure: Regenerate.
|
||
Fix PR gdb/344.
|
||
|
||
2002-04-05 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (cris_elf_howto_table) <R_CRIS_16_PCREL,
|
||
R_CRIS_32_PCREL>: Fix typo in name.
|
||
(cris_elf_check_relocs): Always create .rela.got here when
|
||
R_CRIS_16_GOTPLT or R_CRIS_32_GOTPLT is seen.
|
||
(elf_cris_adjust_gotplt_to_got): Don't create .rela.got here;
|
||
assume it's created.
|
||
|
||
2002-04-04 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* aout-adobe.c (aout_32_bfd_link_hash_table_free): Define.
|
||
* aout-target.h (MY_bfd_link_hash_table_free): Conditionally
|
||
define.
|
||
* aout-tic30.c (MY_bfd_link_hash_table_free): Likewise.
|
||
* bfd.c (bfd_link_hash_table_free): Define.
|
||
* binary.c (binary_bfd_link_hash_table_free): Define.
|
||
* bout.c (b_out_bfd_link_hash_table_free): Define.
|
||
* coff-rs6000.c (rs6000coff_vec): Include
|
||
_bfd_generic_link_hash_table_free.
|
||
(pmac_xcoff_vec): Likewise.
|
||
* coff64-rs6000.c (rs6000coff64_vec): Likewise.
|
||
(aix5coff64_vec): Likewise.
|
||
* coffcode.h (coff_bfd_link_hash_table_free): Conditionally define.
|
||
* elf-m10300.c (elf32_mn10300_link_hash_table_free): New function.
|
||
(bfd_elf32_bfd_link_hash_table_free): Define.
|
||
* elf32-hppa.c (elf32_hppa_link_hash_table_free): New function.
|
||
(bfd_elf32_bfd_link_hash_table_free): Define.
|
||
* elfxx-target.h (bfd_elfNN_bfd_link_hash_table_free): Conditionally
|
||
define.
|
||
* i386msdos.c (msdos_bfd_link_hash_table_free): Define.
|
||
* i386os9k.c (os9k_bfd_link_hash_table_free): Define.
|
||
* ieee.c (ieee_bfd_link_hash_table_free): Define.
|
||
* ihex.c (ihex_bfd_link_hash_table_free): Define.
|
||
* libbfd-in.h (_bfd_nolink_bfd_link_hash_table_free): Define.
|
||
(_bfd_generic_link_hash_table_free): Add prototype.
|
||
* libcoff-in.h (_bfd_xcoff_bfd_link_hash_table_free): Add prototype.
|
||
* libecoff.h (_bfd_ecoff_bfd_link_hash_table_free): Define.
|
||
* linker.c (_bfd_generic_link_hash_table_free): New function.
|
||
* mmo.c (mmo_bfd_link_hash_table_free): Define.
|
||
* nlm-target.h (nlm_bfd_link_hash_table_free): Define.
|
||
* oasys.c (oasys_bfd_link_hash_table_free): Define.
|
||
* ppcboot.c (ppcboot_bfd_link_hash_table_free): Define.
|
||
* som.c (som_bfd_link_hash_table_free): Define.
|
||
* srec.c (srec_bfd_link_hash_table_free): Define.
|
||
* tekhex.c (tekhex_bfd_link_hash_table_free): Define.
|
||
* versados.c (versados_bfd_link_hash_table_free): Define.
|
||
* vms.c (vms_bfd_link_hash_table_free): New function.
|
||
* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_free): New function.
|
||
|
||
* coff-arm.c (coff_arm_link_hash_table_create): Use bfd_malloc
|
||
instead of bfd_alloc.
|
||
* coff-h8300.c (h8300_coff_link_hash_table_create): Likewise.
|
||
* coff-mcore.c (coff_mcore_link_hash_table_create): Likewise.
|
||
* coff-ppc.c (ppc_coff_link_hash_table_create): Likewise.
|
||
* cofflink.c (_bfd_coff_link_hash_table_create): Likewise.
|
||
* ecoff.c (_bfd_ecoff_bfd_link_hash_table_create): Likewise.
|
||
* elf-m10300.c (elf32_mn10300_link_hash_table_create): Likewise.
|
||
* elf.c (_bfd_elf_link_hash_table_create): Likewise.
|
||
* elf32-arm.h (elf32_arm_link_hash_table_create): Likewise.
|
||
* elf32-cris.c (elf_cris_link_hash_table_create): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_link_hash_table_create): Likewise.
|
||
* elf32-i386.c (elf_i386_link_hash_table_create): Likewise.
|
||
* elf32-m68k.c (elf_m68k_link_hash_table_create): Likewise.
|
||
* elf32-s390.c (elf_s390_link_hash_table_create): Likewise.
|
||
* elf32-sh.c (sh_elf_link_hash_table_create): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_bfd_link_hash_table_create): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_link_hash_table_create): Likewise.
|
||
* elf64-s390.c (elf_s390_link_hash_table_create): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_link_hash_table_create): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_bfd_link_hash_table_create): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_link_hash_table_create): Likewise.
|
||
* elfxx-mips.c (_bfd_mips_elf_link_hash_table_create): Likewise.
|
||
* linker.c (_bfd_generic_link_hash_table_create): Likewise.
|
||
* m68klinux.c (linux_link_hash_table_create): Likewise.
|
||
* sparclinux.c (linux_link_hash_table_create): Likewise.
|
||
* sunos.c (sunos_link_hash_table_create): Likewise.
|
||
* xcofflink.c (_bfd_xcoff_bfd_link_hash_table_create): Likewise.
|
||
|
||
* targets.c: Add _bfd_link_hash_table_free to xvec.
|
||
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* libcoff.h: Regenerate.
|
||
|
||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* dep-in.sed: Cope with absolute paths.
|
||
* Makefile.am (dep.sed): Subst TOPDIR, and not INCDIR.
|
||
Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* coff-arm.c: Fix copyright date.
|
||
* cpu-h8300.c: Likewise.
|
||
* cpu-i370.c: Likewise.
|
||
* cpu-s390.c: Likewise.
|
||
* cpu-mips.c: Likewise.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-04-04 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de>
|
||
|
||
* Makefile.am: Add elfxx-mips.c to the known backends.
|
||
(elf32-mips.lo): remove dependency to coff/external.h.
|
||
* Makefile.in: Regenerate.
|
||
* configure.in: Add elfxx-mips.lo to all vectors using elf32-mips.lo
|
||
Remove elf32-mips.lo from 64 bit vectors. Update dependencies
|
||
accordingly.
|
||
* configure: Regenerate.
|
||
* elf-bfd.h: Move all MIPS ELF specific prototypes to elfxx-mips.h.
|
||
(irix_compat_t): IRIX compatibility level, moved from elf32-mips.c.
|
||
(elf_backend_mips_irix_compat, elf_backend_mips_rtype_to_howto): New
|
||
MIPS specific backend functions.
|
||
* elf32-mips.c: Moved most code to elfxx-mips.c.
|
||
(mips_elf_hi16_reloc): Rename from _bfd_mips_elf_hi16_reloc and make
|
||
static.
|
||
(mips_elf_lo16_reloc): Likewise, was _bfd_mips_elf_lo16_reloc.
|
||
(mips_elf_got16_reloc): Likewise, was _bfd_mips_elf_got16_reloc.
|
||
(mips_elf_gprel32_reloc): Likewise, was _bfd_mips_elf_gprel32_reloc.
|
||
(mips_elf32_rtype_to_howto): Rename from mips_rtype_to_howto. Changed
|
||
interface to allow selection of the right REL or RELA howto table.
|
||
(mips_elf32_object_p): Rename from _bfd_mips_elf_object_p and made
|
||
static. Let it refuse n32 objects.
|
||
(elf32_mips_grok_prstatus): Rename from _bfd_elf32_mips_grok_prstatus.
|
||
(elf32_mips_grok_psinfo): Rename from _bfd_elf32_mips_grok_psinfo.
|
||
(elf32_mips_discard_info): Rename from _bfd_elf32_mips_discard_info.
|
||
(elf32_mips_ignore_discarded_relocs): Rename from
|
||
_bfd_elf32_mips_ignore_discarded_relocs.
|
||
(elf32_mips_write_section): Rename from _bfd_elf32_mips_write_section.
|
||
(elf32_mips_irix_compat): New function, replaces IRIX_COMPAT.
|
||
(elf_mips_howto_table_rela): Remove.
|
||
* elf64-mips.c: Moved most code to elfxx-mips.c.
|
||
(bfd_elf64_bfd_reloc_type_lookup): Make static.
|
||
(mips_elf64_rtype_to_howto): New function.
|
||
(mips_elf64_object_p): Likewise.
|
||
(elf64_mips_irix_compat): Likewise.
|
||
* elfxx-mips.c: New file containing common code merged together from
|
||
elf32-mips.c and elf64-mips.c.
|
||
* elfxx-mips.h: New file containing MIPS specific prototypes from
|
||
elf-bfd.h.
|
||
* elfxx-target.h: Add handling for elf_backend_mips_irix_compat and
|
||
elf_backend_mips_rtype_to_howto.
|
||
|
||
2002-04-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* srec.c (MAXCHUNK, Chunk): Revise comments.
|
||
(srec_write_record): Correct buffer size.
|
||
(srec_write_header): Do without intermediate buffer.
|
||
(srec_write_section): Validate Chunk.
|
||
(srec_write_terminator): Pass NULL instead of dummy buffer.
|
||
(srec_write_symbols): Pass file and symbol names directly to
|
||
bfd_bwrite so sprintf won't overflow buffer.
|
||
|
||
2002-04-03 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Don't emit dynamic
|
||
PC relative relocs against hidden symbols.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
|
||
2002-04-03 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (_bfd_elf_make_section_from_shdr): When setting section
|
||
LMAs, loop over segments until p_vaddr and p_memsz specify an
|
||
extent enclosing the section.
|
||
|
||
2002-04-02 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* ihex.c (ihex_write_object_contents): Do not allow records to
|
||
cross a 64K boundary - wrap if necessary.
|
||
|
||
2002-04-01 Nathan Williams <nathanw@wasabisystems.com>
|
||
|
||
* elf.c (elfcore_netbsd_get_lwpid): Fix off-by-one error
|
||
which caused the returned LWP ID to always be 0.
|
||
|
||
2002-04-01 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf32-sparc.c (WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
|
||
(elf32_sparc_relocate_section): Use it to figure out when to
|
||
initialize .got entries.
|
||
* elf64-sparc.c: Similarly.
|
||
|
||
2002-03-28 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* linker.c (link_action): Ignore duplicate warning syms.
|
||
(_bfd_generic_link_write_global_symbol): Follow warning symbol link.
|
||
* elflink.h (elf_adjust_dynstr_offsets): Likewise.
|
||
(elf_adjust_dynamic_symbol): Likewise.
|
||
(elf_export_symbol): Likewise.
|
||
(elf_link_find_version_dependencies): Likewise.
|
||
(elf_link_assign_sym_version): Likewise.
|
||
(elf_link_sec_merge_syms): Likewise.
|
||
(elf_link_output_extsym): Likewise.
|
||
(elf_gc_sweep_symbol): Likewise.
|
||
(elf_gc_propagate_vtable_entries_used): Likewise.
|
||
(elf_gc_smash_unused_vtentry_relocs): Likewise.
|
||
(elf_gc_allocate_got_offsets): Likewise.
|
||
(elf_collect_hash_codes): Likewise.
|
||
* elflink.c (elf_link_renumber_hash_table_dynsyms): Likewise.
|
||
* elf-hppa.h (elf_hppa_unmark_useless_dynamic_symbols): Likewise.
|
||
(elf_hppa_remark_useless_dynamic_symbols): Likewise.
|
||
* elf-m10300.c (elf32_mn10300_finish_hash_table_entry): Likewise.
|
||
* elf32-arm.h (elf32_arm_discard_copies): Likewise.
|
||
* elf32-cris.c (elf_cris_adjust_gotplt_to_got): Likewise.
|
||
(elf_cris_discard_excess_dso_dynamics): Likewise.
|
||
* elf32-hppa.c (clobber_millicode_symbols): Likewise.
|
||
(mark_PIC_calls): Likewise.
|
||
(allocate_plt_static): Likewise.
|
||
(allocate_dynrelocs): Likewise.
|
||
(readonly_dynrelocs): Likewise.
|
||
* elf32-i386.c (allocate_dynrelocs): Likewise.
|
||
(readonly_dynrelocs): Likewise.
|
||
* elf32-i370.c (i370_elf_adjust_dynindx): Likewise.
|
||
* elf32-m68k.c (elf_m68k_discard_copies): Likewise.
|
||
* elf32-mips.c (mips_elf_output_extsym): Likewise.
|
||
(mips_elf_sort_hash_table_f): Likewise.
|
||
(mips_elf_check_mips16_stubs): Likewise.
|
||
* elf32-s390.c (allocate_dynrelocs): Likewise.
|
||
(readonly_dynrelocs): Likewise.
|
||
* elf32-sh.c (sh_elf_discard_copies): Likewise.
|
||
* elf32-xstormy16.c (xstormy16_relax_plt_check): Likewise.
|
||
(xstormy16_relax_plt_realloc): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_calc_got_offsets_for_symbol): Likewise.
|
||
(elf64_alpha_output_extsym): Likewise.
|
||
* elf64-hppa.c (elf64_hppa_mark_exported_functions): Likewise.
|
||
* elf64-mips.c (mips_elf64_sort_hash_table_f): Likewise.
|
||
(mips_elf64_check_mips16_stubs): Likewise.
|
||
(mips_elf64_output_extsym): Likewise.
|
||
* elf64-ppc.c (func_desc_adjust): Likewise.
|
||
(allocate_dynrelocs): Likewise.
|
||
(readonly_dynrelocs): Likewise.
|
||
* elf64-s390.c (allocate_dynrelocs): Likewise.
|
||
(readonly_dynrelocs): Likewise.
|
||
* elf64-sh64.c (sh64_elf64_discard_copies): Likewise.
|
||
* elf64-x86-64.c (allocate_dynrelocs): Likewise.
|
||
(readonly_dynrelocs): Likewise.
|
||
* elfxx-ia64.c (elfNN_ia64_global_dyn_sym_thunk): Likewise.
|
||
* aoutx.h (aout_link_write_other_symbol): Likewise.
|
||
* cofflink.c (_bfd_coff_write_task_globals): Likewise.
|
||
(_bfd_coff_write_global_sym): Likewise.
|
||
* i386linux.c (linux_tally_symbols): Likewise.
|
||
* m68klinux.c (linux_tally_symbols): Likewise.
|
||
* sparclinux.c (linux_tally_symbols): Likewise.
|
||
* pdp11.c (aout_link_write_other_symbol): Likewise.
|
||
* sunos.c (sunos_scan_dynamic_symbol): Likewise.
|
||
* xcofflink.c (xcoff_build_ldsyms): Likewise.
|
||
(xcoff_write_global_symbol): Likewise.
|
||
|
||
* cofflink.c (_bfd_coff_final_link): Formatting.
|
||
* cpu-mips.c (mips_compatible): Make static, prototype.
|
||
* elf32-i386.c (elf_i386_check_relocs): Formatting.
|
||
* elf32-sh.c (sh_elf_size_dynamic_sections): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_output_extsym): Likewise.
|
||
* elf64-mips.c (mips_elf64_sort_hash_table): Likewise.
|
||
(mips_elf64_final_link): Likewise.
|
||
* elflink.h (elf_link_find_version_dependencies): Remove duplicate
|
||
prototype.
|
||
|
||
2002-03-27 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* coff-arm.c (SWAP_IN_RELOC_OFFSET): Define.
|
||
(SWAP_OUT_RELOC_OFFSET): Define.
|
||
|
||
2002-03-27 Gregory Steuck <greg@nest.cx>
|
||
|
||
* elf.c (_bfd_elf_get_symtab_upper_bound): Leave space for
|
||
terminating NULL if empty symbol table.
|
||
(_bfd_elf_get_dynamic_symtab_upper_bound): Likewise.
|
||
|
||
2002-03-26 H.J. Lu (hjl@gnu.org)
|
||
|
||
* elflink.h (elf_link_input_bfd): Revert the last change since
|
||
the gcc exception handling isn't fixed yet.
|
||
|
||
2002-03-26 H.J. Lu (hjl@gnu.org)
|
||
|
||
* elflink.h (elf_link_input_bfd): Complain about relocations
|
||
against local symbols in discarded sections.
|
||
|
||
2002-03-26 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.h (elf_gc_mark): Don't recurse into non-ELF sections.
|
||
|
||
2002-03-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Don't set lma based on
|
||
section file offset for !SEC_LOAD sections.
|
||
|
||
2002-03-21 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* elf32-arm.h (elf32_arm_final_link_relocate <case R_ARM_GOTOFF>,
|
||
<case R_ARM_GOT>): Handle relocations to Thumb functions.
|
||
|
||
2002-03-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* coff64-rs6000.c (_bfd_xcoff64_put_symbol_name): Prototype.
|
||
Whitespace changes.
|
||
* archive.c: Update copyright date.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
* Makefile.am: Run "make dep-am"
|
||
* Makefile.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-03-20 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* dwarf2.c (struct funcinfo): Move up.
|
||
(lookup_address_in_function_table): New argument function_ptr.
|
||
Set it.
|
||
(lookup_address_in_line_table): New argument function. If function
|
||
is non-NULL, use it to handle ``addr'' before the first line note of
|
||
the function.
|
||
(comp_unit_find_nearest_line): Update and swap calls to
|
||
lookup_address_in_function_table and lookup_address_in_line_table.
|
||
* syms.c (_bfd_stab_section_find_nearest_line): Use the first
|
||
N_SLINE encountered if we see an N_FUN before any N_SLINE.
|
||
|
||
2002-03-20 Tom Rix <trix@redhat.com>
|
||
|
||
* coff-rs6000.c (_bfd_xcoff_stat_arch_elt): Renamed from
|
||
_bfd_xcoff_generic_stat_arch_elt. Fix format check.
|
||
* coff64-rs6000.c : Use _bfd_xcoff_stat_arch_elt.
|
||
|
||
2002-03-19 Tom Rix <trix@redhat.com>
|
||
|
||
* xcofflink.c (_bfd_xcoff_bfd_link_add_symbols): Look through all
|
||
dynamic objects in archives.
|
||
|
||
2002-03-19 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* elflink.h (NAME(bfd_elf,record_link_assignment)): Don't set
|
||
STT_NOTYPE symbols to STT_OBJECT.
|
||
|
||
2002-03-18 Jan Hubicka <jh@suse.cz>
|
||
|
||
* cpu-i386.c (bfd_x86_64_arch): Rename to "i386:x86-64"
|
||
|
||
2002-03-18 Tom Rix <trix@redhat.com>
|
||
|
||
* aix5ppc.core.c : New file for AIX 5 64 bit core support.
|
||
* bfd-in.h : Add bfd_xcoff_ar_archive_set_magic declaration.
|
||
* coff-rs6000 (do_pad) : New function for archive padding.
|
||
(do_copy) : New function for object file copying in archives.
|
||
(do_shared_object_padding) : New function for padding shared
|
||
objects to their text section alignment in archives.
|
||
(bfd_xcoff_ar_achive_set_magic) : Stub.
|
||
(xcoff_write_armap_big) : Use do_copy and do_pad.
|
||
(xcoff_write_archive_contents_big) : Use do_shared_object_padding,
|
||
do_copy and do_pad.
|
||
* coff64-rs6000.c (xcoff64_write_ojbect_contents) : Use
|
||
bfd_xcoff_magic_number.
|
||
(xcoff64_bad_format_hook) : New function for _bfd_bad_format_hook
|
||
fop.
|
||
(xcoff_backend_data_r) : Use xcoff64_bad_format_hook.
|
||
(bfd_xcoff_aix5_backend_data) : New Aix 5 backend data.
|
||
(aix5coff64_vec) : New Aix 5 target aix5coff64-rs6000.
|
||
* rs6000-core.c : Update copyright date.
|
||
* xcofflink.c (bfd_xcoff_size_dynamic_sections): Check for NULL
|
||
csectpp.
|
||
* coffcode.h (coff_new_section_hook) : Use new accessor macros.
|
||
(coff_set_arch_mach_hook) : Add Aix 5 U64_TOCMAGIC magic #.
|
||
(coff_set_flags) : Use bfd_xcoff_magic_number.
|
||
* libxcoff.h (bfd_xcoff_is_xcoff64): Add U64_TOCMAGIC.
|
||
* configure.in : Add powerpc-*-aix5 and rs6000-*-aix5 support.
|
||
* Makefile.am : Same.
|
||
* config.bfd : Same.
|
||
* targets.c : Same.
|
||
* configure : Regnerate.
|
||
* Makefile.in : Same.
|
||
* bfd-in2.h : Same.
|
||
|
||
2002-03-18 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* po/fr.po: Updated version.
|
||
|
||
2002-03-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* libbfd.c (bfd_write_bigendian_4byte_int): Return true iff success.
|
||
* libbfd.h: Regenerate.
|
||
* archive.c (coff_write_armap): Pass on failures from
|
||
bfd_write_bigendian_4byte_int.
|
||
|
||
2002-03-14 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Set the BFD
|
||
error to bfd_error_nonrepresentable_section for reinit_array
|
||
section in DSO.
|
||
|
||
2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* coffcode.h (coff_slurp_symbol_table): When adding BSF_WEAK flag,
|
||
OR it in rather than replacing previously selected flags.
|
||
|
||
* elfxx-target.h (TARGET_BIG_SYM): Set ar_max_namelen to 15.
|
||
(TARGET_LITTLE_SYM): Set ar_max_namelen to 15.
|
||
|
||
2002-03-14 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* cpu-mips.c (mips_compatible): New. Don't check bits_per_word.
|
||
(N): Use the above.
|
||
* elflink.h (elf_bfd_final_link): Revert last change. Instead,
|
||
ensure reloc size matches before calling elf_link_input_bfd.
|
||
Add an assert to check reloc size when counting output relocs.
|
||
|
||
2002-03-14 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* mmo.c (mmo_get_loc): Return NULL rather than false.
|
||
|
||
2002-03-13 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* po/fr.po: Updated version.
|
||
|
||
2002-03-13 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* archures.c (bfd_default_compatible): Test bits_per_word.
|
||
* cpu-i386.c (i386_compatible): Remove. Replace occurrences with
|
||
bfd_default_compatible.
|
||
* cpu-i370.c (i370_compatible): Likewise.
|
||
* cpu-sparc.c (sparc_compatible): Likewise.
|
||
* cpu-h8300.c (compatible): Test in->arch == out->arch.
|
||
|
||
* elflink.h: Formatting fixes.
|
||
(elf_link_output_extsym): Merge undefined and undef weak cases.
|
||
|
||
* elflink.h (elf_bfd_final_link): Only call elf_link_input_bfd
|
||
when word size of input matches output word size.
|
||
|
||
2002-03-12 Andreas Jaeger <aj@suse.de>
|
||
|
||
* cpu-i386.c (i386_compatible): New. Use it instead of
|
||
bfd_default_compatible.
|
||
|
||
2002-03-07 H.J. Lu (hjl@gnu.org)
|
||
|
||
* coff-sh.c (shcoff_reloc_map): Use bfd_reloc_code_real_type
|
||
as the type for bfd_reloc_val.
|
||
|
||
2002-03-05 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf-hppa.h (elf_hppa_is_dynamic_loader_symbol): New function.
|
||
(elf_hppa_relocate_section): Ignore undefined dynamic loader symbols.
|
||
(elf_hppa_final_link_relocate): Correct relocations for indirect
|
||
references to local data through the DLT. Fix .opd creation for
|
||
local symbols using R_PARISC_LTOFF_FPTR32 and R_PARISC_FPTR64
|
||
relocations. Use e_lsel selector for R_PARISC_DLTIND21L,
|
||
R_PARISC_LTOFF_FPTR21L and R_PARISC_LTOFF_TP21L as per
|
||
"Processor-Specific ELF for PA_RISC, Version 1.43" document.
|
||
Similarly, use e_rsel for DLT and LTOFF 'R' relocations.
|
||
* elf32-hppa.c (final_link_relocate): Revise relocation selectors
|
||
as per "Processor-Specific ELF for PA_RISC, Version 1.43" document.
|
||
|
||
2002-03-05 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* merge.c (_bfd_merge_sections): Don't segfault if there
|
||
is nothing to merge due to GC.
|
||
|
||
2002-03-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-hppa.c (clobber_millicode_symbols): Remove hack to keep
|
||
symbols that have been forced local.
|
||
|
||
* elflink.h (elf_bfd_final_link): Call elf_link_output_extsym
|
||
to output forced local syms for non-shared link.
|
||
(elf_link_output_extsym): Tweak condition for calling backend
|
||
adjust_dynamic_symbol so that previous behaviour is kept.
|
||
Whitespace changes throughout file.
|
||
|
||
2002-03-04 H.J. Lu <hjl@gnu.org>
|
||
|
||
* elf.c (bfd_section_from_shdr): Handle special sections,
|
||
.init_array, .fini_array and .preinit_array.
|
||
(elf_fake_sections): Likewise.
|
||
|
||
* elflink.h (NAME(bfd_elf,size_dynamic_sections)): Create the
|
||
DT entry only if the section is in output for .init_array,
|
||
.fini_array and .preinit_array. Complain about .preinit_array
|
||
section in DSO.
|
||
(elf_bfd_final_link): Warn zero size for .init_array,
|
||
.fini_array and .preinit_array sections.
|
||
|
||
* elfxx-ia64.c (elfNN_ia64_section_from_shdr): Remove
|
||
SHT_INIT_ARRAY, SHT_FINI_ARRAY and SHT_PREINIT_ARRAY.
|
||
(elfNN_ia64_fake_sections): Remove .init_array, .fini_array and
|
||
.preinit_array.
|
||
|
||
2002-03-04 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* configure.in (WIN32LIBADD): Don't eval PICFLAG assignment.
|
||
* configure: Regenerate.
|
||
|
||
2002-03-02 Tom Rix <trix@redhat.com>
|
||
|
||
* coff64-rs6000.c (xcoff64_howto_table): Replace howto types with
|
||
symbolic equiv.
|
||
* coff-rs6000.c (xcoff_howto_table): Same.
|
||
|
||
2002-03-01 David Mosberger <davidm@hpl.hp.com>
|
||
|
||
* elflink.h (size_dynamic_sections): If section named
|
||
".preinit_array" exists, create DT_PREINIT_ARRAY and
|
||
DT_PREINIT_ARRAYSZ entries in dynamic table. Analogously for
|
||
".init_array" and ".fini_array".
|
||
(elf_bfd_final_link): Handle DT_PREINIT_ARRAYSZ, DT_INIT_ARRAYSZ,
|
||
DT_FINI_ARRAYSZ, DT_PREINIT_ARRAY, DT_INIT_ARRAY, and
|
||
DT_FINI_ARRAY.
|
||
|
||
2002-02-26 Andrew Macleod <amacleod@cygnus.com>
|
||
|
||
* elflink.h (elf_bfd_final_link): Don't crash on SHN_UNDEF local
|
||
dynsyms.
|
||
|
||
2002-02-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-hppa.h: Update copyright date.
|
||
|
||
* elf64-ppc.c (ppc64_elf_check_relocs): Warning fix.
|
||
(ppc64_elf_relocate_section): Don't generate power4 style branch
|
||
hints for *_BRTAKEN and *_BRNTAKEN relocs.
|
||
|
||
2002-02-22 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Fix a typo from my
|
||
last patch.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
|
||
2002-02-21 Andreas Jaeger <aj@suse.de>
|
||
|
||
* elf64-x86-64.c: Major rework that introduces all recent changes
|
||
to the x86-64 backend. Get a closer match to elf32-i386.
|
||
(struct elf64_x86_64_dyn_relocs): Rename from
|
||
elf64_x86_64_pcrel_relocs_copied, add additional fields. Change
|
||
all users.
|
||
(struct elf64_x86_64_link_hash_table): Add short cuts to some
|
||
sections.
|
||
(link_hash_newfunc): Rename from elf64_x86_64_link_hash_newfunc,
|
||
remove casts, initialize new hash members.
|
||
(create_got_section): New.
|
||
(elf64_x86_64_create_dynamic_sections): New.
|
||
(elf64_x86_64_copy_indirect_symbol): New.
|
||
(elf64_x86_64_check_relocs): Don't allocate space for dynamic
|
||
relocs, .got or .relgot here but do it in allocate_dynrelocs.
|
||
Reference count possible .plt and .got entries. Don't test input
|
||
section SEC_READONLY here to try to avoid copy relocs, and keep
|
||
dyn_relocs regardless of ELF_LINK_NON_GOT_REF. Don't set
|
||
DF_TEXTREL here. Delay setting of variables until needed. Cache
|
||
pointer to "sreloc" section in elf_section_data. Tweak condition
|
||
under which .got created. Report files with bad relocation
|
||
section names.
|
||
(elf64_x86_64_gc_sweep_hook): Sweep dyn_relocs and local_dynrel.
|
||
Reference count possible .plt entries. Don't deallocate .got and
|
||
.relgot space here.
|
||
(elf64_x86_64_adjust_dynamic_symbol): Handle nocopyreloc. Don't
|
||
do copy reloc processing for weakdefs. Remove redundant casts and
|
||
aborts. Delay setting of vars until needed. Move creation of
|
||
dynamic symbols and allocation of .plt and .rela.plt to
|
||
allocate_dynrelocs. Replace BFD_ASSERT with abort.
|
||
(WILL_CALL_FINISH_DYNAMIC_SYMBOL): New.
|
||
(allocate_dynrelocs): New.
|
||
(readonly_dynrelocs): New.
|
||
(elf64_x86_64_size_dynamic_sections): Call readonly_dynrelocs.
|
||
Allocate space for dyn relocs. Replace BFD_ASSERT with abort.
|
||
Zero out the dynamic allocated content space.
|
||
(elf64_x86_64_discard_copies): Removed.
|
||
(elf64_x86_64_relocate_section): Make use of dynamic section
|
||
short-cuts. Localise vars, and delay setting. Better error
|
||
reporting, replace BFD_ASSERT with abort. Check
|
||
ELF_LINK_HASH_DEF_DYNAMIC to see if a symbol is not defined in the
|
||
regular object file and tread the weak definition as the normal
|
||
one. Don't discard relocs for undefweak or undefined symbols and
|
||
check !DEF_REGULAR as well as DEF_DYNAMIC in test for avoided copy
|
||
relocs.
|
||
(elf64_x86_64_finish_dynamic_symbol): Don't copy relocs for
|
||
symbols that have been forced local. Use same test to decide if
|
||
we can use a relative reloc for got as relocate_section. Expand
|
||
SHN_UNDEF comment. Move expressions out of function calls.
|
||
Replace BFD_ASSERT with abort.
|
||
(bfd_elf64_bfd_final_link): Removed.
|
||
(elf_backend_copy_indirect_symbol): Define.
|
||
|
||
2002-02-20 Tom Rix <trix@redhat.com>
|
||
|
||
* coff-rs6000.c (xcoff_howto_table): Add 16 bit R_BA.
|
||
(_bfd_xcoff_reloc_type_lookup): Use it.
|
||
* coff64-rs6000.c (xcoff64_howto_table): Same.
|
||
(xcoff64_reloc_type_lookup): Same.
|
||
|
||
2002-02-20 Peter Schauer <pes@regent.e-technik.tu-muenchen.de>
|
||
|
||
* osf-core.c (osf_core_vec): OSF/1 (Digital Unix) core files are
|
||
little endian.
|
||
|
||
2002-02-19 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* archures.c (bfd_mach_s390_esa): Rename to bfd_mach_s390_31.
|
||
(bfd_mach_s390_esame): Rename to bfd_mach_s390_64.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-s390.c (arch_info_struct): Use renamed architecture defines.
|
||
Replace architecture name "s390" with "s390:31-bit" and "s390:esame"
|
||
with "s390:64-bit".
|
||
* elf32-s390.c (elf_howto_table): Add 32 bit pc relative relocations.
|
||
(elf_s390_reloc_type_lookup): Likewise.
|
||
(elf_s390_check_relocs): Likewise.
|
||
(elf_s390_gc_sweep_hook): Likewise.
|
||
(elf_s390_relocate_section): Likewise.
|
||
(elf_s390_object_p): Use renamed architecture define.
|
||
* elf64-s390.c (elf_s390_object_p): Use renamed architecture define.
|
||
|
||
2002-02-19 Frank Ch. Eigler <fche@redhat.com>
|
||
|
||
* syms.c (stt[]): Sorted. Added .init/.fini -> "t" mapping.
|
||
|
||
2002-02-19 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_discard_section_eh_frame): Enable
|
||
absptr -> pcrel optimization for shared libs.
|
||
Only create minimal .eh_frame_hdr if absptr FDE encoding in shared
|
||
library cannot be converted to pcrel.
|
||
(_bfd_elf_eh_frame_section_offset): Return -2 if making absptr
|
||
relative.
|
||
* elf32-i386.c (elf_i386_relocate_section): If
|
||
_bfd_elf_section_offset returned -2, skip, but make sure the
|
||
relocation is installed.
|
||
* elf32-arm.h (elf32_arm_final_link_relocate): Likewise.
|
||
* elf32-cris.c (cris_elf_relocate_section): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_relocate_section): Likewise.
|
||
* elf32-i370.c (i370_elf_relocate_section): Likewise.
|
||
* elf32-m68k.c (elf_m68k_relocate_section): Likewise.
|
||
* elf32-ppc.c (ppc_elf_relocate_section): Likewise.
|
||
* elf32-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf32-sh.c (sh_elf_relocate_section): Likewise.
|
||
* elf32-sparc.c (elf32_sparc_relocate_section): Likewise.
|
||
* elf64-ppc.c (ppc64_elf_relocate_section): Likewise.
|
||
* elf64-s390.c (elf_s390_relocate_section): Likewise.
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Likewise.
|
||
* elf64-sparc.c (sparc64_elf_relocate_section): Likewise.
|
||
* elf64-x86-64.c (elf64_x86_64_relocate_section): Likewise.
|
||
* elf64-alpha.c (elf64_alpha_relocate_section): Handle
|
||
_bfd_elf_section_offset returning -2 the same way as -1.
|
||
* elfxx-ia64.c (elfNN_ia64_install_dyn_reloc): Likewise.
|
||
* elf32-mips.c (mips_elf_create_dynamic_relocation): Add FIXME
|
||
and BFD_ASSERT.
|
||
* elf64-mips.c (mips_elf64_create_dynamic_relocation): Likewise.
|
||
|
||
2002-02-18 Tom Rix <trix@redhat.com>
|
||
|
||
* xcofflink.c (bfd_xcoff_link_gernate_rtinit): Add -brtl support.
|
||
(bfd_xcoff_size_dynamic_sections): Same.
|
||
* bfd-in.h (bfd_xcoff_link_generate_rtinit): Same.
|
||
(bfd_xcoff_size_dynamic_sections): Same.
|
||
* coff-rs6000.c (xcoff_generate_rtinit): Same.
|
||
* coff-rs646000.c (xcoff64_generate_rtinit): Same.
|
||
* libxcoff.h (struct xcoff_backend_data_rec): Same.
|
||
* xcofflink.c (xcoff_build_ldsyms, xcoff_link_add_symbols): Clean.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-02-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (STFD_FR0_0R1, LFD_FR0_0R1, BLR): Define.
|
||
(struct ppc_link_hash_table): Add sfpr.
|
||
(ppc64_elf_link_hash_table_create): Init it.
|
||
(ppc64_elf_create_dynamic_sections): Split creation of .stub and
|
||
.glink out to..
|
||
(create_linkage_sections): ..here. Make .sfpr too.
|
||
(ppc64_elf_check_relocs): Call create_linkage_sections, and set
|
||
dynobj early.
|
||
(MIN_SAVE_FPR, MAX_SAVE_FPR): Define.
|
||
(ppc64_elf_func_desc_adjust): Look for missing ._savef* and
|
||
._restf* functions, and create as needed.
|
||
(func_desc_adjust): Only force_local for shared libs.
|
||
|
||
2002-02-18 David O'Brien <obrien@FreeBSD.org>
|
||
|
||
* configure.in: Bump version number post 2.12 branching.
|
||
* configure: Regenerate.
|
||
|
||
2002-02-17 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* mmo.c: Correct and improve comments.
|
||
(mmo_write_chunk): Store trailing byte in bfd buffer; don't
|
||
zero-pad. Use input to fill up non-empty bfd buffer.
|
||
(mmo_flush_chunk): New function.
|
||
(mmo_write_loc_chunk): Add parameter last_vmap, all callers
|
||
changed. Don't emit location specifier if VMA is same as
|
||
*LAST_VMAP after omitting leading zero contents. Call
|
||
mmo_flush_chunk before emitting location specifier.
|
||
(mmo_write_loc_chunk_list): Call mmo_flush_chunk when finished
|
||
with mmo_write_loc_chunk calls.
|
||
(mmo_internal_write_section): Call mmo_flush_chunk after
|
||
mmo_write_chunk.
|
||
(mmo_write_symbols_and_terminator): Move :Main to first position
|
||
in symbol array. Add faked one if it does not exist if there are
|
||
other symbols. Don't add it if there are no symbols at all. Move
|
||
out test for value of :Main from symbol loop. Rename table
|
||
fakemain to maintable and variable mainsym to fakemain.
|
||
|
||
2002-02-15 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_relocate_section) [BRSGP]: A target
|
||
section with no got matches any got. Simplify error generaion.
|
||
|
||
2002-02-15 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
Support arbitrary length fill patterns.
|
||
* linker.c (bfd_new_link_order): Zero all fields with bfd_zalloc.
|
||
(_bfd_default_link_order): Remove bfd_fill_link_order code.
|
||
Call default_data_link_order.
|
||
(default_fill_link_order): Delete.
|
||
(default_data_link_order): New function.
|
||
* elf32-mips.c (_bfd_mips_elf_final_link): Replace occurrences
|
||
of bfd_fill_link_order with bfd_data_link_order.
|
||
* elf64-alpha.c (elf64_alpha_final_link): Likewise.
|
||
* elf64-mips.c (mips_elf64_final_link): Likewise.
|
||
|
||
* bfd.c (bfd_scan_vma): Clamp overflows to max bfd_vma value.
|
||
Correct value returned in "end" for "0x<non-hex>".
|
||
|
||
2002-02-14 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* cpu-arm.c (processors): Replace 'arch' field with 'mach'.
|
||
(scan): Test against 'mach' field in info structure.
|
||
|
||
2002-02-14 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf.c (elf_fake_sections): Use SHT_NOBITS when SEC_NEVER_LOAD.
|
||
|
||
2002-02-14 Matt Fredette <fredette@netbsd.org>
|
||
|
||
* elf32-m68k.c (elf32_m68k_print_private_bfd_data): Recognize
|
||
EF_M68000.
|
||
|
||
2002-02-13 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elf.c (_bfd_elf_make_section_from_shdr): Do not insist on
|
||
non-zero physical addresses when adjusting the LMAs of new
|
||
sections.
|
||
|
||
2002-02-12 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* elf-hppa.h (elf_hppa_reloc_final_type): New function stripped
|
||
from _bfd_elf_hppa_gen_reloc_type.
|
||
(_bfd_elf_hppa_gen_reloc_type): Remove duplicate prototype.
|
||
* elf32-hppa.h (elf32_hppa_reloc_final_type): Add protptype.
|
||
* elf32-hppa.c: Include elf32-hppa.h before elf-hppa.h.
|
||
* elf64-hppa.h (elf64_hppa_reloc_final_type): Add protptype.
|
||
|
||
2002-02-12 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf-m10300.c (mn10300_elf_relax_section): Skip section before
|
||
loading its contents if there's nothing to do in it.
|
||
|
||
2002-02-12 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_stubs): Correct test for crossing
|
||
64k boundary.
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Add dynamic
|
||
DT_PPC64_OPD and DT_PPC64_OPDSZ tags.
|
||
(ppc64_elf_finish_dynamic_sections): Set values for them.
|
||
|
||
2002-02-11 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* elf-bfd.h (elfcore_write_lwpstatus): Add prototype.
|
||
* elf.c (elfcore_grok_pstatus): Add prototype.
|
||
(elfcore_grok_lwpstatus): Add prototype.
|
||
(elfcore_write_lwpstatus): New function.
|
||
(elfcore_write_pstatus): Fix typo, eliminate unnecessary memcpy.
|
||
|
||
2002-02-11 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf32-sh.c: Added missing prototypes.
|
||
* elf32-sh64.c: Likewise.
|
||
(sh_elf_align_loads): Mark unused args as such.
|
||
* elf64-sh64.c: Added missing prototypes.
|
||
(struct elf_sh64_link_hash_entry): Fix typo.
|
||
(sh_elf64_relocate_section): Fix info argument passed to
|
||
_bfd_elf_section_offset.
|
||
|
||
2002-02-11 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am: "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* aclocal.m4: Regenerate.
|
||
* config.in: Regenerate.
|
||
* configure: Regenerate.
|
||
|
||
2002-02-10 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* coff-rs6000.c (xcoff_generate_rtinit): Silence uninitialized
|
||
variable warnings.
|
||
* elf32-sh.c (sh_elf_relax_section): Silence signed/unsigned
|
||
comparison warning.
|
||
* trad-core.c (trad_unix_core_file_p): Silence pointer/integer
|
||
cast warnings for the common case.
|
||
|
||
2002-02-10 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* config.bfd (sh-*-linux*, sh-*-elf* | sh-*-rtemself*): Add sh64
|
||
vectors.
|
||
(sh-*-netbsdelf*): New, to trump sh*-*-netbsdelf* and add sh64
|
||
vectors.
|
||
|
||
2002-02-09 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_howto): Add R_ALPHA_BRSGP.
|
||
(elf64_alpha_reloc_map, elf64_alpha_check_relocs): Likewise.
|
||
(elf64_alpha_relocate_section): Likewise.
|
||
* reloc.c (BFD_RELOC_ALPHA_BRSGP): New.
|
||
* bfd-in2.h, libbfd.h: Rebuild.
|
||
|
||
2002-02-09 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* elf64-mmix.c (_bfd_mmix_finalize_linker_allocated_gregs): Check
|
||
that base-plus-offset reloc accounting is consistent.
|
||
(mmix_elf_relax_section): Keep base-plus-offset reloc accounting
|
||
up to date for undefined symbols.
|
||
|
||
2002-02-08 Eric Christopher <echristo@redhat.com>
|
||
|
||
From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
|
||
|
||
* elf32-mips.c (_bfd_mips_elf_fake_sections): Don't create .rela
|
||
sections for the O32 ABI.
|
||
|
||
2002-02-08 Chris Demetriou <cgd@broadcom.com>
|
||
|
||
* elf32-arm.h: Fix formatting of _("...").
|
||
* elf32-d10v.c: Likewise.
|
||
* elf32-m68k.c: Likewise.
|
||
* elf32-mips.c: Likewise.
|
||
|
||
2002-02-08 Ivan Guzvinec <ivang@opencores.org>
|
||
|
||
* coff-or32.c: Fix compile time warning messages.
|
||
|
||
2002-02-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
Contribute sh64-elf.
|
||
2002-01-23 Alexandre Oliva <aoliva@redhat.com>
|
||
* reloc.c (R_SH_GOTPLT32, R_SH_GOT_LOW16, R_SH_GOT_MEDLOW16,
|
||
R_SH_GOT_MEDHI16, R_SH_GOT_HI16, R_SH_GOTPLT_LOW16,
|
||
R_SH_GOTPLT_MEDLOW16, R_SH_GOTPLT_MEDHI16, R_SH_GOTPLT_HI16,
|
||
R_SH_PLT_LOW16, R_SH_PLT_MEDLOW16, R_SH_PLT_MEDHI16,
|
||
R_SH_PLT_HI16, R_SH_GOTOFF_LOW16, R_SH_GOTOFF_MEDLOW16,
|
||
R_SH_GOTOFF_MEDHI16, R_SH_GOTOFF_HI16, R_SH_GOTPC_LOW16,
|
||
R_SH_GOTPC_MEDLOW16, R_SH_GOTPC_MEDHI16, R_SH_GOTPC_HI16,
|
||
R_SH_GOT10BY4, R_SH_GOTPLT10BY4, R_SH_GOT10BY8, R_SH_GOTPLT10BY8,
|
||
R_SH_COPY64, R_SH_GLOB_DAT64, R_SH_JMP_SLOT64, R_SH_RELATIVE64):
|
||
New relocs.
|
||
* libbfd.h, bfd-in2.h: Rebuilt.
|
||
* elf32-sh.c (sh_elf_howto_table): Define new relocs.
|
||
(sh_reloc_map): Map them.
|
||
(PLT_ENTRY_SIZE, elf_sh_plt0_entry_be, elf_sh_plt0_entry_le,
|
||
elf_sh_plt_entry_be, elf_sh_plt_entry_le, elf_sh_pic_plt_entry_be,
|
||
elf_sh_pic_plt_entry_le, elf_sh_plt0_entry, elf_sh_plt_entry,
|
||
elf_sh_pic_plt_entry, elf_sh_sizeof_plt, elf_sh_plt_plt0_offset,
|
||
elf_sh_plt0_gotplt_offset, elf_sh_plt_temp_offset,
|
||
elf_sh_plt_symbol_offset, elf_sh_plt_reloc_offset,
|
||
movi_shori_putval) [INCLUDE_SHMEDIA]: New.
|
||
(elf_sh_link_hash_entry) [INCLUDE_SHMEDIA]: Add
|
||
datalabel_got_offset.
|
||
(sh_elf_link_hash_newfunc): Initialize it.
|
||
(sh_elf_relocate_section): Augment the scope of
|
||
seen_stt_datalabel. Introduce GOTPLT support. Extend GOTPC, PLT,
|
||
GOT and GOTOFF handling to new SHmedia relocation types. Support
|
||
GOT_BIAS.
|
||
(sh_elf_check_relocs): Likewise.
|
||
(sh_elf_finish_dynamic_symbol) [TARGET_SHMEDIA]: Set up values in
|
||
PLT entries using movi_shori_putval. Support GOT_BIAS.
|
||
(sh_elf_finish_dynamic_sections): Likewise.
|
||
* elf32-sh64.c (shmedia_prepare_reloc): Do not add addend to
|
||
relocation, it's now done by the caller.
|
||
(GOT_BIAS): New.
|
||
* elf64-sh64.c (GOT_BIAS, PLT_ENTRY_SIZE, elf_sh64_sizeof_plt,
|
||
elf_sh64_plt_plt0_offset, elf_sh64_plt0_gotplt_offset,
|
||
elf_sh64_plt_temp_offset, elf_sh64_plt_symbol_offset,
|
||
elf_sh64_plt_reloc_offset, ELF_DYNAMIC_INTERPRETER,
|
||
elf_sh64_pcrel_relocs_copied, elf_sh64_link_hash_entry,
|
||
elf_sh64_link_hash_table, sh64_elf64_link_hash_traverse,
|
||
sh64_elf64_hash_table): New.
|
||
(sh_elf64_howto_table): Introduce new relocs.
|
||
(sh_elf64_info_to_howto): Accept new PIC relocs.
|
||
(sh_elf64_relocate_section): Augment the scope of
|
||
seen_stt_datalabel. Support new PIC relocs.
|
||
(sh_elf64_check_relocs): Support new PIC relocs.
|
||
(elf_sh64_plt0_entry_be, elf_sh64_plt0_entry_le,
|
||
elf_sh64_plt_entry_be, elf_sh64_plt_entry_le,
|
||
elf_sh64_pic_plt_entry_be, elf_sh64_pic_plt_entry_le,
|
||
elf_sh64_plt0_entry, elf_sh64_plt_entry, elf_sh64_pic_plt_entry,
|
||
sh64_elf64_link_hash_newfunc, sh64_elf64_link_hash_table_create,
|
||
movi_shori_putval, movi_3shori_putval,
|
||
sh64_elf64_create_dynamic_sections,
|
||
sh64_elf64_adjust_dynamic_symbol, sh64_elf64_discard_copies,
|
||
sh64_elf64_size_dynamic_sections,
|
||
sh64_elf64_finish_dynamic_symbol,
|
||
sh64_elf64_finish_dynamic_sections): New.
|
||
(elf_backend_create_dynamic-sections,
|
||
bfd_elf64_bfd_link_hash_table_create,
|
||
elf_backend_adjust_dynamic_symbol,
|
||
elf_backend_size_dynamic_sections,
|
||
elf_backend_finish_dynamic_symbol,
|
||
elf_backend_finish_dynamic_sections, elf_backend_want_got_plt,
|
||
elf_backend_plt_readonly, elf_backend_want_plt_sym,
|
||
elf_backend_got_header_size, elf_backend_plt_header_size):
|
||
Define.
|
||
2001-05-16 Alexandre Oliva <aoliva@redhat.com>
|
||
* elf32-sh.c: Renumbered and renamed some SH5 relocations to
|
||
match official numbers and names; moved unmaching ones to the
|
||
range 0xf2-0xff.
|
||
* elf32-sh64.c, elf64-sh64.c: Likewise.
|
||
2001-03-12 DJ Delorie <dj@redhat.com>
|
||
* elf32-sh.c (sh_elf_relax_section): Don't relax SHmedia
|
||
sections.
|
||
2001-03-12 DJ Delorie <dj@redhat.com>
|
||
* elf32-sh64.c (shmedia_prepare_reloc): Validate relocs that must
|
||
be aligned.
|
||
* elf64-sh64.c (sh_elf64_relocate_section): Ditto.
|
||
2001-01-14 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf32-sh64.c (bfd_elf32_bfd_copy_private_section_data): Define.
|
||
(sh64_elf_fake_sections): Set type to SHT_SH5_CR_SORTED for a
|
||
.cranges section with SEC_SORT_ENTRIES set.
|
||
(sh64_backend_section_from_shdr): Set SEC_SORT_ENTRIES on an
|
||
incoming sorted .cranges section.
|
||
(sh64_bfd_elf_copy_private_section_data): New.
|
||
(sh64_elf_final_write_processing): Only sort .cranges and modify
|
||
start address if called by linker.
|
||
2001-01-08 Ben Elliston <bje@redhat.com>
|
||
* elf32-sh64.c (sh64_elf_final_write_processing): Activate
|
||
Hans-Peter Nilsson's set bit 0 patch from 2001-01-06.
|
||
* elf64-sh64.c (sh64_elf64_final_write_processing): Ditto.
|
||
2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf64-sh64.c (sh_elf64_howto_table): No open brace at start of
|
||
line. Add comments before all entries.
|
||
<R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct and clarify describing
|
||
comment.
|
||
(sh_elf64_reloc): Correct head comment.
|
||
(sh_elf64_relocate_section): Correct spacing.
|
||
<relocating for a local symbol>: Do not honour STO_SH5_ISA32;
|
||
instead call reloc_dangerous callback.
|
||
<case R_SH_SHMEDIA_CODE>: New case.
|
||
(sh_elf64_gc_mark_hook): Correct spacing.
|
||
(sh_elf64_check_relocs): Ditto.
|
||
* elf32-sh64.c (shmedia_prepare_reloc) <case R_SH_SHMEDIA_CODE>:
|
||
New case.
|
||
* elf32-sh.c: Correct #endif comments for #ifndef-wrapped
|
||
functions.
|
||
(sh_elf_howto_table) <R_SH_PT_16, R_SH_SHMEDIA_CODE>: Correct,
|
||
clarify describing comment. Add comments before all entries.
|
||
(sh_elf_relocate_section) <relocating for a local symbol>: Do not
|
||
honour STO_SH5_ISA32; instead call reloc_dangerous callback.
|
||
2001-01-06 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
Sort .cranges section in final link. Prepare to set bit 0 on
|
||
entry address.
|
||
* elf32-sh64.c (struct sh64_find_section_vma_data): New.
|
||
(sh64_elf_link_output_symbol_hook): Fix typo in prototype.
|
||
(sh64_elf_set_mach_from_flags): Set SEC_DEBUGGING on incoming
|
||
.cranges section.
|
||
(sh64_backend_section_from_shdr): New, to recognize
|
||
SHT_SH5_CR_SORTED on incoming .cranges section.
|
||
(elf_backend_section_from_shdr): Define.
|
||
(sh64_elf_final_write_processing): Sort outgoing .cranges
|
||
section. (New, temporarily disabled:) Set bit 0 on entry address
|
||
according to ISA type.
|
||
(sh64_find_section_for_address): New.
|
||
(crange_qsort_cmpb, crange_qsort_cmpl, crange_bsearch_cmpb,
|
||
crange_bsearch_cmpl): Move here from opcodes/sh64-dis.c.
|
||
(sh64_address_in_cranges): Move here from opcodes/sh64-dis.c. Use
|
||
bfd_malloc, not xmalloc.
|
||
(sh64_get_contents_type): Move here from opcodes/sh64-dis.c. Make
|
||
global.
|
||
* elf32-sh64.c (sh64_elf64_final_write_processing): New, (but
|
||
temporarily disabled) setting bit 0 on entry address.
|
||
(elf_backend_final_write_processing): Define.
|
||
2001-01-05 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf32-sh.c (sh_elf_howto_table) <R_SH_PT_16>: Adjust fields to
|
||
be a proper relocation for PTA and PTB rather than a marker.
|
||
<R_SH_IMMU5, R_SH_IMMS6, R_SH_IMMU6, R_SH_IMMS10, R_SH_IMMS10BY2,
|
||
R_SH_IMMS10BY4, R_SH_IMMS10BY8, R_SH_IMMS16, R_SH_IMMU16,
|
||
R_SH_IMM_LOW16, R_SH_IMM_LOW16_PCREL, R_SH_IMM_MEDLOW16,
|
||
R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16, R_SH_IMM_MEDHI16_PCREL,
|
||
R_SH_IMM_HI16, R_SH_IMM_HI16_PCREL, R_SH_64, R_SH_64_PCREL>:
|
||
Zero src_mask.
|
||
* elf64-sh64.c: Ditto.
|
||
(sh_elf64_relocate_section) <case R_SH_PT_16>: New case.
|
||
* elf32-sh64.c: Include opcodes/sh64-opc.h
|
||
(shmedia_prepare_reloc): Take a bfd_link_info pointer as first
|
||
argument. Drop const qualifiers from "bfd *" and "bfd_byte *"
|
||
parameters. No unused parameters. Caller changed.
|
||
<case R_SH_PT_16>: New case.
|
||
* Makefile.am (elf32-sh64.lo): Add dependency on sh64-opc.h.
|
||
* Makefile.in: Regenerate.
|
||
2000-12-30 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf64-sh64.c (sh64_elf64_fake_sections): Set SHF_SH5_ISA32 for
|
||
all code sections.
|
||
(sh_elf64_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
|
||
(sh64_elf_merge_private_data): Ditto.
|
||
* elf32-sh64.c (sh64_elf_fake_sections): Use sh64_elf_section_data
|
||
to access stored section flags.
|
||
(sh64_elf_final_write_processing): Return immediately unless
|
||
called by linker. Use sh64_elf_section_data (cranges) to get size
|
||
of linker-generated cranges entries.
|
||
(sh64_elf_copy_private_data): Add missing "return true".
|
||
(sh64_elf_set_mach_from_flags): Change from EF_SH64 to EF_SH5.
|
||
(sh_elf64_merge_private_data): Ditto.
|
||
2000-12-19 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf64-sh64.c (sh64_elf64_fake_sections): New, copy of
|
||
elf64-sh64.c:sh64_elf_fake_sections.
|
||
(elf_backend_fake_sections): Define as sh64_elf64_fake_sections.
|
||
2000-12-18 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf32-sh64.c (sh64_elf_copy_private_data_internal): Delete.
|
||
(sh64_elf_final_write_processing): New.
|
||
(elf_backend_final_write_processing): Define.
|
||
(sh64_elf_fake_sections): Get header flags from tdata field.
|
||
(sh64_elf_copy_private_data): Do not call
|
||
sh64_elf_copy_private_data_internal, just copy e_flags field.
|
||
(sh64_elf_merge_private_data): Do not call
|
||
sh64_elf_copy_private_data_internal.
|
||
2000-12-12 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
Remove EF_SH64_ABI64, let ELF size make difference.
|
||
Remove SH64-specific BFD section flag.
|
||
* elf32-sh64.c (sh64_elf_fake_sections): Recognize section as
|
||
containing SHmedia through elf_section_data (asect)->tdata
|
||
non-zero, not using a BFD section flag.
|
||
(sh64_elf_set_mach_from_flags): Don't recognize EF_SH64_ABI64.
|
||
(sh64_elf_merge_private_data): Similar.
|
||
(elf_backend_section_flags): Don't define.
|
||
(sh64_elf_backend_section_flags): Delete.
|
||
* elf64-sh64.c (sh_elf64_set_mach_from_flags): Recognize EF_SH64,
|
||
not EF_SH64_ABI64.
|
||
(sh_elf64_merge_private_data): Similar.
|
||
* section.c (Section flags definitions): Don't define
|
||
SEC_SH_ISA_SHMEDIA.
|
||
(bfd-in2.h): Regenerate.
|
||
2000-12-09 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
Make DataLabel references work with partial linking.
|
||
* elf32-sh64.c: Fix formatting.
|
||
(sh64_elf_link_output_symbol_hook): New.
|
||
(elf_backend_link_output_symbol_hook): Define to
|
||
sh64_elf_link_output_symbol_hook.
|
||
(sh64_elf_add_symbol_hook): Make DataLabel symbol just global
|
||
undefined if partial linking. Adjust sanity check.
|
||
* elf64-sh64.c (sh64_elf64_link_output_symbol_hook): New.
|
||
(elf_backend_link_output_symbol_hook): Define to
|
||
sh64_elf64_link_output_symbol_hook.
|
||
(sh64_elf64_add_symbol_hook): Make DataLabel symbol just global
|
||
undefined if partial linking. Adjust sanity check.
|
||
2000-12-07 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
Implement semantics for inter-file DataLabel references.
|
||
* elf64-sh64.c (DATALABEL_SUFFIX): Define.
|
||
(sh64_elf64_add_symbol_hook): New.
|
||
(sh_elf64_relocate_section): If passing an indirect symbol with
|
||
st_type STT_DATALABEL on the way to a symbol with st_other
|
||
STO_SH5_ISA32, do not bitor 1 to the relocation.
|
||
(elf_backend_add_symbol_hook): Define to
|
||
sh64_elf64_add_symbol_hook.
|
||
* elf64-sh32.c: Tweak comments.
|
||
(DATALABEL_SUFFIX): Define.
|
||
(sh64_elf_add_symbol_hook): New.
|
||
(elf_backend_add_symbol_hook): Define to sh64_elf_add_symbol_hook.
|
||
* elf32-sh.c (sh_elf_relocate_section): If passing an indirect
|
||
symbol with st_type STT_DATALABEL on the way to a symbol with
|
||
st_other STO_SH5_ISA32, do not bitor 1 to the relocation.
|
||
2000-12-05 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
Pass through STT_DATALABEL.
|
||
* elf32-sh64.c (sh64_elf_get_symbol_type): New.
|
||
(elf_backend_get_symbol_type): Define.
|
||
* elf64-sh64.c (sh64_elf64_get_symbol_type): New.
|
||
(elf_backend_get_symbol_type): Define.
|
||
2000-11-30 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf32-sh64.c: Tweak comments.
|
||
(sh64_elf_copy_private_data_internal): Add prototype.
|
||
(bfd_elf32_bfd_set_private_flags): Define.
|
||
(sh64_elf_copy_private_data_internal): Compare machine name, not
|
||
textual BFD target name, to check whether to copy section flag
|
||
SHF_SH5_ISA32.
|
||
(sh64_elf_merge_private_data): Validize bfd_get_arch_size.
|
||
Tweak section-contents-type-mismatch message.
|
||
(shmedia_prepare_reloc): Add ATTRIBUTE_UNUSED markers.
|
||
Validize reloc-types.
|
||
* elf64-sh64.c: New file.
|
||
* targets.c (bfd_elf64_sh64_vec, bfd_elf64_sh64l_vec): Declare.
|
||
* Makefile.am (BFD64_BACKENDS): Add elf64-sh64.lo.
|
||
(BFD64_BACKENDS_CFILES): Add elf64-sh64.c.
|
||
Regenerate dependencies.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd (sh64-*-elf*): Add bfd_elf64_sh64_vec and
|
||
bfd_elf64_sh64l_vec.
|
||
* configure.in: Handle bfd_elf64_sh64_vec and
|
||
bfd_elf64_sh64l_vec.
|
||
* configure: Regenerate.
|
||
* po/POTFILES.in: Regenerate.
|
||
* po/bfd.pot: Regenerate.
|
||
2000-11-29 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf32-sh64.c (sh64_elf_set_mach_from_flags): Do not recognize
|
||
anything else but EF_SH64 and EF_SH64_ABI64.
|
||
(sh64_elf_merge_private_data): Emit error for anything else but
|
||
EF_SH64 and EF_SH64_ABI64.
|
||
* config.bfd: Remove bfd_elf32_shblin_vec and bfd_elf32_shlin_vec
|
||
from targ_selvecs.
|
||
* configure.in: Add cofflink.lo to bfd_elf32_sh64_vec and
|
||
bfd_elf32_sh64l_vec as a temporary measure.
|
||
* configure: Regenerate.
|
||
2000-11-27 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* cpu-sh.c (arch_info_struct): Include sh5 item
|
||
unconditionalized.
|
||
* config.bfd (sh64-*-elf*): Do not set targ_cflags.
|
||
Add targ_selvecs bfd_elf32_sh_vec, bfd_elf32_shl_vec,
|
||
bfd_elf32_shblin_vec and bfd_elf32_shlin_vec.
|
||
* elf32-sh64.c: Tweak comments.
|
||
(sh64_elf_set_mach_from_flags): Recognize all machine flags that
|
||
are proper subsets of SH64 as bfd_mach_sh5. Add EF_SH64_ABI64.
|
||
(sh64_elf_copy_private_data_internal): Wrap long line.
|
||
(sh64_elf_merge_private_data): Rewrite to allow objects from
|
||
SH64 subsets to be linked together.
|
||
(INCLUDE_SHMEDIA): Define.
|
||
* elf32-sh.c (sh_elf_relocate_section) <local symbol>:
|
||
Parenthesize plus-expression inside or-expression.
|
||
<global symbol>: Ditto.
|
||
(sh_elf_set_mach_from_flags): Remove code refusing
|
||
deleted EF_SH64_32BIT_ABI flag.
|
||
2000-11-26 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* elf32-sh.c (sh_elf_howto_table) <R_SH_IMM_LOW16_PCREL,
|
||
R_SH_IMM_MEDLOW16_PCREL, R_SH_IMM_MEDHI16_PCREL,
|
||
R_SH_IMM_HI16_PCREL, R_SH_64_PCREL>: Set pcrel_offset to true.
|
||
(sh_elf_relocate_section) <local symbol>: Or 1 in
|
||
calculation of relocation if sym->st_other & STO_SH5_ISA32.
|
||
<global symbol>: Ditto if h->other & STO_SH5_ISA32.
|
||
* elf32-sh64.c (shmedia_prepare_reloc): Add rel->r_addend to
|
||
relocation.
|
||
2000-11-24 Hans-Peter Nilsson <hpn@cygnus.com>
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-sh64.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-sh64.c.
|
||
Regenerate dependencies.
|
||
* Makefile.in: Regenerate.
|
||
* archures.c: Add bfd_mach_sh5.
|
||
* config.bfd: Map targ_cpu sh* to bfd_sh_arch.
|
||
Handle sh64-*-elf*. Set targ_cflags to -DINCLUDE_SHMEDIA.
|
||
* configure.in: Handle bfd_elf32_sh64_vec and bfd_elf32_sh64l_vec.
|
||
* configure: Regenerate.
|
||
* reloc.c (BFD_RELOC_SH_SHMEDIA_CODE, BFD_RELOC_SH_IMMU5,
|
||
BFD_RELOC_SH_IMMS6, BFD_RELOC_SH_IMMS6BY32, BFD_RELOC_SH_IMMU6,
|
||
BFD_RELOC_SH_IMMS10, BFD_RELOC_SH_IMMS10BY2,
|
||
BFD_RELOC_SH_IMMS10BY4, BFD_RELOC_SH_IMMS10BY8,
|
||
BFD_RELOC_SH_IMMS16, BFD_RELOC_SH_IMMU16, BFD_RELOC_SH_IMM_LOW16,
|
||
BFD_RELOC_SH_IMM_LOW16_PCREL, BFD_RELOC_SH_IMM_MEDLOW16,
|
||
BFD_RELOC_SH_IMM_MEDLOW16_PCREL, BFD_RELOC_SH_IMM_MEDHI16,
|
||
BFD_RELOC_SH_IMM_MEDHI16_PCREL, BFD_RELOC_SH_IMM_HI16,
|
||
BFD_RELOC_SH_IMM_HI16_PCREL, BFD_RELOC_SH_PT_16): New relocations.
|
||
* cpu-sh.c [INCLUDE_SHMEDIA] (arch_info_struct): Define and link
|
||
in item for SH5.
|
||
* elf32-sh.c [INCLUDE_SHMEDIA] (sh_elf_howto_table): Add howto items
|
||
for SHmedia relocs.
|
||
[INCLUDE_SHMEDIA] (sh_rel): Add mappings for SHmedia relocs.
|
||
[INCLUDE_SHMEDIA] (sh_elf_relocate_section) [default]: Call
|
||
shmedia_prepare_reloc, goto final_link_relocate if it returns
|
||
non-zero, else fail as before.
|
||
(sh_elf_set_mach_from_flags): Provide function only if not defined
|
||
as macro. Do not recognize objects with EF_SH64_32BIT_ABI set.
|
||
(sh_elf_set_private_flags): Provide function only if not defined
|
||
as a macro.
|
||
(sh_elf_copy_private_data): Similar.
|
||
(sh_elf_merge_private_data): Similar.
|
||
* section.c (SEC_SH_ISA_SHMEDIA): New.
|
||
* targets.c (bfd_elf32_sh64_vec, bfd_elf32_sh64l_vec): Declare.
|
||
* elf32-sh64.c: New file.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* po/POTFILES.in: Regenerate.
|
||
* po/bfd.pot: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* libbfd.h: Regenerate.
|
||
|
||
2002-02-07 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* bfd-in.h: Update <stdbool.h> check to only see if <stdbool.h> has
|
||
been included, not drag it in.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-02-06 H.J. Lu (hjl@gnu.org)
|
||
|
||
* elf32-mips.c (_bfd_mips_elf_merge_private_bfd_data): Update
|
||
the mach and ISA fields if necessary.
|
||
|
||
2002-02-06 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* coffcode.h (coff_set_arch_mach_hook): Select the highest known
|
||
ARM architecture when an F_ARM_5 flag is detected, since we cannot
|
||
be sure exactly which architecture this represents.
|
||
|
||
2002-02-05 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/tr.po: Updated translation.
|
||
|
||
2002-02-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
From Jimi X <jimix@watson.ibm.com>
|
||
* archures (bfd_mach_ppc64): Define.
|
||
(bfd_powerpc_arch): Rename to bfd_powerpc_archs.
|
||
(bfd_powerpc_arch): Define.
|
||
* bfd-in2.h: Regenerate.
|
||
* cpu-powerpc.c (arch_info_struct): Rename to bfd_powerpc_archs.
|
||
(bfd_powerpc_arch): Move to tail of bfd_powerpc_archs.
|
||
(bfd_powerpc_archs): Add default powerpc64 arch.
|
||
|
||
2002-02-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_size_dynamic_sections): Check for relocs
|
||
against section syms in readonly sections. Don't do the global
|
||
sym check if we find one.
|
||
* elf64-s390.c (elf_s390_size_dynamic_sections): Likewise.
|
||
* elf32-hppa.c (elf32_hppa_size_dynamic_sections): Likewise.
|
||
* elf32-i386.c (elf_i386_size_dynamic_sections): Likewise.
|
||
* elf32-s390.c (elf_s390_size_dynamic_sections): Likewise.
|
||
(elf_s390_grok_prstatus): Add missing prototype.
|
||
|
||
2002-02-04 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* elf64-mmix.c (mmix_dump_bpo_gregs): New function.
|
||
(mmix_elf_check_common_relocs) <case R_MMIX_BASE_PLUS_OFFSET>:
|
||
Call bfd_get_section_by_name only once. Initialize
|
||
bpodata->n_bpo_relocs_this_section.
|
||
(_bfd_mmix_prepare_linker_allocated_gregs): Remove comment
|
||
referring to DSOs.
|
||
(bpo_reloc_request_sort_fn): Don't use difference of values as
|
||
return-value.
|
||
|
||
2002-02-02 David O'Brien <obrien@FreeBSD>
|
||
|
||
* configure.in: Tweak the FreeBSD 4.x recognition more. Only treat
|
||
version 4.5 and later the same as 5-CURRENT.
|
||
* configure: Re-generate.
|
||
|
||
2002-02-02 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (hppa*-*-netbsd*): New target.
|
||
|
||
2002-01-31 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* coff-arm.c (coff_arm_merge_private_bfd_data): Move ERROR
|
||
to front of message. Unify messages with elf32-arm.h. Use
|
||
commas where neccessary.
|
||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Use all upcase
|
||
ERROR in messages. Unify messages with coff-arm.c. Correct
|
||
VFP/FPA error message.
|
||
(elf32_arm_print_private_bfd_data): Don't mark APCS-26 and
|
||
APCS-32 for translation.
|
||
|
||
2002-02-01 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
Perform on-demand global register allocation from
|
||
R_MMIX_BASE_PLUS_OFFSET relocs.
|
||
* elf64-mmix.c (struct bpo_reloc_section_info, struct
|
||
bpo_reloc_request, struct bpo_greg_section_info): New.
|
||
(mmix_elf_check_common_relocs, mmix_elf_gc_sweep_hook,
|
||
bpo_reloc_request_sort_fn, mmix_elf_relax_section,
|
||
_bfd_mmix_check_all_relocs,
|
||
_bfd_mmix_prepare_linker_allocated_gregs,
|
||
_bfd_mmix_finalize_linker_allocated_gregs): New functions.
|
||
(elf_mmix_howto_table): Correct src_mask for most relocs.
|
||
(mmix_elf_perform_relocation) <case R_MMIX_BASE_PLUS_OFFSET>: New
|
||
case.
|
||
(mmix_final_link_relocate) <case R_MMIX_BASE_PLUS_OFFSET>: New
|
||
case. Fix typo in comment. New label do_mmix_reloc.
|
||
(mmix_elf_check_relocs): Abuse bfd_link_info member base_file to
|
||
store first object file with a base-plus-offset reloc. Call
|
||
mmix_elf_check_common_relocs for the part common with mmo.
|
||
(mmix_elf_final_link): Write out linker-allocated register
|
||
contents section.
|
||
(elf_backend_gc_sweep_hook): Define.
|
||
(bfd_elf64_bfd_relax_section): Define.
|
||
|
||
* mmo.c: Don't include <ctype.h>
|
||
(mmo_init): Correct init-once logic.
|
||
|
||
2002-02-01 Tom Rix <trix@redhat.com>
|
||
|
||
* config.bfd: Conditionally support <aiaff> for pre AIX 4.3.
|
||
|
||
2002-02-01 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* Makefile.am: Run "make dep-am"
|
||
* Makefile.in: Regenerate.
|
||
|
||
2002-01-31 David O'Brien <obrien@FreeBSD>
|
||
|
||
* configure.in: Recognize the differences in core files from FreeBSD
|
||
4.{0,1} and later versions of 4.x. This treats 4.2+ the same as
|
||
5-CURRENT.
|
||
* configure: Regenerate.
|
||
|
||
2002-01-31 Ivan Guzvinec <ivang@opencores.org>
|
||
|
||
* coff-or32.c: New file.
|
||
* cpu-or32.c: New file.
|
||
* elf32-or32.c: New file.
|
||
* archures.c: Add support for or32.
|
||
* targets.c: Add support for or32.
|
||
* bfd-in2.h: Regenerate.
|
||
* coffcode.h (coff_set_arch_mach_hook, coff_set_flags,
|
||
coff_write_object_contents): Add support for or32.
|
||
* config.bfd: Add target.
|
||
* configure.in: Add support for or32.
|
||
* configure: Regenerate.
|
||
* Makefile.am: Add support for or32.
|
||
* Makefile.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Add or32 files.
|
||
* po/bfd.pot: Regenerate.
|
||
|
||
2002-01-31 Nick Clifton <nickc@cambridge.redhat.com>
|
||
Don Lindsay <lindsayd@cisco.com>
|
||
|
||
* elf32-mips.c (mips_elf_calculate_relocation): Replace 'return
|
||
false' with a return of a bfd_reloc_ error code.
|
||
|
||
2002-01-31 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (elf_cris_discard_excess_program_dynamics): Don't
|
||
unexport unreferenced symbols when --export-dynamic. Call
|
||
_bfd_elf_strtab_delref when unexporting.
|
||
|
||
2002-01-30 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* bfd-in.h: Include <stdbool.h> if it is available.
|
||
* bfd-in2.h: Regenerated.
|
||
|
||
2002-01-31 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (func_desc_adjust): STV_PROTECTED functions should
|
||
not go via the plt.
|
||
|
||
2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* archures.c: Tidy up formatting of embedded comments.
|
||
* bfd.c: Tidy up formatting of embedded comments.
|
||
* bfd-in.h: Fix formatting of comments.
|
||
* reloc.c: Tidy up formatting of ordinary & embedded comments.
|
||
* section.c: Tidy up formatting of embedded comments.
|
||
* syms.c: Tidy up formatting of embedded comments.
|
||
* targets.c: Tidy up formatting of embedded comments.
|
||
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-01-30 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* vms-tir.c (cmd_name): New function.
|
||
(tir_cmd_name): New function.
|
||
(etir_sta, etir_sto, etir_opr, etir_stc): Use cmd_name().
|
||
(tir_opr, tir_ctl, tir_cmd): use tir_cmd_name().
|
||
Fix formatting.
|
||
|
||
* peXXigen.c (pe_print_idata): Rearrange message to aid in
|
||
translation.
|
||
(pe_print_pdata): Rearrange message to aid in translation.
|
||
|
||
* libbfd.c (warn_deprecated): Rearrange error message to aid in
|
||
translation.
|
||
|
||
* ihex.c (ihex_write_object_contents): Fix spelling typo.
|
||
|
||
* ieee.c (ieee_slurp_external_symbols): Remove spurious space.
|
||
|
||
* elf64-sparc.c (sparc64_elf_add_symbol_hook): Rearrange error
|
||
message to aid in translation.
|
||
|
||
* elf64-mmix.c (mmix_final_link_relocate): Rearrange error message
|
||
to aid in translation.
|
||
|
||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Fix typo.
|
||
|
||
2002-01-30 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* coff-arm.c, elf32-elf.h: Unify messages.
|
||
|
||
2002-01-30 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/sv.po: Updated translation.
|
||
|
||
2002-01-30 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* dwarf2.c (read_abbrev): Use full section name in error message.
|
||
(decode_line_info): Likewise.
|
||
|
||
* elf.c (_bfd_elf_symbol_from_bfd_symbol): Don't translate debugging
|
||
message.
|
||
|
||
2002-01-30 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (func_desc_adjust): Only provide missing function
|
||
descriptor symbols for undefined function code syms. Clear
|
||
ELF_LINK_NON_ELF so that they can stay weak.
|
||
|
||
2002-01-29 Chris Demetriou <cgd@broadcom.com>
|
||
Mitch Lichtenberg <mpl@broadcom.com>
|
||
|
||
* bfd-in.h (bfd_mips_elf32_create_embedded_relocs): New prototype.
|
||
* elf32-mips.c (bfd_mips_elf32_create_embedded_relocs): New function
|
||
to handle 32-bit ELF embedded reloc (ld --embedded-relocs)
|
||
generation.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
2002-01-29 Chris Demetriou <cgd@broadcom.com>
|
||
|
||
* elf32-mips.c: Add additional comments about HI16 relocation
|
||
processing.
|
||
(_bfd_mips_elf_hi16_reloc): Don't subtract address here for
|
||
pc-relative relocations. (Reverts change made on 2001-10-31.)
|
||
(_bfd_mips_elf_lo16_reloc): Subtract address of LO16 part here
|
||
for pc-relative relocations.
|
||
(mips_elf_calculate_relocation): Add a comment about a kludge
|
||
in the R_MIPS_GNU_REL_HI16 handling.
|
||
(_bfd_mips_elf_relocate_section): Implement that kludge;
|
||
adjust pc-relative HI16 relocation for difference in HI16 and
|
||
LO16 addresses, since it can't easily be done in
|
||
mips_elf_calculate_relocation.
|
||
|
||
2002-01-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
|
||
|
||
* elf32-i386 (elf_i386_adjust_dynamic_symbol): Do not replace PLT32
|
||
relocations with PC32 relocations for undefined or weak symbols.
|
||
* elf32-s390 (elf_i386_adjust_dynamic_symbol): Likewise.
|
||
* elf64-s390x (elf_i386_adjust_dynamic_symbol): Likewise.
|
||
|
||
2002-01-28 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* elfcore.h (elf_core_file_p): Improve comment for last change.
|
||
|
||
2002-01-27 Daniel Jacobowitz <drow@mvista.com>
|
||
|
||
* configure: Regenerated.
|
||
|
||
2002-01-27 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* elfcore.h (elf_core_file_p): Set the machine architecture
|
||
before processing the program headers.
|
||
|
||
2002-01-26 Hans-Peter Nilsson <hp@bitrange.com>
|
||
|
||
* configure.in <64-bit configuration>: If using gcc, check and
|
||
emit error for egcs-1.1.2.
|
||
* configure: Regenerate.
|
||
|
||
2002-01-26 Egor Duda <deo@logos-m.ru>
|
||
|
||
* elf.c (elfcore_grok_win32pstatus): Copy only as much information
|
||
as possible to avoid stack corruption.
|
||
|
||
2002-01-26 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_check_relocs): Don't set reltext
|
||
for non-allocated sections.
|
||
|
||
2002-01-25 Mark Kettenis <kettenis@gnu.org>
|
||
|
||
* elf.c (elfcore_write_prstatus): Make sure we pass the address of
|
||
prstat.pr_reg even if it is a struct.
|
||
|
||
2002-01-25 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
* elfxx-ia64.c: Reset AIX vector function overrides for HP-UX.
|
||
|
||
2002-01-25 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* coffgen.c (coff_print_symbol): Don't mark info message
|
||
for translation.
|
||
|
||
2002-01-25 Nick Clifton <nickc@redhat.com>
|
||
|
||
* po/fr.po: Updated translation.
|
||
* po/es.po: Updated translation.
|
||
|
||
2002-01-25 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* coff-alpha.c (alpha_relocate_section): Unify warning message
|
||
for GP relative relocations without GP defined.
|
||
* coff-mips.c (mips_relocate_section): Likewise.
|
||
|
||
2002-01-25 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_eh_frame_section_offset): Avoid
|
||
unsigned overflow when new_offset < old_offset.
|
||
|
||
2002-01-24 Philipp Thomas <pthomas@suse.de>
|
||
|
||
* bfd.c (_bfd_abort): Fix typo.
|
||
|
||
2002-01-23 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (elf64_alpha_adjust_dynamic_symbol): Don't suppress
|
||
plt entries for undefweak symbols.
|
||
|
||
2002-01-23 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
* targets.c (bfd_elf32_ia64_hpux_big_vec): Add to DEFAULT_VECTOR.
|
||
(bfd_elf64_ia64_hpux_big_vec): Ditto.
|
||
(bfd_elf32_h8300_vec): Ditto.
|
||
|
||
2002-01-23 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c: Remove stale part of ABI comment.
|
||
(NO_OPD_RELOCS): Define.
|
||
(ppc64_elf_check_relocs): Use it.
|
||
(ppc64_elf_relocate_section): Here too.
|
||
(build_one_stub): Don't point function syms at the stub. Instead,
|
||
hijack plt.offset.
|
||
(ppc64_elf_relocate_section): Check whether REL24 relocs should
|
||
really go to the stub. Make all dynamic relocs in opd against
|
||
locals.
|
||
(ppc64_elf_finish_dynamic_symbol): Allow for non-standard use of
|
||
plt.offset.
|
||
|
||
2002-01-22 Richard Henderson <rth@redhat.com>
|
||
|
||
* elf64-alpha.c (INSN_UNOP): Encode with RB as $sp.
|
||
|
||
2002-01-22 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_finish_dynamic_sections): Correct sign of
|
||
TOC_BASE_OFF adjustment.
|
||
|
||
* Makefile.am: Run "make dep-am".
|
||
* Makefile.in: Regenerate.
|
||
* po/SRC-POTFILES.in: Regenerate.
|
||
|
||
2002-01-22 John David Anglin <dave@hiauly1.hia.nrc.ca>
|
||
|
||
* configure.host (hppa*64*-*-hpux*, hppa*64*-*-linux*): Add new
|
||
host defines.
|
||
|
||
2002-01-21 Hans-Peter Nilsson <hp@axis.com>
|
||
|
||
* elf32-cris.c (cris_elf_relocate_section) <case R_CRIS_32_GOTREL>:
|
||
Check for and emit error if sgot is NULL at this point.
|
||
|
||
2002-01-21 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (ia64*-*-netbsd*): New target.
|
||
|
||
2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
|
||
|
||
* som.c (som_write_space_strings): Comment typo fix.
|
||
|
||
2002-01-21 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (struct ppc_link_hash_entry): Add is_func and
|
||
is_func_descriptor fields.
|
||
(link_hash_newfunc): Init them.
|
||
(ppc64_elf_check_relocs): Only R_PPC24_REL24 syms starting with a
|
||
dot are candidates for plt entries. When processing .opd relocs,
|
||
set function descriptor strings to point inside function code
|
||
string, and set new ppc_link_hash_entry fields.
|
||
(ppc64_elf_gc_sweep_hook): Don't sweep R_PPC64_REL24 relocs.
|
||
(ppc64_elf_adjust_dynamic_symbol): Remove most code dealing with
|
||
function descriptors. It's now done in..
|
||
(func_desc_adjust): New.
|
||
(ppc64_elf_func_desc_adjust): New.
|
||
(define elf_backend_always_size_sections): Define.
|
||
(ppc64_elf_hide_symbol): New.
|
||
(define elf_backend_hide_symbol): Define.
|
||
(allocate_dynrelocs): Remove code looking up function descriptors
|
||
as that has been done earlier.
|
||
(ppc64_elf_size_dynamic_sections): Use htab shortcut to elf hash
|
||
table.
|
||
(ppc64_elf_finish_dynamic_symbol): Likewise. Remove code looking
|
||
up function descriptor.
|
||
(build_one_stub): Look up the function code sym. Check for
|
||
invalid plt offsets.
|
||
(ppc64_elf_relocate_section): Tweak calls to undefined weak syms.
|
||
Convert R_PPC64_TOC relocs to R_PPC64_RELATIVE in shared libs.
|
||
|
||
* elf-bfd.h (elf_backend_data <elf_backend_hide_symbol>): Add
|
||
boolean param.
|
||
(_bfd_elf_link_hash_hide_symbol): Likewise.
|
||
* elflink.h (elf_link_add_object_symbols): Adjust call to
|
||
elf_backend_hide_symbol.
|
||
(elf_fix_symbol_flags): Likewise.
|
||
(elf_link_assign_sym_version): Likewise. Use bfd_malloc rather
|
||
than bfd_alloc.
|
||
* elf.c (_bfd_elf_link_hash_hide_symbol): Add "force_local" param.
|
||
Set ELF_LINK_FORCED_LOCAL and call _bfd_elf_strtab_delref.
|
||
* elf32-hppa.c (elf32_hppa_hide_symbol): Likewise.
|
||
(clobber_millicode_symbols): Adjust to suit new hide_symbol.
|
||
* elf32-cris.c (elf_cris_hide_symbol): Add "force_local" param
|
||
and adjust to suit.
|
||
* elf32-mips.c (_bfd_mips_elf_hide_symbol): Likewise, and call
|
||
_bfd_elf_link_hash_hide_symbol rather than duplicating code.
|
||
* elfxx-ia64.c (elfNN_ia64_hash_hide_symbol): Likewise.
|
||
|
||
2002-01-18 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol): Test for a
|
||
dynamic function descriptor symbol, not the associated function
|
||
symbol.
|
||
|
||
2002-01-17 Eric Christopher <echristo@redhat.com>
|
||
|
||
* elf32-mips.c (mips_elf_calculate_relocation): Fix typo.
|
||
|
||
2002-01-17 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* po/bfd.pot: Regenerate.
|
||
* po/fr.po: Regenerate.
|
||
|
||
2002-01-17 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf-bfd.h (elf_backend_data <elf_backend_section_from_bfd_section>):
|
||
Remove "Elf_Internal_Shdr *" param.
|
||
(_bfd_mips_elf_section_from_bfd_section): Ditto.
|
||
* elf32-mips.c (_bfd_mips_elf_section_from_bfd_section): Ditto.
|
||
* elf32-m32r.c (_bfd_m32r_elf_section_from_bfd_section): Ditto.
|
||
* elf32-v850.c (v850_elf_section_from_bfd_section): Ditto.
|
||
* elf64-mmix.c (mmix_elf_section_from_bfd_section): Ditto.
|
||
* elfxx-ia64.c (elfNN_hpux_backend_section_from_bfd_section): Ditto.
|
||
* elf.c (_bfd_elf_section_from_bfd_section): Allow backend
|
||
function to override special sections. Remove hdr arg from
|
||
backend call, and don't loop.
|
||
|
||
2002-01-16 Eric Christopher <echristo@redhat.com>
|
||
|
||
* elf32-mips.c (mips_elf_calculate_relocation): Set require_jalxp
|
||
on R_MIPS_26 and target is 16bit. Add R_MIPS16_GPREL to list of
|
||
relocations requiring gp0 and gp.
|
||
|
||
2002-01-16 Richard Earnshaw <rearnsha@arm.com>
|
||
|
||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Handle
|
||
EF_ARM_VFP_FLOAT.
|
||
(elf32_arm_print_private_bfd_data): Likewise.
|
||
|
||
2002-01-16 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* po/tr.po: Import new version.
|
||
|
||
2002-01-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf64-ppc.c (ppc64_elf_howto_raw): Remove stale FIXMEs.
|
||
(ppc64_elf_reloc_type_lookup): Use proper CTOR reloc.
|
||
(ORI_R0_R0_0): Correct.
|
||
|
||
2002-01-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elflink.c (_bfd_elf_create_dynamic_sections): Don't set SEC_CODE
|
||
when plt_not_loaded.
|
||
* elf64-ppc.c (ppc64_elf_create_dynamic_sections): No need to
|
||
clear .plt SEC_CODE here. Create .stub and correct .glink flags.
|
||
(PLT_INITIAL_ENTRY_SIZE): Set to 24.
|
||
(ppc64_elf_glink_code): Delete.
|
||
(PPC64_ELF_GLINK_SIZE): Delete.
|
||
(ADDIS_R12_R2, STD_R2_40R1, LD_R11_0R12, LD_R2_0R12, MTCTR_R11,
|
||
BCTR, ADDIS_R12_R12_1, LD_R2_40R1, NOP, LI_R0_0, B_DOT, LIS_R0_0,
|
||
ORI_R0_R0_0): Define.
|
||
(PLT_CALL_STUB_SIZE, GLINK_CALL_STUB_SIZE): Define.
|
||
(struct ppc_link_hash_table): Add sstub and plt_overflow.
|
||
(ppc64_elf_link_hash_table_create): Init them.
|
||
(ppc64_elf_check_relocs <R_PPC64_REL24>): Refcount .plt entry.
|
||
Don't copy to shared lib.
|
||
(ppc64_elf_check_relocs): Call bfd_set_error on errors.
|
||
(ppc64_elf_gc_sweep_hook <R_PPC64_REL24>): Sweep plt refcount.
|
||
(allocate_dynrelocs <plt>): Don't change function sym here. Make
|
||
room for .stub and .glink code.
|
||
(ppc64_elf_size_dynamic_sections): Handle .stub. Make entry for
|
||
DT_PPC64_GLINK.
|
||
(ppc64_elf_final_link): Rename to ppc64_elf_set_toc. Don't call
|
||
bfd_elf64_bfd_final_link.
|
||
(bfd_elf64_bfd_final_link): Don't define.
|
||
(ppc64_elf_size_stubs): New.
|
||
(build_plt_stub): New.
|
||
(build_one_stub): New.
|
||
(ppc64_elf_build_stubs): New.
|
||
(ppc64_elf_relocate_section <toc relocs>): Remove assert.
|
||
(ppc64_elf_relocate_section): Don't copy R_PPC64_REL24 relocs.
|
||
(ppc64_elf_finish_dynamic_symbol): Don't build stubs here. Set
|
||
DT_PPC64_GLINK entry. Tweak DT_PLTGOT, DT_JMPREL, DT_PLTRELSZ in
|
||
case output sections not separate. Adjust DT_RELASZ to not
|
||
include plt relocs. Set reserved got entry. Set got and plt
|
||
entry size.
|
||
(elf_backend_got_header_size): Set to 8.
|
||
* elf64-ppc.h: New file.
|
||
|
||
2002-01-16 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* elf32-arm.h (elf32_arm_size_dynamic_sections): When removing
|
||
sections, use bfd_section_list_remove.
|
||
* elf32-i370.c (i370_elf_size_dynamic_sections): Likewise.
|
||
* elflink.h (elf_link_add_object_symbols): When removing all
|
||
sections, use bfd_section_list_clear.
|
||
|
||
2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* po/sv.po: New file: Swedish translation.
|
||
* configure.in (ALL_LINGUAS): Add sv.
|
||
* configure: Regenerate.
|
||
|
||
2002-01-15 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elflink.h (elf_link_input_bfd): Back out 2002-01-07 change.
|
||
* elf.c (merge_sections_remove_hook): New function.
|
||
(_bfd_elf_merge_sections): Pass it as 3rd argument to
|
||
_bfd_merge_sections.
|
||
* libbfd-in.h (_bfd_merge_sections): Add 3rd argument.
|
||
* libbfd.h: Rebuilt.
|
||
* merge.c (_bfd_merge_sections): Add remove_hook argument.
|
||
Call remove_hook if a SEC_EXCLUDE section is encountered.
|
||
|
||
2002-01-15 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elf32-xstormy16.c (xstormy16_reloc_map): Add new field 'table'.
|
||
(xstormy16_reloc_map): Initialise new field with correct howto
|
||
table.
|
||
(xstormy16_reloc_type_lookup): Use 'table' field to locate correct
|
||
howto entry.
|
||
|
||
2002-01-10 Michael Snyder <msnyder@redhat.com>
|
||
|
||
* elf.c (elfcore_write_prstatus): Use long instead of pid_t;
|
||
(elfcore_write_pstatus): Use long instead of pid_t;
|
||
* elf-bfd.h: Change prototypes to use long instead of pid_t;
|
||
|
||
2002-01-09 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* elf.c: Update copyright years.
|
||
(elfcore_grok_netbsd_note): Use NT_NETBSDCORE_PROCINFO
|
||
and NT_NETBSDCORE_FIRSTMACH. Improve a comment.
|
||
|
||
2002-01-08 Michael Snyder <msnyder@redhat.com>
|
||
|
||
Add capability to write corefile note sections, for gdb.
|
||
* elf.c (elfcore_write_note): New function.
|
||
(elfcore_write_prpsinfo): New function.
|
||
(elfcore_write_prstatus): New function.
|
||
(elfcore_write_pstatus): New function.
|
||
(elfcore_write_prfpreg): New function.
|
||
(elfcore_write_prxfpreg): New function.
|
||
* elf-bfd.h: Add prototypes for above functions.
|
||
|
||
2002-01-08 Alexandre Oliva <aoliva@redhat.com>
|
||
|
||
* elf.c (elf_fake_sections): Propagate errors from
|
||
elf_backend_fake_section.
|
||
|
||
2002-01-07 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* Makefile.am (BFD32_BACKENDS): Add elf32-sh-nbsd.lo.
|
||
(BFD32_BACKENDS_CFILES): Add elf32-sh-nbsd.c.
|
||
(elf32-sh-nbsd.lo): New rule.
|
||
* Makefile.in: Regenerate.
|
||
* config.bfd (sh*le-*-netbsdelf*): New target.
|
||
(sh*-*-netbsdelf*): New target.
|
||
* configure.in: Include netbsd-core.lo for native sh*-*-netbsd*.
|
||
(bfd_elf32_shnbsd_vec): New vector.
|
||
(bfd_elf32_shlnbsd_vec): New vector.
|
||
* configure: Regenerate.
|
||
* elf32-sh-nbsd.c: New file.
|
||
* targets.c: Update copyright years.
|
||
(_bfd_target_vector): Add bfd_elf32_shlnbsd_vec and
|
||
bfd_elf32_shnbsd_vec.
|
||
|
||
2002-01-07 Aldy Hernandez <aldyh@redhat.com>
|
||
|
||
* coff-rs6000.c (READ20): Use bfd_scan_vma.
|
||
|
||
2002-01-07 Geoffrey Keating <geoffk@redhat.com>
|
||
|
||
* elflink.h (elf_link_input_bfd): Don't ask for the merged offset
|
||
of a symbol in a section that will be deleted.
|
||
|
||
2002-01-07 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* po/es.po: New file: Spanish translation.
|
||
* configure.in (ALL_LINGUAS): Add es.
|
||
* configure: Regenerate.
|
||
|
||
2002-01-06 Steve Ellcey <sje@cup.hp.com>
|
||
|
||
* elfxx-ia64.c (is_unwind_section_name): Add target vector as
|
||
argument so we can handle HP-UX specially.
|
||
(elfNN_ia64_hpux_vec): New for use in is_unwind_section_name.
|
||
(elfNN_hpux_backend_section_from_bfd_section): New for support
|
||
of SHN_IA_64_ANSI_COMMON.
|
||
(elfNN_ia64_relax_section): Add support for SHN_IA_64_ANSI_COMMON.
|
||
(is_unwind_section_name): Add special HP-UX support.
|
||
(elfNN_ia64_section_from_shdr): Add support for more sections.
|
||
(elfNN_ia64_fake_sections): Modify is_unwind_section_name call and
|
||
add support for more sections.
|
||
(elfNN_ia64_additional_program_headers): Modify
|
||
is_unwind_section_name call.
|
||
(elfNN_ia64_modify_segment_map): Remove assumption that there is
|
||
only one unwind section in segment.
|
||
|
||
2002-01-06 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* syms.c (_bfd_generic_make_empty_symbol): New function.
|
||
* libbfd-in.h (_bfd_nosymbols_make_empty_symbol): Define as
|
||
_bfd_generic_make_empty_symbol.
|
||
* libbfd.h: Regenerate.
|
||
* bfd-in2.h: Regenerate.
|
||
* hppabsd-core.c (hppabsd_core_make_empty_symbol): Delete function.
|
||
(hppabsd_core_get_symtab_upper_bound): Don't define.
|
||
(hppabsd_core_get_symtab): Likewise.
|
||
(hppabsd_core_print_symbol): Likewise.
|
||
(hppabsd_core_get_symbol_info): Likewise.
|
||
(hppabsd_core_bfd_is_local_label_name): Likewise.
|
||
(hppabsd_core_get_lineno): Likewise.
|
||
(hppabsd_core_find_nearest_line): Likewise.
|
||
(hppabsd_core_bfd_make_debug_symbol): Likewise.
|
||
(hppabsd_core_read_minisymbols): Likewise.
|
||
(hppabsd_core_minisymbol_to_symbol): Likewise.
|
||
(hppabsd_core_vec): Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).
|
||
Formatting fixes.
|
||
* hpux-core.c: Similarly.
|
||
* irix-core.c: Similarly.
|
||
* osf-core.c: Similarly.
|
||
* sco5-core.c: Similarly.
|
||
* binary.c (binary_make_empty_symbol): Remove function, define as
|
||
_bfd_generic_make_empty_symbol.
|
||
* ihex.c (ihex_make_empty_symbol): Likewise.
|
||
* mmo.c (mmo_make_empty_symbol): Likewise.
|
||
* ppcboot.c (ppcboot_make_empty_symbol): Likewise.
|
||
* srec.c (srec_make_empty_symbol): Likewise.
|
||
* versados.c (versados_make_empty_symbol): Likewise.
|
||
* vms.c (_bfd_vms_make_empty_symbol): Remove.
|
||
(vms_make_empty_symbol): Define as _bfd_generic_make_empty_symbol.
|
||
* vms-gsd.c (_bfd_vms_slurp_gsd): Call bfd_make_empty_symbol
|
||
rather than _bfd_vms_make_empty_symbol.
|
||
* vms-misc.c (new_symbol): Likewise.
|
||
|
||
2002-01-05 Alan Modra <amodra@bigpond.net.au>
|
||
|
||
* section.c (bfd_section_init): Remove unnecessary initialisations.
|
||
(bfd_section_list_clear): New function.
|
||
(bfd_section_list_remove, bfd_section_list_insert): New macros.
|
||
(_bfd_strip_section_from_output): Use them.
|
||
* coffcode.h (coff_set_alignment_hook): Likewise.
|
||
* elf32-mips.c (_bfd_mips_elf_final_link): Likewise.
|
||
* elf64-mips.c (mips_elf64_final_link): Likewise.
|
||
* elf64-mmix.c (mmix_elf_final_link): Likewise.
|
||
* sunos.c (sunos_add_dynamic_symbols): Likewise.
|
||
* xcofflink.c (_bfd_xcoff_bfd_final_link): Likewise.
|
||
* bfd-in2.h: Regenerate.
|
||
|
||
* netbsd-core.c (netbsd_core_file_p): Use bfd_make_section_anyway
|
||
rather than doing our own section handling. Clean up after errors
|
||
with bfd_release and bfd_section_list_clear. Handle unexpected
|
||
flags.
|
||
* aoutf1.h (sunos4_core_file_p): Likewise.
|
||
* aix386-core.c (aix386_core_file_p): Likewise.
|
||
* cisco-core.c (cisco_core_file_validate): Likewise.
|
||
* ptrace-core.c (ptrace_unix_core_file_p): Likewise.
|
||
* trad-core.c (trad_unix_core_file_p): Likewise.
|
||
|
||
* hppabsd-core.c (hppabsd_core_core_file_p): Clean up after errors
|
||
with bfd_release and bfd_section_list_clear.
|
||
* hpux-core.c (hpux_core_core_file_p): Likewise.
|
||
* irix-core.c (irix_core_core_file_p): Likewise.
|
||
* lynx-core.c (lynx_core_file_p): Likewise.
|
||
* osf-core.c (osf_core_core_file_p): Likewise.
|
||
* rs6000-core.c (rs6000coff_core_p): Likewise.
|
||
* sco5-core.c (sco5_core_file_p): Likewise.
|
||
|
||
* elf32-mips.c (_bfd_mips_elf_lo16_reloc): Simplify, and perform
|
||
sign extension adjustments without conditionals.
|
||
|
||
2002-01-04 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
* elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Don't crash if
|
||
CIE at .eh_frame start is removed due to no FDEs referencing it.
|
||
|
||
2002-01-04 Jason Thorpe <thorpej@wasabisystems.com>
|
||
|
||
* config.bfd (x86_64-*-netbsd*): New target.
|
||
* configure.in (x86_64-*-netbsd*): Set COREFILE
|
||
to netbsd-core.lo.
|
||
* configure: Regenerated.
|
||
|
||
2002-01-03 Tom Rix <trix@redhat.com>
|
||
|
||
* xcofflink.c (_bfd_xcoff_bfd_final_link): Update .pad section ordering
|
||
for recent bfd_make_section_anyway change.
|
||
|
||
2002-01-03 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elf32-arm.h (elf32_arm_final_link_relocate): Handle
|
||
R_ARM_THM_PC11 reloc.
|
||
|
||
2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* configure.in (LINGUAS): Add ja.
|
||
* configure: Regenerate.
|
||
* po/ja.po: Import from translation project's web site.
|
||
|
||
2002-01-02 Nick Clifton <nickc@cambridge.redhat.com>
|
||
|
||
* elf32-arm.h (elf32_arm_merge_private_bfd_data): Reformat error
|
||
messages to ease translation into other languages.
|
||
|
||
For older changes see ChangeLog-0001
|
||
|
||
Copyright (C) 2002-2003 Free Software Foundation, Inc.
|
||
|
||
Copying and distribution of this file, with or without modification,
|
||
are permitted in any medium without royalty provided the copyright
|
||
notice and this notice are preserved.
|
||
|
||
Local Variables:
|
||
mode: change-log
|
||
left-margin: 8
|
||
fill-column: 74
|
||
version-control: never
|
||
End:
|