[Lldb-commits] [lldb] ec55aa4 - [lldb][test] When an external stdlib is specified do not link to the system stdlib (#164462)
    via lldb-commits 
    lldb-commits at lists.llvm.org
       
    Tue Oct 28 06:33:26 PDT 2025
    
    
  
Author: Ebuka Ezike
Date: 2025-10-28T13:33:22Z
New Revision: ec55aa4ef2c773fbc2723f38b7f96365e28f164b
URL: https://github.com/llvm/llvm-project/commit/ec55aa4ef2c773fbc2723f38b7f96365e28f164b
DIFF: https://github.com/llvm/llvm-project/commit/ec55aa4ef2c773fbc2723f38b7f96365e28f164b.diff
LOG: [lldb][test] When an external stdlib is specified do not link to the system stdlib (#164462)
On linux if you specify the an external libc++ and clang will still link
to the system's libc++. This patch fixes that.
Fixes https://github.com/llvm/llvm-project/issues/116040
Added: 
    
Modified: 
    lldb/packages/Python/lldbsuite/test/make/Makefile.rules
Removed: 
    
################################################################################
diff  --git a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
index e72ffd1f030ec..09939e29e5b75 100644
--- a/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
+++ b/lldb/packages/Python/lldbsuite/test/make/Makefile.rules
@@ -386,7 +386,9 @@ ifeq (,$(filter 1, $(USE_LIBSTDCPP) $(USE_LIBCPP) $(USE_SYSTEM_STDLIB)))
     ifneq "$(LIBCPP_INCLUDE_TARGET_DIR)" ""
       CXXFLAGS += -cxx-isystem $(LIBCPP_INCLUDE_TARGET_DIR)
     endif
-    LDFLAGS += -L$(LIBCPP_LIBRARY_DIR) -Wl,-rpath,$(LIBCPP_LIBRARY_DIR) -lc++
+
+	# If `-nostdlib++` is not passed, clang will link to the system's stdlib.
+    LDFLAGS += -nostdlib++ -L$(LIBCPP_LIBRARY_DIR) -Wl,-rpath,$(LIBCPP_LIBRARY_DIR) -lc++
   else
     USE_SYSTEM_STDLIB := 1
   endif
@@ -407,7 +409,8 @@ ifeq (1,$(USE_LIBCPP))
 		ifneq "$(LIBCPP_INCLUDE_TARGET_DIR)" ""
 				CXXFLAGS += -cxx-isystem $(LIBCPP_INCLUDE_TARGET_DIR)
 		endif
-		LDFLAGS += -L$(LIBCPP_LIBRARY_DIR) -Wl,-rpath,$(LIBCPP_LIBRARY_DIR) -lc++
+		# If `-nostdlib++` is not passed, clang will link to the system's stdlib.
+		LDFLAGS += -nostdlib++ -L$(LIBCPP_LIBRARY_DIR) -Wl,-rpath,$(LIBCPP_LIBRARY_DIR) -lc++
 	else
 		ifeq "$(OS)" "Android"
 				# Nothing to do, this is already handled in
        
    
    
More information about the lldb-commits
mailing list