vxworks: add target/h/wrn/coreip to the set of system include paths
authorRasmus Villemoes <rv@rasmusvillemoes.dk>
Tue, 21 Aug 2018 08:47:41 +0000 (10:47 +0200)
committerRasmus Villemoes <villemoes@gcc.gnu.org>
Tue, 21 Aug 2018 08:47:41 +0000 (08:47 +0000)
In order to build crtstuff.c, I need to ensure the headers in
target/h/wrn/coreip are also searched. Of course, that can be done
similar to how wrn/coreip gets manually added for libgcc, e.g. by adding

  CRTSTUFF_T_CFLAGS += -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip

But without target/h/wrn/coreip in the default search path, all
user-code that include <unistd.h> (crtstuff.c just being one such
example) will have to manually add an -isystem
flag adding the wrn/coreip directory: unistd.h include ioLib.h, which
has

#include "net/uio.h"

and that header is found in target/h/wrn/coreip. In other words, the
VxWorks system headers (at least for VxWorks 5.5) are written in a way
that assumes wrn/coreip is in the search path, so I think it makes sense
to have that by default.

It will change the search order for existing setups that pass
-I.../target/h/wrn/coreip (without -nostdinc), since that flag will now
be ignored. I can't know whether that will break anything, but I do
believe it makes sense to have the defaults actually usable without
expecting all invocations to add -I/-isystem flags.

From-SVN: r263689

gcc/ChangeLog
gcc/config/vxworks.h

index 38fcea919c42c7327d46056e337bc5cfad4f79a5..da16c909681e4e6a679c941cca9aaa074bc6d8a1 100644 (file)
@@ -1,3 +1,8 @@
+2018-08-21  Rasmus Villemoes  <rv@rasmusvillemoes.dk>
+
+       * config/vxworks.h: Add $(WIND_BASE)/target/h/wrn/coreip to
+       default search path for VxWorks < 7.
+
 2018-08-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
        * gimple-ssa-sprintf.c (decl_constant_value): Remove.
index e37af775157db1a18e22e73972b1b1010746e918..08d2c9d76d69860f42907e3ae3c37460370d1322 100644 (file)
@@ -61,9 +61,12 @@ along with GCC; see the file COPYING3.  If not see
 #undef VXWORKS_ADDITIONAL_CPP_SPEC
 #define VXWORKS_ADDITIONAL_CPP_SPEC            \
  "%{!nostdinc:                                 \
-    %{isystem*} -idirafter                     \
-    %{mrtp: %:getenv(WIND_USR /h)              \
-      ;:    %:getenv(WIND_BASE /target/h)}}"
+    %{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