[compiler-rt] r351040 - [asan] Add fallback for Thumb after r350139
Diana Picus via llvm-commits
llvm-commits at lists.llvm.org
Mon Jan 14 01:45:49 PST 2019
Author: rovka
Date: Mon Jan 14 01:45:49 2019
New Revision: 351040
URL: http://llvm.org/viewvc/llvm-project?rev=351040&view=rev
Log:
[asan] Add fallback for Thumb after r350139
This reverts r350806 which marked some tests as UNSUPPORTED on ARM and
instead reintroduces the old code path only for Thumb, since that seems
to be the only target that broke.
It would still be nice to find the root cause of the breakage, but with
the branch point for LLVM 8.0 scheduled for next week it's better to put
things in a stable state while we investigate.
Differential Revision: https://reviews.llvm.org/D56594
Modified:
compiler-rt/trunk/lib/asan/asan_rtl.cc
compiler-rt/trunk/test/asan/TestCases/Linux/quarantine_size_mb.cc
compiler-rt/trunk/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cc
Modified: compiler-rt/trunk/lib/asan/asan_rtl.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/asan_rtl.cc?rev=351040&r1=351039&r2=351040&view=diff
==============================================================================
--- compiler-rt/trunk/lib/asan/asan_rtl.cc (original)
+++ compiler-rt/trunk/lib/asan/asan_rtl.cc Mon Jan 14 01:45:49 2019
@@ -383,12 +383,18 @@ void PrintAddressSpaceLayout() {
kHighShadowBeg > kMidMemEnd);
}
+#if defined(__thumb__) && defined(__linux__)
+#define START_BACKGROUND_THREAD_IN_ASAN_INTERNAL
+#endif
+
+#ifndef START_BACKGROUND_THREAD_IN_ASAN_INTERNAL
static bool UNUSED __local_asan_dyninit = [] {
MaybeStartBackgroudThread();
SetSoftRssLimitExceededCallback(AsanSoftRssLimitExceededCallback);
return false;
}();
+#endif
static void AsanInitInternal() {
if (LIKELY(asan_inited)) return;
@@ -464,6 +470,11 @@ static void AsanInitInternal() {
allocator_options.SetFrom(flags(), common_flags());
InitializeAllocator(allocator_options);
+#ifdef START_BACKGROUND_THREAD_IN_ASAN_INTERNAL
+ MaybeStartBackgroudThread();
+ SetSoftRssLimitExceededCallback(AsanSoftRssLimitExceededCallback);
+#endif
+
// On Linux AsanThread::ThreadStart() calls malloc() that's why asan_inited
// should be set to 1 prior to initializing the threads.
asan_inited = 1;
Modified: compiler-rt/trunk/test/asan/TestCases/Linux/quarantine_size_mb.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Linux/quarantine_size_mb.cc?rev=351040&r1=351039&r2=351040&view=diff
==============================================================================
--- compiler-rt/trunk/test/asan/TestCases/Linux/quarantine_size_mb.cc (original)
+++ compiler-rt/trunk/test/asan/TestCases/Linux/quarantine_size_mb.cc Mon Jan 14 01:45:49 2019
@@ -7,7 +7,7 @@
// RUN: %env_asan_opts=hard_rss_limit_mb=20 not %run %t 2>&1 | FileCheck %s --check-prefix=RSS_LIMIT
// https://github.com/google/sanitizers/issues/981
-// UNSUPPORTED: android-26, arm
+// UNSUPPORTED: android-26
#include <string.h>
char *g;
Modified: compiler-rt/trunk/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cc?rev=351040&r1=351039&r2=351040&view=diff
==============================================================================
--- compiler-rt/trunk/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cc (original)
+++ compiler-rt/trunk/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cc Mon Jan 14 01:45:49 2019
@@ -16,7 +16,7 @@
// XFAIL: msan
// XFAIL: ubsan
-// UNSUPPORTED: freebsd, solaris, darwin, arm
+// UNSUPPORTED: freebsd, solaris, darwin
#include <string.h>
#include <stdio.h>
More information about the llvm-commits
mailing list