[PATCH] D15387: [compiler-rt] [msan] Variadic support for AArch64
Adhemerval Zanella via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 9 10:54:46 PST 2015
zatrazz created this revision.
zatrazz added reviewers: pcc, rengolin, kcc, eugenis, samsonov.
zatrazz added a subscriber: llvm-commits.
Herald added subscribers: rengolin, aemerson.
Now with variadic support for msan on aarch6 there is no need for
XFAIL signal_stress_test anymore. Also to garantee aligned stores
for the FP/SIMD arguments enforce the '__msan_va_arg_tls' alignment
to sizeof the SIMD register (16).
This patch relies on llvm patch http://reviews.llvm.org/D15386
http://reviews.llvm.org/D15387
Files:
lib/msan/msan.cc
test/msan/signal_stress_test.cc
Index: test/msan/signal_stress_test.cc
===================================================================
--- test/msan/signal_stress_test.cc
+++ test/msan/signal_stress_test.cc
@@ -1,8 +1,5 @@
// RUN: %clangxx_msan -std=c++11 -O0 %s -o %t && %run %t
//
-// AArch64 lacks var args instrumentation.
-// XFAIL: aarch64
-
// Test that va_arg shadow from a signal handler does not leak outside.
#include <signal.h>
Index: lib/msan/msan.cc
===================================================================
--- lib/msan/msan.cc
+++ lib/msan/msan.cc
@@ -55,7 +55,7 @@
THREADLOCAL u32 __msan_retval_origin_tls;
SANITIZER_INTERFACE_ATTRIBUTE
-THREADLOCAL u64 __msan_va_arg_tls[kMsanParamTlsSize / sizeof(u64)];
+ALIGNED(16) THREADLOCAL u64 __msan_va_arg_tls[kMsanParamTlsSize / sizeof(u64)];
SANITIZER_INTERFACE_ATTRIBUTE
THREADLOCAL u64 __msan_va_arg_overflow_size_tls;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15387.42320.patch
Type: text/x-patch
Size: 879 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151209/7ad0dbb6/attachment.bin>
More information about the llvm-commits
mailing list