aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIain Buclaw <ibuclaw@gdcproject.org>2020-08-20 18:02:58 +0200
committerIain Buclaw <ibuclaw@gdcproject.org>2020-08-20 18:07:43 +0200
commitd241134695a3a28da92ebdfcf35e7ee7385adaf4 (patch)
treec2eda819dc88e5b3a9d967b7f8a4403970d25ac6
parent05814dde7024a8fa05a735cafcda72b5eb5ec0c0 (diff)
downloadgcc-d241134695a3a28da92ebdfcf35e7ee7385adaf4.zip
gcc-d241134695a3a28da92ebdfcf35e7ee7385adaf4.tar.gz
gcc-d241134695a3a28da92ebdfcf35e7ee7385adaf4.tar.bz2
vxworks: Fix GCC selftests for *-wrs-vxworks7-* targets
Currently when building a cross-compiler targeting arm-wrs-vxworks7, the self-tests fail unless the VSB_DIR environment variable is set. This prevents attempts at designating the location of runtime header files, libraries or startfiles, which would fail on unset environment variables and aren't needed for such tests. gcc/ChangeLog: * config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Don't include VxWorks header files if -fself-test is used. (STARTFILE_PREFIX_SPEC): Avoid using VSB_DIR if -fself-test is used.
-rw-r--r--gcc/config/vxworks.h16
1 files changed, 11 insertions, 5 deletions
diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h
index d648d2f..e50260b0 100644
--- a/gcc/config/vxworks.h
+++ b/gcc/config/vxworks.h
@@ -36,11 +36,16 @@ along with GCC; see the file COPYING3. If not see
/* Since we provide a default -isystem, expand -isystem on the command
line early. */
+
+/* Self-tests may be run in contexts where the VxWorks environment isn't
+ available. Prevent attempts at designating the location of runtime header
+ files, libraries or startfiles, which would fail on unset environment
+ variables and aren't needed for such tests. */
#if TARGET_VXWORKS7
#undef VXWORKS_ADDITIONAL_CPP_SPEC
#define VXWORKS_ADDITIONAL_CPP_SPEC \
- "%{!nostdinc: \
+ "%{!nostdinc:%{!fself-test=*: \
%{isystem*} \
%{mrtp: -idirafter %:getenv(VSB_DIR /h) \
-idirafter %:getenv(VSB_DIR /share/h) \
@@ -49,19 +54,19 @@ along with GCC; see the file COPYING3. If not see
;: -idirafter %:getenv(VSB_DIR /h) \
-idirafter %:getenv(VSB_DIR /share/h) \
-idirafter %:getenv(VSB_DIR /krnl/h/system) \
- -idirafter %:getenv(VSB_DIR /krnl/h/public)}}"
+ -idirafter %:getenv(VSB_DIR /krnl/h/public)}}}"
#else /* TARGET_VXWORKS7 */
#undef VXWORKS_ADDITIONAL_CPP_SPEC
#define VXWORKS_ADDITIONAL_CPP_SPEC \
- "%{!nostdinc: \
+ "%{!nostdinc:%{!fself-test=*: \
%{isystem*} \
%{mrtp: -idirafter %:getenv(WIND_USR /h) \
-idirafter %:getenv(WIND_USR /h/wrn/coreip) \
;: -idirafter %:getenv(WIND_BASE /target/h) \
-idirafter %:getenv(WIND_BASE /target/h/wrn/coreip) \
-}}"
+}}}"
#endif
@@ -108,7 +113,8 @@ along with GCC; see the file COPYING3. If not see
#if TARGET_VXWORKS7
#undef STARTFILE_PREFIX_SPEC
-#define STARTFILE_PREFIX_SPEC "%:getenv(VSB_DIR /usr/lib/common)"
+#define STARTFILE_PREFIX_SPEC \
+ "%{!fself-test=*:%:getenv(VSB_DIR /usr/lib/common)}"
#define TLS_SYM "-u __tls__"
#else
#define TLS_SYM ""