[compiler-rt] r249337 - [lsan] [aarch64] Add support for AArch64
Kostya Serebryany via llvm-commits
llvm-commits at lists.llvm.org
Wed Oct 7 17:22:38 PDT 2015
The bot is still red.
Shall we revert?
On Tue, Oct 6, 2015 at 2:02 PM, Evgenii Stepanov via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> This breaks the sanitizer bot:
>
> http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/20637/steps/build%20compiler-rt%20android%2Faarch64/logs/stdio
>
> On Mon, Oct 5, 2015 at 12:16 PM, Adhemerval Zanella via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
> > Author: azanella
> > Date: Mon Oct 5 14:16:09 2015
> > New Revision: 249337
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=249337&view=rev
> > Log:
> > [lsan] [aarch64] Add support for AArch64
> >
> > This patch add support for leak sanitizer for aarch64. Similar to
> > MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64
> > currently supports 39 and 42-bit VMA).
> >
> > Modified:
> > compiler-rt/trunk/cmake/config-ix.cmake
> > compiler-rt/trunk/lib/lsan/lsan_allocator.cc
> > compiler-rt/trunk/lib/lsan/lsan_common.cc
> > compiler-rt/trunk/lib/lsan/lsan_common.h
> > compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
> >
> > Modified: compiler-rt/trunk/cmake/config-ix.cmake
> > URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=249337&r1=249336&r2=249337&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/cmake/config-ix.cmake (original)
> > +++ compiler-rt/trunk/cmake/config-ix.cmake Mon Oct 5 14:16:09 2015
> > @@ -266,7 +266,7 @@ set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH
> > set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
> > ${MIPS32} ${MIPS64} ${PPC64})
> > set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
> > -set(ALL_LSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64})
> > +set(ALL_LSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
> > set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
> > set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
> ${PPC64}
> > ${MIPS32} ${MIPS64})
> >
> > Modified: compiler-rt/trunk/lib/lsan/lsan_allocator.cc
> > URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_allocator.cc?rev=249337&r1=249336&r2=249337&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/lib/lsan/lsan_allocator.cc (original)
> > +++ compiler-rt/trunk/lib/lsan/lsan_allocator.cc Mon Oct 5 14:16:09 2015
> > @@ -32,7 +32,7 @@ struct ChunkMetadata {
> > u32 stack_trace_id;
> > };
> >
> > -#if defined(__mips64)
> > +#if defined(__mips64) || defined(__aarch64__)
> > static const uptr kMaxAllowedMallocSize = 4UL << 30;
> > static const uptr kRegionSizeLog = 20;
> > static const uptr kNumRegions = SANITIZER_MMAP_RANGE_SIZE >>
> kRegionSizeLog;
> >
> > Modified: compiler-rt/trunk/lib/lsan/lsan_common.cc
> > URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/lsan/lsan_common.cc?rev=249337&r1=249336&r2=249337&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/lib/lsan/lsan_common.cc (original)
> > +++ compiler-rt/trunk/lib/lsan/lsan_common.cc Mon Oct 5 14:16:09 2015
> > @@ -119,6 +119,8 @@ static inline bool CanBeAHeapPointer(upt
> > return ((p >> 47) == 0);
> > #elif defined(__mips64)
> > return ((p >> 40) == 0);
> > +#elif defined(__aarch64__)
> > + return ((p >> SANITIZER_AARCH64_VMA) == 0);
> > #else
> > return true;
> > #endif
> >
> > 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=249337&r1=249336&r2=249337&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/lib/lsan/lsan_common.h (original)
> > +++ compiler-rt/trunk/lib/lsan/lsan_common.h Mon Oct 5 14:16:09 2015
> > @@ -22,8 +22,9 @@
> > #include "sanitizer_common/sanitizer_stoptheworld.h"
> > #include "sanitizer_common/sanitizer_symbolizer.h"
> >
> > -#if SANITIZER_LINUX && (defined(__x86_64__) || defined(__mips64)) \
> > - && (SANITIZER_WORDSIZE == 64)
> > +#if SANITIZER_LINUX && (SANITIZER_WORDSIZE == 64) &&
> (defined(__x86_64__) \
> > + || defined(__mips64)
> \
> > + ||
> defined(__aarch64__))
> > #define CAN_SANITIZE_LEAKS 1
> > #else
> > #define CAN_SANITIZE_LEAKS 0
> >
> > Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
> > URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc?rev=249337&r1=249336&r2=249337&view=diff
> >
> ==============================================================================
> > --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
> > +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Mon Oct 5
> 14:16:09 2015
> > @@ -497,7 +497,7 @@ void BlockingMutex::CheckLocked() {
> > // Note that getdents64 uses a different structure format. We only
> provide the
> > // 32-bit syscall here.
> > struct linux_dirent {
> > -#if SANITIZER_X32
> > +#if SANITIZER_X32 || defined(__aarch64__)
> > u64 d_ino;
> > u64 d_off;
> > #else
> > @@ -505,6 +505,9 @@ struct linux_dirent {
> > unsigned long d_off;
> > #endif
> > unsigned short d_reclen;
> > +#ifdef __aarch64__
> > + unsigned char d_type;
> > +#endif
> > char d_name[256];
> > };
> >
> >
> >
> > _______________________________________________
> > llvm-commits mailing list
> > llvm-commits at lists.llvm.org
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151007/f8a8fee2/attachment.html>
More information about the llvm-commits
mailing list