diff options
author | Alex Shlyapnikov <alekseys@google.com> | 2017-04-20 21:56:36 +0000 |
---|---|---|
committer | Alex Shlyapnikov <alekseys@google.com> | 2017-04-20 21:56:36 +0000 |
commit | 906ffb7b8f8e5cb767a4083a44f69684bb42f3ae (patch) | |
tree | 5fd5d1351cc3c85973c26d89aba6e4028f7037fa /compiler-rt | |
parent | f77bb46dc09b97d475b0f6b725ad4fe76ff25326 (diff) | |
download | bcm5719-llvm-906ffb7b8f8e5cb767a4083a44f69684bb42f3ae.tar.gz bcm5719-llvm-906ffb7b8f8e5cb767a4083a44f69684bb42f3ae.zip |
Enable LSan on PowerPC64.
Summary: Re-landing reverted D31995 with suppressions defined in D32303.
Reviewers: eugenis
Subscribers: nemanjai, llvm-commits
Differential Revision: https://reviews.llvm.org/D32314
llvm-svn: 300903
Diffstat (limited to 'compiler-rt')
-rw-r--r-- | compiler-rt/lib/lsan/lsan_allocator.h | 2 | ||||
-rw-r--r-- | compiler-rt/lib/lsan/lsan_common.h | 3 | ||||
-rw-r--r-- | compiler-rt/test/lsan/lit.common.cfg | 4 |
3 files changed, 5 insertions, 4 deletions
diff --git a/compiler-rt/lib/lsan/lsan_allocator.h b/compiler-rt/lib/lsan/lsan_allocator.h index e5def17d4ee..fad5adb01a7 100644 --- a/compiler-rt/lib/lsan/lsan_allocator.h +++ b/compiler-rt/lib/lsan/lsan_allocator.h @@ -59,7 +59,7 @@ typedef CompactSizeClassMap SizeClassMap; typedef SizeClassAllocator32<0, SANITIZER_MMAP_RANGE_SIZE, sizeof(ChunkMetadata), SizeClassMap, kRegionSizeLog, ByteMap> PrimaryAllocator; -#elif defined(__x86_64__) +#elif defined(__x86_64__) || defined(__powerpc64__) struct AP64 { // Allocator64 parameters. Deliberately using a short name. static const uptr kSpaceBeg = 0x600000000000ULL; static const uptr kSpaceSize = 0x40000000000ULL; // 4T. diff --git a/compiler-rt/lib/lsan/lsan_common.h b/compiler-rt/lib/lsan/lsan_common.h index 121b9c08298..beb31d6f40e 100644 --- a/compiler-rt/lib/lsan/lsan_common.h +++ b/compiler-rt/lib/lsan/lsan_common.h @@ -32,7 +32,8 @@ // new architecture inside sanitizer library. #if (SANITIZER_LINUX && !SANITIZER_ANDROID || SANITIZER_MAC) && \ (SANITIZER_WORDSIZE == 64) && \ - (defined(__x86_64__) || defined(__mips64) || defined(__aarch64__)) + (defined(__x86_64__) || defined(__mips64) || defined(__aarch64__) || \ + defined(__powerpc64__)) #define CAN_SANITIZE_LEAKS 1 #elif defined(__i386__) && \ (SANITIZER_LINUX && !SANITIZER_ANDROID || SANITIZER_MAC) diff --git a/compiler-rt/test/lsan/lit.common.cfg b/compiler-rt/test/lsan/lit.common.cfg index f484f9339cd..216559eb312 100644 --- a/compiler-rt/test/lsan/lit.common.cfg +++ b/compiler-rt/test/lsan/lit.common.cfg @@ -67,8 +67,8 @@ config.substitutions.append( ("%clangxx ", build_invocation(clang_cxxflags)) ) config.substitutions.append( ("%clang_lsan ", build_invocation(clang_lsan_cflags)) ) config.substitutions.append( ("%clangxx_lsan ", build_invocation(clang_lsan_cxxflags)) ) -# LeakSanitizer tests are currently supported on x86-64 Linux, arm Linux, mips64 Linux, and x86_64 Darwin -supported_linux = config.host_os in ['Linux'] and config.host_arch in ['x86_64', 'mips64', 'arm', 'armhf', 'armv7l'] +# LeakSanitizer tests are currently supported on x86-64 Linux, PowerPC64 Linux, arm Linux, mips64 Linux, and x86_64 Darwin +supported_linux = config.host_os in ['Linux'] and config.host_arch in ['x86_64', 'ppc64', 'mips64', 'arm', 'armhf', 'armv7l'] supported_darwin = config.host_os is 'Darwin' and config.target_arch is 'x86_64' if not (supported_linux or supported_darwin): config.unsupported = True |