From: aph Date: Tue, 3 Jun 2003 16:13:22 +0000 (+0000) Subject: 2003-06-03 Andrew Haley X-Git-Url: http://git.sourceforge.jp/view?a=commitdiff_plain;h=33c3c686c76172118370066481a9809472381690;p=pf3gnuchains%2Fgcc-fork.git 2003-06-03 Andrew Haley * 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 --- diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 005410a6c9e..d5af76b7c37 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2003-06-03 Andrew Haley + + * include/x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on + stack volatile to prevent optimization from removing it. + 2003-05-27 Michael Koch * java/util/zip/Deflater.java diff --git a/libjava/include/x86_64-signal.h b/libjava/include/x86_64-signal.h index b5bb8236f10..54095a96df3 100644 --- a/libjava/include/x86_64-signal.h +++ b/libjava/include/x86_64-signal.h @@ -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)