aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2013-02-06 11:19:08 +0000
committerArnaud Charlet <charlet@adacore.com>2013-02-06 11:19:08 +0000
commitfd067cab6e3f5ef94334b69b17948c130254099d (patch)
tree2710f9b5ddcc62b7b310a5404fe1c6388981ea61 /gcc/ada
parentf1b571f37c0f9f894c1559430ae913bdc65f8b7f (diff)
2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
* gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations target pairs on VxWorks 5 only. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@195802 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/Makefile.in15
2 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index b1a22da8d96..df9cde1db34 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,8 @@
+2013-02-06 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gcc-interface/Make-lang.in: Enable System.Stack_Checking.Operations
+ target pairs on VxWorks 5 only.
+
2013-02-06 Arnaud Charlet <charlet@adacore.com>
* gcc-interface/Make-lang.in: Update dependencies.
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index a9548bffb60..0ddde729425 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -515,8 +515,6 @@ ifeq ($(strip $(filter-out e500% powerpc% wrs vxworks,$(targ))),)
s-osprim.adb<s-osprim-vxworks.adb \
s-parame.ads<s-parame-vxworks.ads \
s-parame.adb<s-parame-vxworks.adb \
- s-stchop.ads<s-stchop-limit.ads \
- s-stchop.adb<s-stchop-vxworks.adb \
s-taprop.adb<s-taprop-vxworks.adb \
s-tasinf.ads<s-tasinf-vxworks.ads \
s-taspri.ads<s-taspri-vxworks.ads \
@@ -527,6 +525,19 @@ ifeq ($(strip $(filter-out e500% powerpc% wrs vxworks,$(targ))),)
$(ATOMICS_TARGET_PAIRS) \
$(ATOMICS_BUILTINS_TARGET_PAIRS)
+ # VxWorks 5 and 6 both use the same target triplet making them
+ # indistinguishable in the context of this make file. Package
+ # System.Stack_Checking.Operations is not needed on VxWorks 6 as it leads to
+ # an undefined symbol when building a dynamic shared library. To alleviate
+ # this problem and distinguish this case, we use the THREAD_KIND and include
+ # the package only in kernel mode.
+
+ ifeq ($(strip $(filter-out default,$(THREAD_KIND))),)
+ LIBGNAT_TARGET_PAIRS += \
+ s-stchop.ads<s-stchop-limit.ads \
+ s-stchop.adb<s-stchop-vxworks.adb
+ endif
+
TOOLS_TARGET_PAIRS=\
mlib-tgt-specific.adb<mlib-tgt-specific-vxworks.adb \
indepsw.adb<indepsw-gnu.adb