[compiler-rt] r301048 - [lsan] Enable LSan on PowerPC64.

Bill Seurer via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 09:05:02 PDT 2017


This is causing several test case failures on ppc64le:

http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/5614

On 04/21/2017 04:59 PM, Alex Shlyapnikov via llvm-commits wrote:
> Author: alekseyshl
> Date: Fri Apr 21 16:59:53 2017
> New Revision: 301048
>
> URL: http://llvm.org/viewvc/llvm-project?rev=301048&view=rev
> Log:
> [lsan] Enable LSan on PowerPC64.
>
> Summary: Re-landing reverted D31995 with suppressions defined in D32303 and D32377.
>
> Reviewers: eugenis
>
> Subscribers: nemanjai, llvm-commits
>
> Differential Revision: https://reviews.llvm.org/D32379
>
> Modified:
>     compiler-rt/trunk/lib/lsan/lsan_allocator.h
>     compiler-rt/trunk/lib/lsan/lsan_common.h
>     compiler-rt/trunk/test/lsan/lit.common.cfg
>
> Modified: compiler-rt/trunk/lib/lsan/lsan_allocator.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.h?rev=301048&r1=301047&r2=301048&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/lsan/lsan_allocator.h (original)
> +++ compiler-rt/trunk/lib/lsan/lsan_allocator.h Fri Apr 21 16:59:53 2017
> @@ -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.
>
> Modified: compiler-rt/trunk/lib/lsan/lsan_common.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common.h?rev=301048&r1=301047&r2=301048&view=diff
> ==============================================================================
> --- compiler-rt/trunk/lib/lsan/lsan_common.h (original)
> +++ compiler-rt/trunk/lib/lsan/lsan_common.h Fri Apr 21 16:59:53 2017
> @@ -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)
>
> Modified: compiler-rt/trunk/test/lsan/lit.common.cfg
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/lit.common.cfg?rev=301048&r1=301047&r2=301048&view=diff
> ==============================================================================
> --- compiler-rt/trunk/test/lsan/lit.common.cfg (original)
> +++ compiler-rt/trunk/test/lsan/lit.common.cfg Fri Apr 21 16:59:53 2017
> @@ -67,8 +67,9 @@ config.substitutions.append( ("%clangxx
>  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, and mips64 Linux only.
> -if config.host_os not in ['Linux'] or config.host_arch not in ['x86_64', 'mips64', 'arm', 'armhf', 'armv7l']:
> +# LeakSanitizer tests are currently supported on x86-64 Linux, PowerPC64 Linux, arm Linux, and mips64 Linux only.
> +supported_linux = config.host_os is 'Linux' and config.host_arch in ['x86_64', 'ppc64', 'mips64', 'arm', 'armhf', 'armv7l']
> +if not (supported_linux):
>    config.unsupported = True
>
>  # Don't support Thumb due to broken fast unwinder
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>


-- 

-Bill Seurer



More information about the llvm-commits mailing list