aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorAndreas Tobler <andreast@gcc.gnu.org>2015-01-09 15:06:02 +0100
committerAndreas Tobler <andreast@gcc.gnu.org>2015-01-09 15:06:02 +0100
commit82a19768cb55aa06dc6aac858012cf40125a3d9f (patch)
treeb3576f34396e29e95fbfc0175227cf0b88999832 /gcc/config.gcc
parent887974fda22e2040ad8956488aa738b0bb9ad728 (diff)
downloadgcc-82a19768cb55aa06dc6aac858012cf40125a3d9f.zip
gcc-82a19768cb55aa06dc6aac858012cf40125a3d9f.tar.gz
gcc-82a19768cb55aa06dc6aac858012cf40125a3d9f.tar.bz2
configure.ac: Don't add ${libgcj} for arm*-*-freebsd*.
toplevel: * configure.ac: Don't add ${libgcj} for arm*-*-freebsd*. * configure: Regenerate. gcc: * config.gcc (arm*-*-freebsd*): New configuration. * config/arm/freebsd.h: New file. * config.host: Add extra components for arm*-*-freebsd*. * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE. * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE. libgcc: * config.host (arm*-*-freebsd*): Add new configuration for arm*-*-freebsd*. * config/arm/freebsd-atomic.c: New file. * config/arm/t-freebsd: Likewise. * config/arm/unwind-arm.h: Add __FreeBSD__ to the list of 'PC-relative indirect' OS's. libatomic: * configure.tgt: Exclude arm*-*-freebsd* from try_ifunc. libstdc++-v3: * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. From-SVN: r219388
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc22
1 files changed, 21 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 04026e3..0dfc08f 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -259,7 +259,6 @@ case ${target} in
arm*-wince-pe* \
| arm*-*-ecos-elf \
| arm*-*-elf \
- | arm*-*-freebsd* \
| arm*-*-linux* \
| arm*-*-uclinux* \
| i[34567]86-go32-* \
@@ -1010,6 +1009,27 @@ arm-wrs-vxworks)
extra_options="${extra_options} arm/vxworks.opt"
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
;;
+arm*-*-freebsd*) # ARM FreeBSD EABI
+ tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
+ case $target in
+ arm*b-*-freebsd*)
+ tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
+ ;;
+ esac
+ tmake_file="${tmake_file} arm/t-arm arm/t-bpabi"
+ tm_file="${tm_file} arm/bpabi.h arm/freebsd.h arm/aout.h arm/arm.h"
+ case $target in
+ armv6*-*-freebsd*)
+ tm_defines="${tm_defines} TARGET_FREEBSD_ARMv6=1"
+ ;;
+ esac
+ case $target in
+ arm*hf-*-freebsd*)
+ tm_defines="${tm_defines} TARGET_FREEBSD_ARM_HARD_FLOAT=1"
+ ;;
+ esac
+ with_tls=${with_tls:-gnu}
+ ;;
arm*-*-netbsdelf*)
tm_file="dbxelf.h elfos.h netbsd.h netbsd-elf.h arm/elf.h arm/aout.h ${tm_file} arm/netbsd-elf.h"
extra_options="${extra_options} netbsd.opt netbsd-elf.opt"