summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/cmake/config-ix.cmake5
-rw-r--r--compiler-rt/lib/asan/asan_mapping.h7
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_platform.h2
-rw-r--r--compiler-rt/test/asan/TestCases/Linux/read_binary_name_regtest.c4
-rw-r--r--compiler-rt/test/asan/TestCases/Linux/static_tls.cc2
-rw-r--r--compiler-rt/test/asan/lit.cfg2
-rw-r--r--compiler-rt/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc1
7 files changed, 16 insertions, 7 deletions
diff --git a/compiler-rt/cmake/config-ix.cmake b/compiler-rt/cmake/config-ix.cmake
index 416de143907..1fc4424300f 100644
--- a/compiler-rt/cmake/config-ix.cmake
+++ b/compiler-rt/cmake/config-ix.cmake
@@ -254,10 +254,7 @@ filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH
filter_available_targets(UBSAN_COMMON_SUPPORTED_ARCH
${SANITIZER_COMMON_SUPPORTED_ARCH})
filter_available_targets(ASAN_SUPPORTED_ARCH
- x86_64 i386 i686 powerpc64 powerpc64le arm mips mipsel mips64 mips64el)
-if(ANDROID)
- filter_available_targets(ASAN_SUPPORTED_ARCH aarch64)
-endif()
+ x86_64 i386 i686 powerpc64 powerpc64le arm mips mipsel mips64 mips64el aarch64)
filter_available_targets(DFSAN_SUPPORTED_ARCH x86_64 mips64 mips64el aarch64)
filter_available_targets(LSAN_SUPPORTED_ARCH x86_64 mips64 mips64el)
filter_available_targets(MSAN_SUPPORTED_ARCH x86_64 mips64 mips64el)
diff --git a/compiler-rt/lib/asan/asan_mapping.h b/compiler-rt/lib/asan/asan_mapping.h
index 7e05db55c29..a713eb58092 100644
--- a/compiler-rt/lib/asan/asan_mapping.h
+++ b/compiler-rt/lib/asan/asan_mapping.h
@@ -73,6 +73,13 @@
// || `[0x2000000000, 0x23ffffffff]` || LowShadow ||
// || `[0x0000000000, 0x1fffffffff]` || LowMem ||
//
+// Default Linux/AArch64 (39-bit VMA) mapping:
+// || `[0x2000000000, 0x7fffffffff]` || highmem ||
+// || `[0x1400000000, 0x1fffffffff]` || highshadow ||
+// || `[0x1200000000, 0x13ffffffff]` || shadowgap ||
+// || `[0x1000000000, 0x11ffffffff]` || lowshadow ||
+// || `[0x0000000000, 0x0fffffffff]` || lowmem ||
+//
// Shadow mapping on FreeBSD/x86-64 with SHADOW_OFFSET == 0x400000000000:
// || `[0x500000000000, 0x7fffffffffff]` || HighMem ||
// || `[0x4a0000000000, 0x4fffffffffff]` || HighShadow ||
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
index b47281b589e..67626facbb9 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_platform.h
@@ -130,7 +130,7 @@
#define SANITIZER_USES_UID16_SYSCALLS 0
#endif
-#ifdef __mips__
+#if defined(__mips__) || defined(__aarch64__)
# define SANITIZER_POINTER_FORMAT_LENGTH FIRST_32_SECOND_64(8, 10)
#else
# define SANITIZER_POINTER_FORMAT_LENGTH FIRST_32_SECOND_64(8, 12)
diff --git a/compiler-rt/test/asan/TestCases/Linux/read_binary_name_regtest.c b/compiler-rt/test/asan/TestCases/Linux/read_binary_name_regtest.c
index 0e408d0e366..b09096c89cb 100644
--- a/compiler-rt/test/asan/TestCases/Linux/read_binary_name_regtest.c
+++ b/compiler-rt/test/asan/TestCases/Linux/read_binary_name_regtest.c
@@ -14,6 +14,10 @@
#include <linux/filter.h>
#include <linux/seccomp.h>
+#ifndef __NR_readlink
+# define __NR_readlink __NR_readlinkat
+#endif
+
#define syscall_nr (offsetof(struct seccomp_data, nr))
void corrupt() {
diff --git a/compiler-rt/test/asan/TestCases/Linux/static_tls.cc b/compiler-rt/test/asan/TestCases/Linux/static_tls.cc
index 785228b2923..6e9724f328f 100644
--- a/compiler-rt/test/asan/TestCases/Linux/static_tls.cc
+++ b/compiler-rt/test/asan/TestCases/Linux/static_tls.cc
@@ -9,7 +9,7 @@
// CHECK: __tls_get_addr: static tls
// CHECK: after
-// XFAIL: powerpc64
+// XFAIL: powerpc64, aarch64
#ifndef SHARED
#include <stdio.h>
diff --git a/compiler-rt/test/asan/lit.cfg b/compiler-rt/test/asan/lit.cfg
index a80b03ba39f..0805dbc3edf 100644
--- a/compiler-rt/test/asan/lit.cfg
+++ b/compiler-rt/test/asan/lit.cfg
@@ -164,7 +164,7 @@ config.substitutions.append( ("%xdynamiclib_namespec", '$(basename %t).dynamic')
# Allow tests to use REQUIRES=stable-runtime. For use when you cannot use XFAIL
# because the test hangs.
-if config.target_arch != 'arm':
+if config.target_arch != 'arm' or config.target_arch != 'aarch64':
config.available_features.add('stable-runtime')
# Turn on leak detection on 64-bit Linux.
diff --git a/compiler-rt/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc b/compiler-rt/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
index 62247176765..081381a80e2 100644
--- a/compiler-rt/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
+++ b/compiler-rt/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc
@@ -1,5 +1,6 @@
// RUN: %clangxx -g %s -o %t
// RUN: %tool_options=decorate_proc_maps=1 %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-%tool_name
+// REQUIRES: stable-release
#include <errno.h>
#include <fcntl.h>
#include <pthread.h>
OpenPOWER on IntegriCloud