aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@adacore.com>2019-12-30 21:36:34 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2019-12-30 21:36:34 +0000
commitb3405ddc5d83bd1856dfb00d415514a996be951d (patch)
tree775b49997b08cb010d810fb2cee12fad10efd9b7
parent1361ae0e7647cbf4b77f917835c4d4aecba3e533 (diff)
downloadgcc-b3405ddc5d83bd1856dfb00d415514a996be951d.zip
gcc-b3405ddc5d83bd1856dfb00d415514a996be951d.tar.gz
gcc-b3405ddc5d83bd1856dfb00d415514a996be951d.tar.bz2
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 <brobecker@adacore.com> * 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
-rw-r--r--gcc/ChangeLog9
-rw-r--r--gcc/config.gcc4
-rw-r--r--gcc/config/t-vxworks4
3 files changed, 17 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 252e921..6c9adff 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,12 @@
+2019-12-30 Joel Brobecker <brobecker@adacore.com>
+
+ * 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 <oliva@adacore.com>
Olivier Hainque <hainque@adacore.com>
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 9802f43..1110f7b 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 86b26cc..69b3a2e 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.