Hello, This replicates for VxWorks 7 the "trick" used to let libgcc build for VxWorks in absence of fixincludes, namely the last piece libgcc/config/t-vxworks:
... # This ensures that the correct target headers are used; some # VxWorks system headers have names that collide with GCC's # internal (host) headers, e.g. regs.h. LIBGCC2_INCLUDES = -nostdinc \ `case "/$(MULTIDIR)" in \ */mrtp*) echo -I$(WIND_USR)/h -I$(WIND_USR)/h/wrn/coreip ;; \ *) echo -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip ;; \ esac` As an alternative resolution, fixincludes can help with this problem and we have "hacks" for this purpose. They aren't quite complete, however, and getting fixincludes to work properly gets significantly more difficult with VxWorks 7 because sets of include subdirs need to be looked at. The issue raised on https://gcc.gnu.org/ml/gcc/2017-06/msg00003.html adds on top, and overall, the fewer dependencies we have on fixincludes for VxWorks, the better. The attached patch reinstates the existing trick for VxWorks 7, providing an alternate t-vxworks7 file adjusting the set of system header file directories to consider. The rest is copied verbatim. It's too small to warrant sharing and this will facilitate vx7 specific adjustments to the other parameters in the future if need be. As for the other patches of the vx7 series, this was included in a preliminary gcc-7 based port in-house which passes almost 100% of the ACATS tests for Ada, and lets the toolchain+libgcc build in absence of fixincludes on mainline. With Kind Regards, Olivier 2017-06-27 Olivier Hainque <hain...@adacore.com> libgcc/ * config/t-vxworks7: New file. * config.host (*-*-vxworks7): Use it.
0005-adjust-libgcc-build-support-for-VxWorks-to-VxWorks-7.patch
Description: Binary data