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:
Alexey Samsonov 2013-01-21 11:36:38 +00:00
parent 5e7936f646
commit 362286f34c
3 changed files with 5 additions and 5 deletions

View File

@ -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;
}

View File

@ -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)

View File

@ -330,7 +330,7 @@ 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"
(kLowShadowEnd == 0) ? "unknown-crash.*shadow gap"
: "unknown-crash.*low shadow");
EXPECT_DEATH(libc_memset((void*)(kShadowGapBeg + 200), 0, 100),
"unknown-crash.*shadow gap");