aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2019-11-14 16:00:55 +0000
committerOlivier Hainque <hainque@gcc.gnu.org>2019-11-14 16:00:55 +0000
commit36e5f4d4f34dc06bddd1b8047727a1aa9db61a21 (patch)
tree378ee77d0f35d2225d73966c1efb7900a21fac72
parent806dd0472f56fd8fc410f106660b1ad2c7505bd7 (diff)
downloadgcc-36e5f4d4f34dc06bddd1b8047727a1aa9db61a21.zip
gcc-36e5f4d4f34dc06bddd1b8047727a1aa9db61a21.tar.gz
gcc-36e5f4d4f34dc06bddd1b8047727a1aa9db61a21.tar.bz2
Update the libgcc support for VxWorks AE/653
2019-11-12 Olivier Hainque <hainque@adacore.com> libgcc/ * config/t-gthr-vxworksae: New file, add all the gthr-vxworks sources except the cxx0x support to LIB2ADDEH. We don't support cxx0x on AE/653. * config/t-vxworksae: New file. * config.host: Handle *-*-vxworksae: Add the two aforementioned Makefile fragment files at their expected position in the tmake_file list, in accordance with what is done for other VxWorks variants. From-SVN: r278250
-rw-r--r--libgcc/ChangeLog10
-rw-r--r--libgcc/config.host6
-rw-r--r--libgcc/config/t-gthr-vxworksae7
-rw-r--r--libgcc/config/t-vxworksae17
4 files changed, 40 insertions, 0 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog
index 21efeb5..ccd72ea 100644
--- a/libgcc/ChangeLog
+++ b/libgcc/ChangeLog
@@ -1,3 +1,13 @@
+2019-11-12 Olivier Hainque <hainque@adacore.com>
+
+ * config/t-gthr-vxworksae: New file, add all the gthr-vxworks
+ sources except the cxx0x support to LIB2ADDEH. We don't support
+ cxx0x on AE/653.
+ * config/t-vxworksae: New file.
+ * config.host: Handle *-*-vxworksae: Add the two aforementioned
+ Makefile fragment files at their expected position in the tmake_file
+ list, in accordance with what is done for other VxWorks variants.
+
2019-11-12 Corentin Gay <gay@adacore.com>
Jerome Lambourg <lambourg@adacore.com>
Olivier Hainque <hainque@adacore.com>
diff --git a/libgcc/config.host b/libgcc/config.host
index 8a090bd..4950303 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -321,6 +321,9 @@ case ${host} in
*-*-vxworks7*)
tmake_file=t-vxworks7
;;
+*-*-vxworksae*)
+ tmake_file=t-vxworksae
+ ;;
*-*-vxworks*)
tmake_file=t-vxworks
;;
@@ -1520,6 +1523,9 @@ esac
case ${target_thread_file} in
vxworks)
case ${host} in
+ *-*-vxworksae)
+ tmake_file="${tmake_file} t-gthr-vxworksae"
+ ;;
*-*-vxworks*)
tmake_file="${tmake_file} t-gthr-vxworks"
;;
diff --git a/libgcc/config/t-gthr-vxworksae b/libgcc/config/t-gthr-vxworksae
new file mode 100644
index 0000000..1471298
--- /dev/null
+++ b/libgcc/config/t-gthr-vxworksae
@@ -0,0 +1,7 @@
+# Extra libgcc2 modules used by gthr-vxworks.h functions. We don't
+# support the C++ threads on vx653.
+
+LIB2ADDEH += $(srcdir)/config/gthr-vxworks.c\
+ $(srcdir)/config/gthr-vxworks-cond.c\
+ $(srcdir)/config/gthr-vxworks-tls.c
+
diff --git a/libgcc/config/t-vxworksae b/libgcc/config/t-vxworksae
new file mode 100644
index 0000000..f5003ab
--- /dev/null
+++ b/libgcc/config/t-vxworksae
@@ -0,0 +1,17 @@
+# Don't build libgcc.a with debug info
+LIBGCC2_DEBUG_CFLAGS =
+
+# We do not have access to the cache library when building a vThreads
+# application.
+
+# 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. Make sure the local libgcc headers still
+# prevail (e.g. unwind.h), and that gcc provided header files intended
+# to be user visible eventually are visible as well.
+LIBGCC2_INCLUDES = -nostdinc -I. \
+ -I$(MULTIBUILDTOP)../../gcc/include \
+ `case "/$(MULTIDIR)" in \
+ */mvthreads*) echo -I$(WIND_BASE)/target/vThreads/h -I$(WIND_BASE)/target/val/h -I$(WIND_BASE)/target/h/wrn/coreip ;; \
+ *) echo -I$(WIND_BASE)/target/h -I$(WIND_BASE)/target/h/wrn/coreip ;; \
+ esac`