diff options
author | bluhm <> | 2017-07-27 12:31:09 +0000 |
---|---|---|
committer | bluhm <> | 2017-07-27 12:31:09 +0000 |
commit | 75268dd07edc0bae138d0f843c90e6c9cd700683 (patch) | |
tree | 6da1fa62c7ae4dd9e8e5551a4a5f52b3b687310d | |
parent | aa578f42d5d2cf3acbcb6ae5db1801925c1146be (diff) | |
download | openbsd-75268dd07edc0bae138d0f843c90e6c9cd700683.tar.gz openbsd-75268dd07edc0bae138d0f843c90e6c9cd700683.tar.bz2 openbsd-75268dd07edc0bae138d0f843c90e6c9cd700683.zip |
Mark the invalid memory location as volatile, otherwise clang would
optimize the access to it with an illegal instruction. But the
tests needs a SIGSEGV, it would fail with SIGILL.
-rw-r--r-- | src/regress/lib/libc/setjmp-signal/setjmp-signal.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/regress/lib/libc/setjmp-signal/setjmp-signal.c b/src/regress/lib/libc/setjmp-signal/setjmp-signal.c index 310e4052ef..b50f6b27c5 100644 --- a/src/regress/lib/libc/setjmp-signal/setjmp-signal.c +++ b/src/regress/lib/libc/setjmp-signal/setjmp-signal.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: setjmp-signal.c,v 1.3 2003/01/03 20:46:05 miod Exp $ */ | 1 | /* $OpenBSD: setjmp-signal.c,v 1.4 2017/07/27 12:31:09 bluhm Exp $ */ |
2 | /* | 2 | /* |
3 | * Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain. | 3 | * Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain. |
4 | */ | 4 | */ |
@@ -19,7 +19,7 @@ main() | |||
19 | { | 19 | { |
20 | signal(SIGSEGV, segv_handler); | 20 | signal(SIGSEGV, segv_handler); |
21 | if (setjmp(jb) == 0) { | 21 | if (setjmp(jb) == 0) { |
22 | *((int *)0L) = 0; | 22 | *((volatile int *)0L) = 0; |
23 | return (1); | 23 | return (1); |
24 | } | 24 | } |
25 | return (0); | 25 | return (0); |