This patch is adding support for dynamic shadow allocation.
This is a merge and re-commit of the following patches.
[compiler-rt] Fix Asan build on Android https://reviews.llvm.org/D24768 [compiler-rt] Add support for the dynamic shadow allocation https://reviews.llvm.org/D23363
This patch needed to re-land at the same time:
[asan] Support dynamic shadow address instrumentation https://reviews.llvm.org/D23354
I think UNREACHABLE("...") is preferred
Also, this API is not really implementable on Posix. You can parse /proc/self/maps on Linux and some BSDs, which doesn't even work if you don't have access to /proc. I think at some point we'll want to come back and redesign the abstractions we're using for virtual memory allocation, but today is not that day. We already discussed how the other APIs are way too Posix-y.