[Lldb-commits] [lldb] [lldb] Default LLDB_ENABLE_MTE to OFF when Sanitizers are enabled. (PR #186884)

Jonas Devlieghere via lldb-commits lldb-commits at lists.llvm.org
Mon Mar 16 14:01:59 PDT 2026


https://github.com/JDevlieghere created https://github.com/llvm/llvm-project/pull/186884

The MTE launcher complicates injecting the sanitizer runtime libraries.

>From 918e660332c63c8d187e251642542c3d35bea138 Mon Sep 17 00:00:00 2001
From: Jonas Devlieghere <jonas at devlieghere.com>
Date: Mon, 16 Mar 2026 14:00:53 -0700
Subject: [PATCH] [lldb] Default LLDB_ENABLE_MTE to OFF when Sanitizers are
 enabled.

The MTE launcher complicates injecting the sanitizer runtime libraries.
---
 lldb/cmake/modules/LLDBConfig.cmake | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake
index 3e20a228bebea..3f75bffab0078 100644
--- a/lldb/cmake/modules/LLDBConfig.cmake
+++ b/lldb/cmake/modules/LLDBConfig.cmake
@@ -166,15 +166,19 @@ endif()
 if (APPLE)
   set(default_enable_mte OFF)
 
-  execute_process(
-      COMMAND sysctl -n hw.optional.arm.FEAT_MTE4
-      OUTPUT_VARIABLE SYSCTL_OUTPUT
-      ERROR_QUIET
-      RESULT_VARIABLE SYSCTL_RESULT
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-  if(SYSCTL_RESULT EQUAL 0 AND SYSCTL_OUTPUT STREQUAL "1")
-    set(default_enable_mte ON)
+  # The MTE launcher complicates injecting the sanitizer runtime libraries.
+  # Default to OFF when any sanitizer is enabled.
+  if (NOT LLVM_USE_SANITIZER)
+    execute_process(
+        COMMAND sysctl -n hw.optional.arm.FEAT_MTE4
+        OUTPUT_VARIABLE SYSCTL_OUTPUT
+        ERROR_QUIET
+        RESULT_VARIABLE SYSCTL_RESULT
+        OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+    if(SYSCTL_RESULT EQUAL 0 AND SYSCTL_OUTPUT STREQUAL "1")
+      set(default_enable_mte ON)
+    endif()
   endif()
 
   option(LLDB_ENABLE_MTE "Run the LLDB test suite with MTE enabled." ${default_enable_mte})



More information about the lldb-commits mailing list