OSDN Git Service

2003-06-03 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Jun 2003 16:13:22 +0000 (16:13 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Jun 2003 16:13:22 +0000 (16:13 +0000)
        * include/x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on
        stack volatile to prevent optimization from removing it.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67379 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/include/x86_64-signal.h

index 005410a..d5af76b 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-03  Andrew Haley  <aph@redhat.com>
+
+        * include/x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on
+        stack volatile to prevent optimization from removing it.
+
 2003-05-27  Michael Koch  <konqueror@gmx.de>
 
        * java/util/zip/Deflater.java
index b5bb823..54095a9 100644 (file)
@@ -21,7 +21,7 @@ details.  */
 #define HANDLE_SEGV 1
 
 #define SIGNAL_HANDLER(_name)  \
-static void _Jv_##_name (int, siginfo_t *_sip, void *_p)
+static void _Jv_##_name (int, siginfo_t *, void *_p)
 
 extern "C" 
 {
@@ -34,16 +34,16 @@ extern "C"
   };
 }
 
-#define MAKE_THROW_FRAME(_exception)                                   \
-do                                                                     \
-{                                                                      \
-  /* Advance the program counter so that it is after the start of the  \
-     instruction:  the x86_64 exception handler expects                        \
-     the PC to point to the instruction after a call. */               \
-  struct ucontext *_uc = (struct ucontext *)_p;                                \
-  struct sigcontext *_sc = (struct sigcontext *) &_uc->uc_mcontext;    \
-  _sc->rip += 2;                                                       \
-}                                                                      \
+#define MAKE_THROW_FRAME(_exception)                                        \
+do                                                                          \
+{                                                                           \
+  /* Advance the program counter so that it is after the start of the       \
+     instruction:  the x86_64 exception handler expects                             \
+     the PC to point to the instruction after a call. */                    \
+  struct ucontext *_uc = (struct ucontext *)_p;                                     \
+  volatile struct sigcontext *_sc = (struct sigcontext *) &_uc->uc_mcontext; \
+  _sc->rip += 2;                                                            \
+}                                                                           \
 while (0)
 
 #define RESTORE(name, syscall) RESTORE2 (name, syscall)