summaryrefslogtreecommitdiff
path: root/bfd/config.bfd
diff options
context:
space:
mode:
authorDavid O'Brien <obrien@FreeBSD.org>2002-09-17 02:24:35 +0000
committerDavid O'Brien <obrien@FreeBSD.org>2002-09-17 02:24:35 +0000
commit21ff3d7b38930f55a0791434a587425a8a37f2ed (patch)
tree14567d41be2b223dd7234916cbde96001b04104b /bfd/config.bfd
parent29f7117f04058c58745a94eef5a6a002df90655d (diff)
downloadgdb-21ff3d7b38930f55a0791434a587425a8a37f2ed.tar.gz
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. * config/tc-i386.h (ELF_TARGET_FORMAT): New macro. (TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf32-i386". * config/tc-i386.c (i386_target_format): Likewise. * config/tc-alpha.h (ELF_TARGET_FORMAT): New macro. (TARGET_FORMAT): Use ELF_TARGET_FORMAT instead of "elf64-alpha". * emulparams/elf_i386_fbsd.sh: Set OUTPUT_FORMAT to elf32-i386-freebsd. * emulparams/elf64alpha_fbsd.sh: Set OUTPUT_FORMAT to elf64-alpha-freebsd. Approved by: Alan Modra <amodra@bigpond.net.au> Message-ID: <20020715021113.GJ30362@bubble.sa.bigpond.net.au>
Diffstat (limited to 'bfd/config.bfd')
-rw-r--r--bfd/config.bfd18
1 files changed, 16 insertions, 2 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 39b09ff482f..c76157f956e 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -71,7 +71,16 @@ esac
case "${targ}" in
# START OF targmatch.h
#ifdef BFD64
- alpha*-*-netbsd* | alpha*-*-freebsd* | alpha*-*-openbsd*)
+ alpha*-*-freebsd*)
+ targ_defvec=bfd_elf64_alpha_freebsd_vec
+ targ_selvecs=ecoffalpha_little_vec
+ # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
+ case "${targ}" in
+ alpha*-*-freebsd3* | alpha*-*-freebsd4 | alpha*-*-freebsd4.0*)
+ targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
+ esac
+ ;;
+ alpha*-*-netbsd* | alpha*-*-openbsd*)
targ_defvec=bfd_elf64_alpha_vec
targ_selvecs=ecoffalpha_little_vec
;;
@@ -399,8 +408,13 @@ case "${targ}" in
targ_underscore=yes
;;
i[3456]86-*-freebsd*)
- targ_defvec=bfd_elf32_i386_vec
+ targ_defvec=bfd_elf32_i386_freebsd_vec
targ_selvecs=i386coff_vec
+ # FreeBSD <= 4.0 supports only the old nonstandard way of ABI labelling.
+ case "${targ}" in
+ i[3456]86-*-freebsd3* | i[3456]86-*-freebsd4 | i[3456]86-*-freebsd4.0*)
+ targ_cflags=-DOLD_FREEBSD_ABI_LABEL ;;
+ esac
;;
i[3456]86-*-netbsdelf*)
targ_defvec=bfd_elf32_i386_vec