diff options
author | Andrew Haley <aph@redhat.com> | 2003-06-03 16:13:22 +0000 |
---|---|---|
committer | Andrew Haley <aph@gcc.gnu.org> | 2003-06-03 16:13:22 +0000 |
commit | 9f470313378357db186ea51df1a696ee484d4465 (patch) | |
tree | 8e507c8788c16f77b2599f76c0abb6adfd9a6ed2 /libjava/include | |
parent | b09d2739b045f370b820cd2b6964043f7d9ab318 (diff) | |
download | gcc-9f470313378357db186ea51df1a696ee484d4465.zip gcc-9f470313378357db186ea51df1a696ee484d4465.tar.gz gcc-9f470313378357db186ea51df1a696ee484d4465.tar.bz2 |
x86_64-signal.h (MAKE_THROW_FRAME): Mark sigcontext on stack volatile to prevent optimization from removing it.
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.
From-SVN: r67379
Diffstat (limited to 'libjava/include')
-rw-r--r-- | libjava/include/x86_64-signal.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libjava/include/x86_64-signal.h b/libjava/include/x86_64-signal.h index b5bb823..54095a9 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) |