[compiler-rt] r255496 - [compiler-rt] [msan] Variadic support for AArch64

Adhemerval Zanella via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 14 06:15:33 PST 2015


Author: azanella
Date: Mon Dec 14 08:15:32 2015
New Revision: 255496

URL: http://llvm.org/viewvc/llvm-project?rev=255496&view=rev
Log:
[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).

Modified:
    compiler-rt/trunk/lib/msan/msan.cc
    compiler-rt/trunk/test/msan/signal_stress_test.cc

Modified: compiler-rt/trunk/lib/msan/msan.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/msan/msan.cc?rev=255496&r1=255495&r2=255496&view=diff
==============================================================================
--- compiler-rt/trunk/lib/msan/msan.cc (original)
+++ compiler-rt/trunk/lib/msan/msan.cc Mon Dec 14 08:15:32 2015
@@ -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;

Modified: compiler-rt/trunk/test/msan/signal_stress_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/msan/signal_stress_test.cc?rev=255496&r1=255495&r2=255496&view=diff
==============================================================================
--- compiler-rt/trunk/test/msan/signal_stress_test.cc (original)
+++ compiler-rt/trunk/test/msan/signal_stress_test.cc Mon Dec 14 08:15:32 2015
@@ -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>




More information about the llvm-commits mailing list