diff options
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index fdf4cb8..60f3d0b 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1059,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" |