aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/init.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@gcc.gnu.org>2005-11-08 23:00:40 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2005-11-08 23:00:40 +0000
commit13bb031a244a3c29916b360880915f4ad4c6e1d4 (patch)
tree3e156bc33704c61ef31d340d282735e513d215f3 /gcc/ada/init.c
parent246b053811f4b2fc3187f593fc12b47187f2bad9 (diff)
downloadgcc-13bb031a244a3c29916b360880915f4ad4c6e1d4.zip
gcc-13bb031a244a3c29916b360880915f4ad4c6e1d4.tar.gz
gcc-13bb031a244a3c29916b360880915f4ad4c6e1d4.tar.bz2
init.c: Use the Linux-specific section for the IA-64/Linux target.
* init.c: Use the Linux-specific section for the IA-64/Linux target. (__gnat_adjust_context_for_raise): Add conditional code so that the IA-64 is also supported. From-SVN: r106664
Diffstat (limited to 'gcc/ada/init.c')
-rw-r--r--gcc/ada/init.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ada/init.c b/gcc/ada/init.c
index 8e2a222..a5018d4 100644
--- a/gcc/ada/init.c
+++ b/gcc/ada/init.c
@@ -39,9 +39,9 @@
installed by this file are used to handle resulting signals that come
from these probes failing (i.e. touching protected pages) */
-/* This file should be kept synchronized with 2sinit.ads, 2sinit.adb, and
- 5zinit.adb. All these files implement the required functionality for
- different targets. */
+/* This file should be kept synchronized with 2sinit.ads, 2sinit.adb,
+ s-init-ae653-cert.adb and s-init-xi-sparc.adb. All these files implement
+ the required functionality for different targets. */
/* The following include is here to meet the published VxWorks requirement
that the __vxworks header appear before any other include. */
@@ -630,7 +630,8 @@ __gnat_install_handler (void)
/* GNU/Linux Section */
/*********************/
-#elif defined (linux) && (defined (i386) || defined (__x86_64__))
+#elif defined (linux) && (defined (i386) || defined (__x86_64__) \
+ || defined (__ia64__))
#include <signal.h>
@@ -660,6 +661,8 @@ __gnat_adjust_context_for_raise (int signo ATTRIBUTE_UNUSED, void *ucontext)
mcontext->gregs[REG_EIP]++;
#elif defined (__x86_64__)
mcontext->gregs[REG_RIP]++;
+#elif defined (__ia64__)
+ mcontext->sc_ip++;
#endif
}