From cdfdff0b182a8a4a06ba99d7410f0d129b743a45 Mon Sep 17 00:00:00 2001 From: Sagar Thakur Date: Fri, 11 Nov 2016 12:05:30 +0000 Subject: [PATCH] [MSAN][MIPS] Fix test Linux/syscalls_sigaction.cc on mips64 Changed the kernel sigaction structure in test syscalls_sigaction.cc for MIPS according to the structure defined in kernel. Reviewed by eugenis. Differential: https://reviews.llvm.org/D25814 llvm-svn: 286583 --- compiler-rt/test/msan/Linux/syscalls_sigaction.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler-rt/test/msan/Linux/syscalls_sigaction.cc b/compiler-rt/test/msan/Linux/syscalls_sigaction.cc index 1297fae..975ca2b 100644 --- a/compiler-rt/test/msan/Linux/syscalls_sigaction.cc +++ b/compiler-rt/test/msan/Linux/syscalls_sigaction.cc @@ -11,7 +11,11 @@ #include 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 } -- 2.7.4