aboutsummaryrefslogtreecommitdiff
path: root/test/msan/Linux/syscalls_sigaction.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/msan/Linux/syscalls_sigaction.cc')
-rw-r--r--test/msan/Linux/syscalls_sigaction.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/test/msan/Linux/syscalls_sigaction.cc b/test/msan/Linux/syscalls_sigaction.cc
index 1297fae13d12..975ca2ba6877 100644
--- a/test/msan/Linux/syscalls_sigaction.cc
+++ b/test/msan/Linux/syscalls_sigaction.cc
@@ -11,7 +11,11 @@
#include <sanitizer/msan_interface.h>
struct my_kernel_sigaction {
+#if defined(__mips__)
+ long flags, handler;
+#else
long handler, flags, restorer;
+#endif
uint64_t mask[20]; // larger than any known platform
};
@@ -35,6 +39,10 @@ int main() {
memset(&act, 0, sizeof(act));
__msan_poison(&oldact, sizeof(oldact));
__sanitizer_syscall_post_rt_sigaction(0, SIGUSR1, &act, &oldact, 5);
+#if defined(__mips__)
+ assert(__msan_test_shadow(&oldact, sizeof(oldact)) == sizeof(long)*2 + 5);
+#else
assert(__msan_test_shadow(&oldact, sizeof(oldact)) == sizeof(long)*3 + 5);
#endif
+#endif
}