diff options
author | Jerome Lambourg <lambourg@adacore.com> | 2019-11-14 16:11:30 +0000 |
---|---|---|
committer | Olivier Hainque <hainque@gcc.gnu.org> | 2019-11-14 16:11:30 +0000 |
commit | 27204060db51ed0637e394dff387c66c6b944726 (patch) | |
tree | ed26512bbc98d251f21922b5a76f51784fd65d14 /gcc/config.gcc | |
parent | 071ef254a8a9ad947e72b37cd4aa695b57e5b031 (diff) | |
download | gcc-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.gcc | 26 |
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" |