diff options
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/binutils/bfd/elfxx-ia64.c | 20 | ||||
-rw-r--r-- | contrib/binutils/bfd/targets.c | 1 | ||||
-rw-r--r-- | contrib/binutils/gas/config/tc-ia64.c | 4 | ||||
-rw-r--r-- | contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh | 1 |
4 files changed, 25 insertions, 1 deletions
diff --git a/contrib/binutils/bfd/elfxx-ia64.c b/contrib/binutils/bfd/elfxx-ia64.c index 68f2010..e797212 100644 --- a/contrib/binutils/bfd/elfxx-ia64.c +++ b/contrib/binutils/bfd/elfxx-ia64.c @@ -5909,6 +5909,26 @@ elfNN_hpux_backend_symbol_processing (bfd *abfd ATTRIBUTE_UNUSED, #include "elfNN-target.h" +/* FreeBSD support. */ + +#undef TARGET_LITTLE_SYM +#define TARGET_LITTLE_SYM bfd_elfNN_ia64_freebsd_vec +#undef TARGET_LITTLE_NAME +#define TARGET_LITTLE_NAME "elfNN-ia64-freebsd" +#undef TARGET_BIG_SYM +#undef TARGET_BIG_NAME + +#undef ELF_OSABI +#define ELF_OSABI ELFOSABI_FREEBSD + +#undef elf_backend_post_process_headers +#define elf_backend_post_process_headers _bfd_elf_set_osabi + +#undef elfNN_bed +#define elfNN_bed elfNN_ia64_fbsd_bed + +#include "elfNN-target.h" + /* HPUX-specific vectors. */ #undef TARGET_LITTLE_SYM diff --git a/contrib/binutils/bfd/targets.c b/contrib/binutils/bfd/targets.c index 04b52df..71c8f4b 100644 --- a/contrib/binutils/bfd/targets.c +++ b/contrib/binutils/bfd/targets.c @@ -594,6 +594,7 @@ extern const bfd_target bfd_elf32_i860_little_vec; extern const bfd_target bfd_elf32_i860_vec; extern const bfd_target bfd_elf32_i960_vec; extern const bfd_target bfd_elf32_ia64_big_vec; +extern const bfd_target bfd_elf64_ia64_freebsd_vec; extern const bfd_target bfd_elf32_ia64_hpux_big_vec; extern const bfd_target bfd_elf32_ip2k_vec; extern const bfd_target bfd_elf32_iq2000_vec; diff --git a/contrib/binutils/gas/config/tc-ia64.c b/contrib/binutils/gas/config/tc-ia64.c index 5ed9ba8..2279c99 100644 --- a/contrib/binutils/gas/config/tc-ia64.c +++ b/contrib/binutils/gas/config/tc-ia64.c @@ -7704,8 +7704,10 @@ ia64_target_format () else { if (md.flags & EF_IA_64_ABI64) -#ifdef TE_AIX50 +#if defined(TE_AIX50) return "elf64-ia64-aix-little"; +#elif defined(TE_FreeBSD) + return "elf64-ia64-freebsd"; #else return "elf64-ia64-little"; #endif diff --git a/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh b/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh index ab7e78f..a7e2675 100644 --- a/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh +++ b/contrib/binutils/ld/emulparams/elf64_ia64_fbsd.sh @@ -4,3 +4,4 @@ unset DATA_ADDR unset SMALL_DATA_CTOR unset SMALL_DATA_DTOR . ${srcdir}/emulparams/elf_fbsd.sh +OUTPUT_FORMAT="elf64-ia64-freebsd" |