[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