summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2015-12-14 14:15:32 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2015-12-14 14:15:32 +0000
commit0d61b4a28f92af86860ffc90108ca2e910c19747 (patch)
tree5ac4365d397e9d823e41e329b541abff070a8918
parent6bac904e43a6cfb4c06d7c9cacd32dd6e77a0383 (diff)
[compiler-rt] [msan] Variadic support for AArch64
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). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255496 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/msan/msan.cc2
-rw-r--r--test/msan/signal_stress_test.cc3
2 files changed, 1 insertions, 4 deletions
diff --git a/lib/msan/msan.cc b/lib/msan/msan.cc
index b64dcb6ff..9949db4c1 100644
--- a/lib/msan/msan.cc
+++ b/lib/msan/msan.cc
@@ -55,7 +55,7 @@ SANITIZER_INTERFACE_ATTRIBUTE
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;
diff --git a/test/msan/signal_stress_test.cc b/test/msan/signal_stress_test.cc
index d25bf820f..5bc6f5921 100644
--- a/test/msan/signal_stress_test.cc
+++ b/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>