Update the libgcc support for VxWorks AE/653
authorOlivier Hainque <hainque@adacore.com>
Thu, 14 Nov 2019 16:00:55 +0000 (16:00 +0000)
committerOlivier Hainque <hainque@gcc.gnu.org>
Thu, 14 Nov 2019 16:00:55 +0000 (16:00 +0000)
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

libgcc/ChangeLog
libgcc/config.host
libgcc/config/t-gthr-vxworksae [new file with mode: 0644]
libgcc/config/t-vxworksae [new file with mode: 0644]

index 21efeb53dbe7bba36215f7a9261c18160e46c820..ccd72ea417dd156e453a9a372687d8796a4d478c 100644 (file)
@@ -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>
index 8a090bdb54a8f7be253d53e7af8e1419b2582206..4950303044653ddd5a42cc6e235cd4451493c393 100644 (file)
@@ -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 (file)
index 0000000..1471298
--- /dev/null
@@ -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 (file)
index 0000000..f5003ab
--- /dev/null
@@ -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`