Files
clang-p2996/lld/test/mach-o/libresolve-one-syslibroot.yaml
Jez Ng 415c0cd698 [lld-macho] Switch default to new Darwin backend
The new Darwin backend for LLD is now able to link reasonably large
real-world programs on x86_64. For instance, we have achieved
self-hosting for the X86_64 target, where all LLD tests pass when
building lld with itself on macOS. As such, we would like to make it the
default back-end.

The new port is now named `ld64.lld`, and the old port remains
accessible as `ld64.lld.darwinold`

This [annoucement email][1] has some context. (But note that, unlike
what the email says, we are no longer doing this as part of the LLVM 12
branch cut -- instead we will go into LLVM 13.)

Numerous mechanical test changes were required to make this change; in
the interest of creating something that's reviewable on Phabricator,
I've split out the boring changes into a separate diff (D95905). I plan to
merge its contents with those in this diff before landing.

(@gkm made the original draft of this diff, and he has agreed to let me
take over.)

[1]: https://lists.llvm.org/pipermail/llvm-dev/2021-January/147665.html

Reviewed By: #lld-macho, thakis

Differential Revision: https://reviews.llvm.org/D95204
2021-03-01 12:30:10 -05:00

26 lines
1020 B
YAML

# RUN: ld64.lld.darwinold -test_file_usage -v \
# RUN: -path_exists /usr/lib \
# RUN: -path_exists /Applications/MySDK/usr/local/lib \
# RUN: -path_exists /Applications/MySDK/usr/local/lib/libSystem.a \
# RUN: -path_exists /hasFoo \
# RUN: -path_exists /hasFoo/foo.o \
# RUN: -syslibroot /Applications/MySDK \
# RUN: -L/hasFoo \
# RUN: -lSystem -lfoo.o \
# RUN: 2>&1 | FileCheck %s
# When just one -syslibroot is specified, we apparently want to skip *system*
# paths that aren't found. User ones should still get added. In this case
# /usr/lib exists, but not the equivalent in the -syslibroot, so there should be
# no mention of /usr/lib.
# CHECK: Library search paths:
# CHECK: /hasFoo
# CHECK-NOT: /usr/lib
# CHECK-NOT: /usr/local/lib
# CHECK: /Applications/MySDK/usr/local/lib
# CHECK-NOT: /usr/lib
# CHECK-NOT: /usr/local/lib
# CHECK: Found library /Applications/MySDK/usr/local/lib/libSystem.a
# CHECK: Found library /hasFoo/foo.o