diff options
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 38 |
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 ;; *) |