This is an archive of the discontinued LLVM Phabricator instance.

[compiler-rt] [TSan] Enable TSan for AArch64/42-bit VMA
ClosedPublic

Authored by zatrazz on Aug 26 2015, 6:16 PM.

Details

Summary

This patch adds support for tsan on aarch64-linux with 42-bit VMA
(current default config for 64K pagesize kernels). The support is
enabled by defining the SANITIZER_AARCH64_VMA to 42 at build time
for both clang/llvm and compiler-rt. The default VMA is 39 bits.

The ignore_lib{0,1,3}.cc is now disable for aarch64 (although for newer
kernels they do pass) until the all the buildbots have the fix.

Diff Detail

Event Timeline

zatrazz updated this revision to Diff 33293.Aug 26 2015, 6:16 PM
zatrazz retitled this revision from to [compiler-rt] [TSan] Enable TSan for AArch64/42-bit VMA.
zatrazz updated this object.
zatrazz added reviewers: kcc, eugenis, pcc, dvyukov, rengolin.
zatrazz added a subscriber: llvm-commits.
dvyukov accepted this revision.Aug 27 2015, 1:01 AM
dvyukov edited edge metadata.

LGTM when you fix nits in the test

test/tsan/test.h
46

s/require/requires/

48

s/NULL/0/ for consistency with the rest of tsan code

53

in the comment you say 39, 42 and 48, but here you handle only 39 and 42
do

else {
  fprintf(stderr, "unsupported vma: %ul\n", vma);
  exit(1);
}

better than crash with format==0

This revision is now accepted and ready to land.Aug 27 2015, 1:01 AM
zatrazz added inline comments.Aug 27 2015, 7:04 AM
test/tsan/test.h
46

I will fix it.

48

I will change it.

53

I only handle 39 and 42 because 48 I not really yet supported. I will add this crash check. Thanks for the review.

zatrazz closed this revision.Aug 30 2015, 3:12 PM