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. 2018-06-04 Rasmus Villemoes <r...@rasmusvillemoes.dk> gcc/ * config/vxworks.h: Add $(WIND_BASE)/target/h/wrn/coreip to default search path. --- gcc/config/vxworks.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/config/vxworks.h b/gcc/config/vxworks.h index e37af775157..08d2c9d76d6 100644 --- a/gcc/config/vxworks.h +++ b/gcc/config/vxworks.h @@ -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 -- 2.16.4