Author: Aiden Grossman
Date: 2026-02-09T18:50:17Z
New Revision: 74c8891c9afe4bd836ab385f4489b1ede5c28a0e

URL: 
https://github.com/llvm/llvm-project/commit/74c8891c9afe4bd836ab385f4489b1ede5c28a0e
DIFF: 
https://github.com/llvm/llvm-project/commit/74c8891c9afe4bd836ab385f4489b1ede5c28a0e.diff

LOG: Revert "[lldb] Fix TSan report on Linux (#179115)"

This reverts commit cc7292056683f592c33055bb6456d509201654ec.

This patch causes two tests to unexpectedly pass:
1. 
lldb-api.functionalities/tsan/cpp_global_location/TestTsanCPPGlobalLocation.py
2. lldb-api.functionalities/tsan/global_location/TestTsanGlobalLocation.py

Reverting to fix premerge. Not fixing forward so someone who is familiar
with LLDB can take a look and make sure those tests now should pass.

Added: 
    

Modified: 
    
lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
    lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
    lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py

Removed: 
    


################################################################################
diff  --git 
a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
 
b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
index fddf7daf880b0..04dd825519d35 100644
--- 
a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
+++ 
b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
@@ -88,20 +88,8 @@ extern "C"
     // TODO: dlsym won't work on Windows.
     void *dlsym(void* handle, const char* symbol);
     int (*ptr__tsan_get_report_loc_object_type)(void *report, unsigned long 
idx, const char **object_type);
-)"
-// clang-format off
-#if defined(__linux__)
-R"(
-    void *const RTLD_DEFAULT = (void *)0;
-  }
-)";
-#else
-R"(
-    void *const RTLD_DEFAULT = (void *)-2;
-  }
+}
 )";
-#endif
-// clang-format on
 
 const char *thread_sanitizer_retrieve_report_data_command = R"(
 
@@ -173,7 +161,7 @@ struct {
     } unique_tids[REPORT_ARRAY_SIZE];
 } t = {0};
 
-ptr__tsan_get_report_loc_object_type = 
(typeof(ptr__tsan_get_report_loc_object_type))(void *)dlsym(RTLD_DEFAULT, 
"__tsan_get_report_loc_object_type");
+ptr__tsan_get_report_loc_object_type = 
(typeof(ptr__tsan_get_report_loc_object_type))(void *)dlsym((void*)-2 
/*RTLD_DEFAULT*/, "__tsan_get_report_loc_object_type");
 
 t.report = __tsan_get_current_report();
 __tsan_get_report_data(t.report, &t.description, &t.report_count, 
&t.stack_count, &t.mop_count, &t.loc_count, &t.mutex_count, &t.thread_count, 
&t.unique_tid_count, t.sleep_trace, REPORT_TRACE_SIZE);

diff  --git 
a/lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py 
b/lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
index fe995935ea4ef..2f5cceb7873c7 100644
--- a/lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
+++ b/lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
@@ -9,6 +9,10 @@
 
 
 class TsanThreadLeakTestCase(TestBase):
+    @expectedFailureAll(
+        oslist=["linux"],
+        bugnumber="non-core functionality, need to reenable and fix later (DES 
2014.11.07)",
+    )
     @expectedFailureNetBSD
     @skipIfFreeBSD  # llvm.org/pr21136 runtimes not yet available by default
     @skipIfRemote

diff  --git 
a/lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py 
b/lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
index 68e9a064793bb..8fc1ae64c267e 100644
--- a/lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
+++ b/lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
@@ -10,6 +10,10 @@
 
 
 class TsanThreadNumbersTestCase(TestBase):
+    @expectedFailureAll(
+        oslist=["linux"],
+        bugnumber="non-core functionality, need to reenable and fix later (DES 
2014.11.07)",
+    )
     @expectedFailureNetBSD
     @skipIfFreeBSD  # llvm.org/pr21136 runtimes not yet available by default
     @skipIfRemote


        
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to