summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbluhm <>2017-07-27 12:31:09 +0000
committerbluhm <>2017-07-27 12:31:09 +0000
commit75268dd07edc0bae138d0f843c90e6c9cd700683 (patch)
tree6da1fa62c7ae4dd9e8e5551a4a5f52b3b687310d
parentaa578f42d5d2cf3acbcb6ae5db1801925c1146be (diff)
downloadopenbsd-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.c4
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);