aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorJerome Lambourg <lambourg@adacore.com>2019-11-14 16:11:30 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2019-11-14 16:11:30 +0000
commit27204060db51ed0637e394dff387c66c6b944726 (patch)
treeed26512bbc98d251f21922b5a76f51784fd65d14 /gcc/config.gcc
parent071ef254a8a9ad947e72b37cd4aa695b57e5b031 (diff)
downloadgcc-27204060db51ed0637e394dff387c66c6b944726.zip
gcc-27204060db51ed0637e394dff387c66c6b944726.tar.gz
gcc-27204060db51ed0637e394dff387c66c6b944726.tar.bz2
Update the arm-*-vxworks* support
2019-11-13 Jerome Lambourg <lambourg@adacore.com> Doug Rupp <rupp@adacore.com> Olivier Hainque <hainque@adacore.com> gcc/ * config.gcc: Collapse the arm-vxworks entries into a single arm-wrs-vxworks7* one, bpabi based. Update the default cpu from arm8 to armv7-a * config/arm/vxworks.h (CC1_SPEC): Simplify, knowing that we always use ARM_UNWIND_INFO. (DWARF2_UNWIND_INFO): Remove redefinition. (ARM_TARGET2_DWARF_FORMAT): Likewise. (VXWORKS_PERSONALITY): Define, to "llvm". (VXWORKS_EXTRA_LIBS_RTP): Define, to "-lllvm". libgcc/ * config.host: Collapse the arm-vxworks entries into a single arm-wrs-vxworks7* one. * config/arm/unwind-arm-vxworks.c: Update comments. Provide __gnu_Unwind_Find_exidx and a weak dummy __cxa_type_match for kernel modules, to be overriden by libstdc++ when we link with it. Rely on externally provided __exidx_start/end. Co-Authored-By: Doug Rupp <rupp@adacore.com> Co-Authored-By: Olivier Hainque <hainque@adacore.com> From-SVN: r278253
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc26
1 files changed, 10 insertions, 16 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index ea45b44..5aa0130 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1148,23 +1148,17 @@ arc*-*-linux*)
# automatically detect that GAS supports it, yet we require it.
gcc_cv_initfini_array=yes
;;
-arm-wrs-vxworks|arm-wrs-vxworks7)
+arm-wrs-vxworks7*)
+ # We only support VxWorks 7 now on ARM, post SR600. Pre SR600
+ # VxWorks 7 was transitory and major versions prior to 7 were based
+ # on long deprecated ABI, not supported at all any more regardless
+ # of VxWorks.
extra_options="${extra_options} arm/vxworks.opt"
- tmake_file="${tmake_file} arm/t-arm arm/t-vxworks"
- 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"
+ tmake_file="${tmake_file} arm/t-arm arm/t-vxworks arm/t-bpabi"
+ tm_file="elfos.h arm/elf.h arm/bpabi.h arm/aout.h ${tm_file}"
+ tm_file="${tm_file} vx-common.h vxworks.h arm/vxworks.h"
+ target_cpu_cname="armv7-a"
+ need_64bit_hwint=yes
;;
arm*-*-freebsd*) # ARM FreeBSD EABI
tm_file="dbxelf.h elfos.h ${fbsd_tm_file} arm/elf.h"