diff --git a/lib/Transforms/Instrumentation/AddressSanitizer.cpp b/lib/Transforms/Instrumentation/AddressSanitizer.cpp index a98439b6b39..52b2290a938 100644 --- a/lib/Transforms/Instrumentation/AddressSanitizer.cpp +++ b/lib/Transforms/Instrumentation/AddressSanitizer.cpp @@ -337,10 +337,12 @@ static ShadowMapping getShadowMapping(Triple &TargetTriple, int LongSize, ShadowMapping Mapping; - if (LongSize == 32) { - if (IsAndroid) - Mapping.Offset = 0; - else if (IsMIPS32) + if (IsAndroid) { + // Android is always PIE, which means that the beginning of the address + // space is always available. + Mapping.Offset = 0; + } else if (LongSize == 32) { + if (IsMIPS32) Mapping.Offset = kMIPS32_ShadowOffset32; else if (IsFreeBSD) Mapping.Offset = kFreeBSD_ShadowOffset32;