From b3405ddc5d83bd1856dfb00d415514a996be951d Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 30 Dec 2019 21:36:34 +0000 Subject: [PATCH] Setup TARGET_C_PREINCLUDE for VxWorks This patch modifies the C & C++ VxWorks compiler to predefine the __STDC_ macros verified by gcc.dg/c99-predef-1.c in the testsuite. 2019-12-13 Joel Brobecker * config.gcc <*-*-vxworks*>: Add vxworks-c.o to c_target_objs and cxx_target_objs. Set target_has_targetcm to "yes". Add vxworks-predef.h to extra_headers. * config/t-vxworks (vxworks-c.o): New target. * config/vxworks-c.c: New file. * config/vxworks/vxworks-predef.h: New file. From-SVN: r279781 --- gcc/ChangeLog | 9 +++++++++ gcc/config.gcc | 4 ++++ gcc/config/t-vxworks | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 252e921d228..6c9adffcb9c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2019-12-30 Joel Brobecker + + * config.gcc <*-*-vxworks*>: Add vxworks-c.o to c_target_objs + and cxx_target_objs. Set target_has_targetcm to "yes". Add + vxworks-predef.h to extra_headers. + * config/t-vxworks (vxworks-c.o): New target. + * config/vxworks-c.c: New file. + * config/vxworks/vxworks-predef.h: New file. + 2019-12-30 Alexandre Oliva Olivier Hainque diff --git a/gcc/config.gcc b/gcc/config.gcc index 9802f436e06..1110f7bda74 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -955,6 +955,10 @@ case ${target} in xm_defines=POSIX extra_options="${extra_options} vxworks.opt" extra_objs="$extra_objs vxworks.o" + c_target_objs="${c_target_objs} vxworks-c.o" + cxx_target_objs="${cxx_target_objs} vxworks-c.o" + extra_headers="${extra_headers} ../vxworks/vxworks-predef.h" + target_has_targetcm="yes" use_gcc_stdint=provide tm_file="${tm_file} vxworks-stdint.h" case ${enable_threads} in diff --git a/gcc/config/t-vxworks b/gcc/config/t-vxworks index 86b26cc1ecc..69b3a2e3199 100644 --- a/gcc/config/t-vxworks +++ b/gcc/config/t-vxworks @@ -20,6 +20,10 @@ vxworks.o: $(srcdir)/config/vxworks.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TARGET_H) output.h $(TM_H) $(COMPILER) -c $(ALL_COMPILERFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< +vxworks-c.o: $(srcdir)/config/vxworks-c.c + $(COMPILE) $< + $(POSTCOMPILE) + # Both the kernel and RTP headers provide limits.h. They embed VxWorks # specificities and are dated on some configurations so we both need to # provide our own version and make sure the system one gets exposed. -- 2.30.2