init.c: Use the Linux-specific section for the IA-64/Linux target.
authorEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 8 Nov 2005 23:00:40 +0000 (23:00 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 8 Nov 2005 23:00:40 +0000 (23:00 +0000)
* 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

gcc/ada/ChangeLog
gcc/ada/init.c

index 3239df20cd4898fe7e9ceb79d1178f2d2410bbbb..46ab2ccaf32338378b26d5f91ab53789898d1ea5 100644 (file)
@@ -1,8 +1,14 @@
+2005-11-08  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * 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.
+
 2005-11-03  James E Wilson  <wilson@specifix.com>
 
        PR ada/23427
-        * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
-        TREE_OVERFLOW check.
+       * trans.c (gnat_to_gnu): Use TYPE_SIZE_UNIT not TYPE_SIZE in
+       TREE_OVERFLOW check.
 
 2005-09-21  Olivier Hainque  <hainque@adacore.com>
 
index 8e2a222bf992078fb9ffd37762c58e26f1ecbbdc..a5018d4f4e0f73bda49ffe7e5413696fb84c6a54 100644 (file)
@@ -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
 }