diff options
author | Pat Bernardi <bernardi@adacore.com> | 2019-11-14 15:45:50 +0000 |
---|---|---|
committer | Olivier Hainque <hainque@gcc.gnu.org> | 2019-11-14 15:45:50 +0000 |
commit | ebcdba9c9f71e548e7506ecc8cb13139614b392e (patch) | |
tree | fbcc4ee4ddc05d881eea07e45b4be0eb24f675ca /gcc/config.gcc | |
parent | 60838d634634a70d65a126166c944b159ac7649c (diff) | |
download | gcc-ebcdba9c9f71e548e7506ecc8cb13139614b392e.zip gcc-ebcdba9c9f71e548e7506ecc8cb13139614b392e.tar.gz gcc-ebcdba9c9f71e548e7506ecc8cb13139614b392e.tar.bz2 |
Common ground work for vxworks7 ports updates
2019-11-06 Pat Bernardi <bernardi@adacore.com>
Jerome Lambourg <lambourg@adacore.com>
Olivier Hainque <hainque@adacore.com>
gcc/
* config.gcc: Add comment to introduce the TARGET_VXWORKS
commong macro definitions, conveying VXWORKS7 or 64bit general
variations. Add a block to set gcc_cv_initfini_array
unconditionally to "yes" for VxWorks7.
config/vx-common.h (VXWORKS_CC1_SPEC): New macro, empty string
by default. Update some comments.
config/vxworks.h (VXWORKS_EXTRA_LIBS_RTP): New macro, empty by
default, to be added the end of VXWORKS_LIBS_RTP.
(VXWORKS_LIBS_RTP): Replace hardcoded part by VXWORKS_BASE_LIBS_RTP
and append VXWORKS_EXTRA_LIBS_RTP, both of which specific ports may
redefine.
(VXWORKS_NET_LIBS_RTP): Account for VxWorks7 specificities.
(VXWORKS_CC1_SPEC): Common base definition, with VxWorks7 variation
to account for the now available TLS abilities.
(TARGET_LIBC_HAS_FUNCTION): Account for VxWorks7 abilities.
(VXWORKS_HAVE_TLS): Likewise.
Co-Authored-By: Jerome Lambourg <lambourg@adacore.com>
Co-Authored-By: Olivier Hainque <hainque@adacore.com>
From-SVN: r278247
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 72f6564..aa9a79c 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -962,6 +962,11 @@ case ${target} in "" | yes | vxworks) thread_file='vxworks' ;; *) echo 'Unknown thread configuration for VxWorks'; exit 1 ;; esac + + # A few common macro definitions conveying general characteristics + # of the configuration at hand. Note that by VxWorks 7, we mean the + # the SR6xx major update or beyond in vendor parlance: + case $target in *-*-vxworks7*) tm_defines="$tm_defines TARGET_VXWORKS7=1" @@ -972,6 +977,18 @@ case ${target} in tm_defines="$tm_defines TARGET_VXWORKS64=1" ;; esac + + # Then a few build configuration controls for VxWorks 7, which + # has specificities on top of which we aim to provide more complete + # C++ support: + + case $target in + *-*-vxworks7*) + # VxWorks 7 always has init/fini_array support and it is simpler to + # just leverage this, sticking to what the system toolchain does: + gcc_cv_initfini_array=yes + ;; + esac ;; *-*-elf|arc*-*-elf*) # Assume that newlib is being used and so __cxa_atexit is provided. |