[lldb] Explicitly set libcxx paths when USE_SYSTEM_STDLIB is provided
authorFelipe de Azevedo Piovezan <fpiovezan@apple.com>
Thu, 23 Mar 2023 12:18:53 +0000 (08:18 -0400)
committerFelipe de Azevedo Piovezan <fpiovezan@apple.com>
Thu, 23 Mar 2023 15:53:13 +0000 (11:53 -0400)
commitc640a146c4caa3cca559e308e2e7ecc78c45140d
tree98f554b4d5278ef6b068a51b0c72fea78138c060
parent85faee69928b1eeb74a0d74f374a1c74ddf236dd
[lldb] Explicitly set libcxx paths when USE_SYSTEM_STDLIB is provided

For tests marked as "USE_SYSTEM_STDLIB", the expectation is that the
system's standard library should be used. However, the implementation of
this flag is such that we simply don't pass _any_ libcxxx-related flags
to Clang; in turn, Clang will use its defaults.

For a Clang/Libcxx pair compiled together, Clang defaults to:
1. The headers of the sibling libcxx.
2. The libraries of the system.

This mismatch is actually a bug in the driver; once fixed, however, (2)
would point to the sibling libcxx as well, which is _not_ what test
authors intended with the USE_SYSTEM_STDLIB flag.

As such, this patch explicitly sets a path to the system's libraries.
This change is done only in Apple platforms so that we can test this
works in this case first.

Differential Revision: https://reviews.llvm.org/D146714
lldb/packages/Python/lldbsuite/test/make/Makefile.rules