Fixup for r173021: build tests with zero-based shadow on Android only, fix condition in checking for shadow gap in asan_mapping.h
llvm-svn: 173026
This commit is contained in:
parent
5e7936f646
commit
362286f34c
|
@ -113,7 +113,7 @@ static inline bool AddrIsInShadow(uptr a) {
|
|||
static inline bool AddrIsInShadowGap(uptr a) {
|
||||
// In zero-based shadow mode we treat addresses near zero as addresses
|
||||
// in shadow gap as well.
|
||||
if (ASAN_FLEXIBLE_MAPPING_AND_OFFSET)
|
||||
if (SHADOW_OFFSET == 0)
|
||||
return a <= kShadowGapEnd;
|
||||
return a >= kShadowGapBeg && a <= kShadowGapEnd;
|
||||
}
|
||||
|
|
|
@ -15,8 +15,8 @@ include(CompilerRTCompile)
|
|||
include_directories(..)
|
||||
include_directories(../..)
|
||||
|
||||
# Use zero-based shadow on Linux and Android.
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
|
||||
# Use zero-based shadow on Android.
|
||||
if(ANDROID)
|
||||
set(ASAN_TESTS_USE_ZERO_BASE_SHADOW TRUE)
|
||||
else()
|
||||
set(ASAN_TESTS_USE_ZERO_BASE_SHADOW FALSE)
|
||||
|
|
|
@ -330,8 +330,8 @@ TEST(AddressSanitizer, MemsetWildAddressTest) {
|
|||
// Prevent inlining of memset().
|
||||
volatile memset_p libc_memset = (memset_p)memset;
|
||||
EXPECT_DEATH(libc_memset((void*)(kLowShadowBeg + 200), 0, 100),
|
||||
ASAN_FLEXIBLE_MAPPING_AND_OFFSET ? "unknown-crash.*shadow gap"
|
||||
: "unknown-crash.*low shadow");
|
||||
(kLowShadowEnd == 0) ? "unknown-crash.*shadow gap"
|
||||
: "unknown-crash.*low shadow");
|
||||
EXPECT_DEATH(libc_memset((void*)(kShadowGapBeg + 200), 0, 100),
|
||||
"unknown-crash.*shadow gap");
|
||||
EXPECT_DEATH(libc_memset((void*)(kHighShadowBeg + 200), 0, 100),
|
||||
|
|
Loading…
Reference in New Issue