aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorPat Bernardi <bernardi@adacore.com>2019-11-14 15:45:50 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2019-11-14 15:45:50 +0000
commitebcdba9c9f71e548e7506ecc8cb13139614b392e (patch)
treefbcc4ee4ddc05d881eea07e45b4be0eb24f675ca /gcc/config.gcc
parent60838d634634a70d65a126166c944b159ac7649c (diff)
downloadgcc-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.gcc17
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.