From 50830e50031b5420f09f79e82cf6ec984fb8328d Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sun, 24 Jan 2021 20:21:57 +0000 Subject: [lldb] Add -Wl,-rpath to make tests run with fresh built libc++ On my Debian machine, system libc++/libc++abi is not installed (`libc++1-9 libc++abi-9`), 21 check-lldb-api tests fail because -stdlib=libc++ linked executables cannot find runtime libc++.so.1 at runtime. Use the `-Wl,-rpath,$(LLVM_LIBS_DIR)` mechanism in `packages/Python/lldbsuite/test/make/Makefile.rules` (D58630 for NetBSD) to allow such tests compile/link with fresh libc++ built beside lldb. (A system libc++.so.1 is not guaranteed to match fresh libc++ header files.) Some tweaks to the existing NetBSD rule when generalizing: * Drop `-L$(LLVM_LIBS_DIR)` since Clang driver adds it correctly. * Add `-stdlib=libc++` only for `USE_LIBCPP`. Also, drop `-isystem /usr/include/c++/v1` introduced in D9426. It is not needed by Clang driver. GCC using libc++ requires more setup. I don't find any test needing `-Wl,-rpath` in `test/Shell/helper/{build,toolchain}.py` (D58630 for NetBSD added them). Reviewed By: labath Differential Revision: https://reviews.llvm.org/D94888 --- lldb/packages/Python/lldbsuite/test/dotest.py | 2 -- 1 file changed, 2 deletions(-) (limited to 'lldb/packages/Python/lldbsuite/test/dotest.py') diff --git a/lldb/packages/Python/lldbsuite/test/dotest.py b/lldb/packages/Python/lldbsuite/test/dotest.py index c728bf3..b8bfbab 100644 --- a/lldb/packages/Python/lldbsuite/test/dotest.py +++ b/lldb/packages/Python/lldbsuite/test/dotest.py @@ -761,8 +761,6 @@ def canRunLibcxxTests(): return True, "libc++ always present" if platform == "linux": - if os.path.isdir("/usr/include/c++/v1"): - return True, "Headers found, let's hope they work" with tempfile.NamedTemporaryFile() as f: cmd = [configuration.compiler, "-xc++", "-stdlib=libc++", "-o", f.name, "-"] p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True) -- cgit v1.1