[compiler-rt] 2344f82 - Revert "[ASan] Ensure Symbolize Flag setting on Windows through __asan_default_options() is maintained throughout runtime (#132811)"
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sun Aug 10 00:12:43 PDT 2025
Author: Kazu Hirata
Date: 2025-08-10T00:12:37-07:00
New Revision: 2344f82b58c773abd33debc077647f2adc8bfbd5
URL: https://github.com/llvm/llvm-project/commit/2344f82b58c773abd33debc077647f2adc8bfbd5
DIFF: https://github.com/llvm/llvm-project/commit/2344f82b58c773abd33debc077647f2adc8bfbd5.diff
LOG: Revert "[ASan] Ensure Symbolize Flag setting on Windows through __asan_default_options() is maintained throughout runtime (#132811)"
This reverts commit 7bf43fec3aa1c7bb64749efefe0f5fd1e377c1fd.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/132811
Added:
Modified:
compiler-rt/lib/asan/asan_flags.cpp
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
Removed:
compiler-rt/test/asan/TestCases/Windows/symbolize.cpp
################################################################################
diff --git a/compiler-rt/lib/asan/asan_flags.cpp b/compiler-rt/lib/asan/asan_flags.cpp
index f222ec04a7728..190a89345dd18 100644
--- a/compiler-rt/lib/asan/asan_flags.cpp
+++ b/compiler-rt/lib/asan/asan_flags.cpp
@@ -241,8 +241,6 @@ void InitializeFlags() {
InitializeDefaultFlags();
ProcessFlags();
ApplyFlags();
- if (!common_flags()->symbolize)
- Symbolizer::ClearTools();
});
# if CAN_SANITIZE_UB
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
index a98194c81d157..bd89dc4e302fc 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer.h
@@ -136,8 +136,6 @@ class Symbolizer final {
/// (if it wasn't already initialized).
static Symbolizer *GetOrInit();
static void LateInitialize();
- static void ClearTools();
-
// Returns a list of symbolized frames for a given address (containing
// all inlined functions, if necessary).
SymbolizedStack *SymbolizePC(uptr address);
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
index ce3890e06e64d..565701c85d978 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cpp
@@ -26,16 +26,6 @@ Symbolizer *Symbolizer::GetOrInit() {
return symbolizer_;
}
-// If the 'symbolize' flag is set to 0, it clears the tools
-// associated with the symbolizer to prevent unnecessary symbolization and
-// resource usage. This is necessary because of the late binding of the
-// overridden method, __asan_default_options().
-void Symbolizer::ClearTools() {
- SpinMutexLock l(&init_mu_);
- if (symbolizer_)
- symbolizer_->tools_.clear();
-}
-
// See sanitizer_symbolizer_markup.cpp.
#if !SANITIZER_SYMBOLIZER_MARKUP
diff --git a/compiler-rt/test/asan/TestCases/Windows/symbolize.cpp b/compiler-rt/test/asan/TestCases/Windows/symbolize.cpp
deleted file mode 100644
index 5e0b1a4c40dd5..0000000000000
--- a/compiler-rt/test/asan/TestCases/Windows/symbolize.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-// RUN: %clangxx_asan -O0 %s -o %t
-// RUN: %env_asan_opts=symbolize=0 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-OFF
-// RUN: %env_asan_opts=symbolize=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-ON
-
-// RUN: %clangxx_asan -O0 %s -o %t -DUSER_FUNCTION_OFF
-// RUN: not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-OFF
-// RUN: %env_asan_opts=symbolize=0 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-OFF
-// RUN: %env_asan_opts=symbolize=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-ON
-
-// RUN: %clangxx_asan -O0 %s -o %t -DUSER_FUNCTION_ON
-// RUN: not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-ON
-// RUN: %env_asan_opts=symbolize=0 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-OFF
-// RUN: %env_asan_opts=symbolize=1 not %run %t 2>&1 | FileCheck %s --check-prefix=CHECK-SYMBOLIZE-ON
-#if USER_FUNCTION_OFF
-
-extern "C" __declspec(dllexport) extern const char *__asan_default_options() {
- return "symbolize=0";
-}
-
-#endif
-
-#if USER_FUNCTION_ON
-
-extern "C" __declspec(dllexport) extern const char *__asan_default_options() {
- return "symbolize=1";
-}
-
-#endif
-
-#include <cstdio>
-#include <cstdlib>
-
-volatile static int heapBufferOverflowValue = 10;
-int main() {
- int *array = new int[10];
- heapBufferOverflowValue = array[10]; // CHECK-SYMBOLIZE-ON: symbolize.cpp:36
- return 0; // CHECK-SYMBOLIZE-OFF: symbolize.cpp.tmp+0x
-}
More information about the llvm-commits
mailing list