aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc38
1 files changed, 24 insertions, 14 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index b8b99692a5f..60f3d0ba141 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -798,14 +798,7 @@ case ${target} in
case ${enable_threads} in
"" | yes | posix) thread_file='posix' ;;
esac
-
- # NetBSD 2.0 and later provide __cxa_atexit(), which we use by
- # default (unless overridden by --disable-__cxa_atexit).
- case ${target} in
- *-*-netbsd[2-9]* | *-*-netbsdelf[2-9]*)
- default_use_cxa_atexit=yes
- ;;
- esac
+ default_use_cxa_atexit=yes
;;
*-*-openbsd*)
tmake_file="t-openbsd"
@@ -1066,11 +1059,23 @@ arc*-*-linux*)
big*) tm_file="arc/big.h ${tm_file}"
esac
;;
-arm-wrs-vxworks)
- tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
+arm-wrs-vxworks|arm-wrs-vxworks7)
extra_options="${extra_options} arm/vxworks.opt"
tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
- target_cpu_cname="arm6"
+ case $target in
+ *-vxworks7)
+ # VxWorks7 on ARM adheres to the ARM Base Platform ABI
+ tmake_file="${tmake_file} arm/t-bpabi"
+ tm_file="arm/bpabi.h ${tm_file}"
+ # The BPABI long long divmod functions return a 128-bit value in
+ # registers r0-r3.
+ need_64bit_hwint=yes
+ default_use_cxa_atexit=yes
+ ;;
+ *) ;;
+ esac
+ tm_file="elfos.h arm/elf.h arm/aout.h ${tm_file} vx-common.h vxworks.h arm/vxworks.h"
+ target_cpu_cname="arm8"
;;
arm*-*-freebsd*) # ARM FreeBSD EABI
tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"
@@ -2047,7 +2052,7 @@ riscv*-*-linux*)
# automatically detect that GAS supports it, yet we require it.
gcc_cv_initfini_array=yes
;;
-riscv*-*-elf*)
+riscv*-*-elf* | riscv*-*-rtems*)
tm_file="elfos.h newlib-stdint.h ${tm_file} riscv/elf.h"
case "x${enable_multilib}" in
xno) ;;
@@ -2060,6 +2065,11 @@ riscv*-*-elf*)
# Force .init_array support. The configure script cannot always
# automatically detect that GAS supports it, yet we require it.
gcc_cv_initfini_array=yes
+ case ${target} in
+ riscv*-*-rtems*)
+ tm_file="${tm_file} rtems.h riscv/rtems.h"
+ ;;
+ esac
;;
mips*-*-netbsd*) # NetBSD/mips, either endian.
target_cpu_default="MASK_ABICALLS"
@@ -2431,7 +2441,7 @@ powerpc-*-rtems*spe*)
tmake_file="${tmake_file} powerpcspe/t-fprules powerpcspe/t-rtems powerpcspe/t-ppccomm"
;;
powerpc-*-rtems*)
- tm_file="${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/eabi.h rs6000/rtems.h rtems.h"
+ tm_file="rs6000/biarch64.h ${tm_file} dbxelf.h elfos.h freebsd-spec.h newlib-stdint.h rs6000/sysv4.h rs6000/rtems.h rtems.h"
extra_options="${extra_options} rs6000/sysv4.opt"
tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
;;
@@ -4370,7 +4380,7 @@ case "${target}" in
for which in arch tune; do
eval "val=\$with_$which"
case ${val} in
- "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | arch3 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12)
+ "" | native | g5 | g6 | z900 | z990 | z9-109 | z9-ec | z10 | z196 | zEC12 | z13 | z14 | arch3 | arch5 | arch6 | arch7 | arch8 | arch9 | arch10 | arch11 | arch12)
# OK
;;
*)