https://github.com/DrSergei updated 
https://github.com/llvm/llvm-project/pull/179115

>From 7bae3f71fd11156fe1f9dafab51e4dcbfb684e30 Mon Sep 17 00:00:00 2001
From: Sergei Druzhkov <[email protected]>
Date: Sun, 1 Feb 2026 18:07:10 +0300
Subject: [PATCH 1/2] [lldb] Fix TSan report on Linux

---
 .../TSan/InstrumentationRuntimeTSan.cpp            | 14 ++++++++++++--
 .../tsan/thread_leak/TestTsanThreadLeak.py         |  4 ----
 .../tsan/thread_numbers/TestTsanThreadNumbers.py   |  4 ----
 3 files changed, 12 insertions(+), 10 deletions(-)

diff --git 
a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
 
b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
index 04dd825519d35..53299dec0923f 100644
--- 
a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
+++ 
b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
@@ -88,8 +88,18 @@ 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);
-}
+)"
+#if defined(__linux__)
+R"(
+    void *const RTLD_DEFAULT = (void *)0;
+  }
+)";
+#else
+R"(
+    void *const RTLD_DEFAULT = (void *)-2;
+  }
 )";
+#endif
 
 const char *thread_sanitizer_retrieve_report_data_command = R"(
 
@@ -161,7 +171,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((void*)-2 
/*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(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 2f5cceb7873c7..fe995935ea4ef 100644
--- a/lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
+++ b/lldb/test/API/functionalities/tsan/thread_leak/TestTsanThreadLeak.py
@@ -9,10 +9,6 @@
 
 
 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 8fc1ae64c267e..68e9a064793bb 100644
--- a/lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
+++ b/lldb/test/API/functionalities/tsan/thread_numbers/TestTsanThreadNumbers.py
@@ -10,10 +10,6 @@
 
 
 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

>From 1b2c334af52d92400a1582efb9b18dd742c3ba8c Mon Sep 17 00:00:00 2001
From: Sergei Druzhkov <[email protected]>
Date: Sun, 1 Feb 2026 18:29:42 +0300
Subject: [PATCH 2/2] Fix format

---
 .../InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp  | 2 ++
 1 file changed, 2 insertions(+)

diff --git 
a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
 
b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
index 53299dec0923f..fddf7daf880b0 100644
--- 
a/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
+++ 
b/lldb/source/Plugins/InstrumentationRuntime/TSan/InstrumentationRuntimeTSan.cpp
@@ -89,6 +89,7 @@ extern "C"
     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;
@@ -100,6 +101,7 @@ R"(
   }
 )";
 #endif
+// clang-format on
 
 const char *thread_sanitizer_retrieve_report_data_command = R"(
 

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

Reply via email to