aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface
diff options
context:
space:
mode:
authorJose Ruiz <ruiz@adacore.com>2008-08-05 11:27:49 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2008-08-05 11:27:49 +0200
commit37efd88e58c08ed72d6dc3fa4c2e4eff1ff04b6f (patch)
tree81bb965c6ca4189ce06b8011f1ff175bd802e906 /gcc/ada/gcc-interface
parent0df218a9a7fd4756b2ac9f49f27740cf4c92894d (diff)
downloadgcc-37efd88e58c08ed72d6dc3fa4c2e4eff1ff04b6f.zip
gcc-37efd88e58c08ed72d6dc3fa4c2e4eff1ff04b6f.tar.gz
gcc-37efd88e58c08ed72d6dc3fa4c2e4eff1ff04b6f.tar.bz2
init.c (__gnat_install_handler for linux): If we are building the Xenomai run time then we need to do two additional things...
2008-08-05 Jose Ruiz <ruiz@adacore.com> * init.c (__gnat_install_handler for linux): If we are building the Xenomai run time then we need to do two additional things: avoid memory swapping and transform the Linux environment task into a native Xenomai task. * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for xenomai run time): Use interface to Xenomai native skin and avoid linux-specific way of setting CPU affinity. (EH_MECHANISM for the xenomai run time): Use sjlj exception mechanism. From-SVN: r138684
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r--gcc/ada/gcc-interface/Makefile.in23
1 files changed, 17 insertions, 6 deletions
diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in
index ff8ebbe..058094c 100644
--- a/gcc/ada/gcc-interface/Makefile.in
+++ b/gcc/ada/gcc-interface/Makefile.in
@@ -850,13 +850,24 @@ ifeq ($(strip $(filter-out %86 linux%,$(arch) $(osys))),)
LIBGNAT_TARGET_PAIRS += \
g-soccon.ads<g-soccon-linux-x86.ads \
s-linux.ads<s-linux.ads \
- s-osinte.adb<s-osinte-posix.adb \
- s-osinte.ads<s-osinte-linux.ads \
- s-tasinf.ads<s-tasinf-linux.ads \
- s-tasinf.adb<s-tasinf-linux.adb \
- s-taprop.adb<s-taprop-linux.adb
+ s-osinte.adb<s-osinte-posix.adb
+
+ ifeq ($(strip $(filter-out xenomai,$(THREAD_KIND))),)
+ LIBGNAT_TARGET_PAIRS += \
+ s-osinte.ads<s-osinte-linux-xenomai.ads \
+ s-taprop.adb<s-taprop-linux-xenomai.adb
+
+ EH_MECHANISM=
+ else
+ LIBGNAT_TARGET_PAIRS += \
+ s-osinte.ads<s-osinte-linux.ads \
+ s-taprop.adb<s-taprop-linux.adb \
+ s-tasinf.ads<s-tasinf-linux.ads \
+ s-tasinf.adb<s-tasinf-linux.adb
+
+ EH_MECHANISM=-gcc
+ endif
- EH_MECHANISM=-gcc
THREADSLIB = -lpthread
EXTRA_GNATRTL_TASKING_OBJS=s-linux.o
endif