summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
diff options
context:
space:
mode:
authorEtienne Bergeron <etienneb@google.com>2016-09-21 16:32:14 +0000
committerEtienne Bergeron <etienneb@google.com>2016-09-21 16:32:14 +0000
commitd34ee76993e0a38de4a178e8ce9587367a9114c0 (patch)
treee479fc20e7489db760158004edcaba35e8963235 /llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
parent160fbc3f9544d8223733fa05f23a64558099ffdf (diff)
downloadbcm5719-llvm-d34ee76993e0a38de4a178e8ce9587367a9114c0.tar.gz
bcm5719-llvm-d34ee76993e0a38de4a178e8ce9587367a9114c0.zip
[compiler-rt] Fix Asan build on Android
Summary: The dynamic shadow code is not detected correctly on Android. The android shadow seems to start at address zero. The bug is introduced here: https://reviews.llvm.org/D23363 Started here: https://build.chromium.org/p/chromium.fyi/builders/ClangToTAndroidASan/builds/4029 Likely due to an asan runtime change, filed https://llvm.org/bugs/show_bug.cgi?id=30462 From asan_mapping.h: ``` #if SANITIZER_WORDSIZE == 32 # if SANITIZER_ANDROID # define SHADOW_OFFSET (0) <<---- HERE # elif defined(__mips__) ``` Shadow address on android is 0. From asan_rtl.c: ``` if (shadow_start == 0) { [...] shadow_start = FindAvailableMemoryRange(space_size, alignment, granularity); } ``` We assumed that 0 is dynamic address. On windows, the address was determined with: ``` # elif SANITIZER_WINDOWS64 # define SHADOW_OFFSET __asan_shadow_memory_dynamic_address # else ``` and __asan_shadow_memory_dynamic_address is initially zero. Reviewers: rnk, eugenis, vitalybuka Subscribers: kcc, tberghammer, danalbert, kubabrecka, dberris, llvm-commits, chrisha Differential Revision: https://reviews.llvm.org/D24768 llvm-svn: 282085
Diffstat (limited to 'llvm/lib/Transforms/Vectorize/LoopVectorize.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud