[compiler-rt] r249337 - [lsan] [aarch64] Add support for AArch64
Kostya Serebryany via llvm-commits
llvm-commits at lists.llvm.org
Thu Oct 8 11:43:21 PDT 2015
ping?
On Wed, Oct 7, 2015 at 5:22 PM, Kostya Serebryany <kcc at google.com> wrote:
> 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/20151008/da2a7631/attachment.html>
More information about the llvm-commits
mailing list