[ASan] Use dynamic shadow on 32-bit iOS and simulators
authorJulian Lettner <jlettner@apple.com>
Fri, 21 Jun 2019 21:01:39 +0000 (21:01 +0000)
committerJulian Lettner <jlettner@apple.com>
Fri, 21 Jun 2019 21:01:39 +0000 (21:01 +0000)
commit19c4d660f45dca3fc2b2ec5e038e09d1e4a7e322
treebb848fc81fe72a079edfb3926ee6767155ad3865
parent67d1f8ae6d94732419a636f3b2f207ed2a710ce5
[ASan] Use dynamic shadow on 32-bit iOS and simulators

The VM layout on iOS is not stable between releases. On 64-bit iOS and
its derivatives we use a dynamic shadow offset that enables ASan to
search for a valid location for the shadow heap on process launch rather
than hardcode it.

This commit extends that approach for 32-bit iOS plus derivatives and
their simulators.

rdar://50645192
rdar://51200372
rdar://51767702

Reviewed By: delcypher

Differential Revision: https://reviews.llvm.org/D63586

llvm-svn: 364105
compiler-rt/lib/asan/asan_mapping.h
compiler-rt/lib/sanitizer_common/sanitizer_mac.cc
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/test/Instrumentation/AddressSanitizer/dynamic-shadow-darwin.ll [new file with mode: 0644]