HomePhabricator

[lldb] Add -Wl,-rpath to make tests run with fresh built libc++

Authored by MaskRay on Jan 24 2021, 12:21 PM.

Description

[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

Details

Committed
MaskRayJan 24 2021, 12:21 PM
Reviewer
labath
Differential Revision
D94888: [lldb] Add -Wl,-rpath to make tests run with fresh built libc++
Parents
rG16baad8f4e02: [llvm] Use pop_back_val (NFC)
Branches
Unknown
Tags
Unknown