[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