From 13285a1b2c20277cb2346e9c635c5ea7019441ad Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 18 Oct 2007 09:13:51 +0000 Subject: PR ld/4424 * config.bfd (targ_selvecs): Add bfd_elf64_alpha_vec for alpha/FreeBSD. Add bfd_elf64_sparc_vec for sparc64/FreeBSD. Add bfd_elf32_i386_vec and bfd_efi_app_ia32_vec for i386/FreeBSD. (targ64_selvecs): Set for i386/FreeBSD. * elf-bfd.h (elf_backend_data): Add relocs_compatible. (_bfd_elf_default_relocs_compatible): Declare. (_bfd_elf_relocs_compatible): Declare. * elfxx-target.h (elf_backend_relocs_compatible): Define. (elfNN_bed): Init new relocs_compatible field. * elflink.c (_bfd_elf_default_relocs_compatible): New function. (_bfd_elf_relocs_compatible): New function. (elf_link_add_object_symbols): Call bed->relocs_compatible. * elf32-i386.c (elf_backend_relocs_compatible): Define. * elf64-alpha.c: Likewise. * elf64-sparc.c: Likewise. * elf64-x86-64.c: Likewise. --- bfd/config.bfd | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'bfd/config.bfd') diff --git a/bfd/config.bfd b/bfd/config.bfd index 932e4fe..899e18e 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -140,7 +140,7 @@ case "${targ}" in #ifdef BFD64 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) targ_defvec=bfd_elf64_alpha_freebsd_vec - targ_selvecs=ecoffalpha_little_vec + targ_selvecs="bfd_elf64_alpha_vec ecoffalpha_little_vec" want64=true # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. case "${targ}" in @@ -188,7 +188,7 @@ case "${targ}" in ;; sparc64-*-freebsd* | sparc64-*-kfreebsd*-gnu) targ_defvec=bfd_elf64_sparc_freebsd_vec - targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" + targ_selvecs="bfd_elf64_sparc_vec bfd_elf32_sparc_vec sunos_big_vec" ;; sparc64-*-netbsd* | sparc64-*-openbsd*) targ_defvec=bfd_elf64_sparc_vec @@ -535,7 +535,8 @@ case "${targ}" in ;; i[3-7]86-*-freebsd* | i[3-7]86-*-kfreebsd*-gnu | i[3-7]86-*-dragonfly*) targ_defvec=bfd_elf32_i386_freebsd_vec - targ_selvecs=i386coff_vec + targ_selvecs="bfd_elf32_i386_vec bfd_efi_app_ia32_vec i386coff_vec" + targ64_selvecs="bfd_elf64_x86_64_freebsd_vec bfd_elf64_x86_64_vec bfd_efi_app_x86_64_vec" # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling. case "${targ}" in i[3-7]86-*-freebsd3* | i[3-7]86-*-freebsd4 | i[3-7]86-*-freebsd4.0*) -- cgit v1.1