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
42 lines
1.9 KiB
YAML
42 lines
1.9 KiB
YAML
#
|
|
# Test framework and SDK search paths.
|
|
# myFrameworks is not an absolute path, so it should not by found in SDK
|
|
# /Custom/Frameworks should be found in SDK
|
|
# /opt/Frameworks should not be found in SDK
|
|
# /System/Library/Frameworks is implicit and should be in SDK
|
|
#
|
|
# RUN: ld64.lld.darwinold -arch x86_64 -r -test_file_usage -v \
|
|
# RUN: -path_exists myFrameworks \
|
|
# RUN: -path_exists myFrameworks/my.framework/my \
|
|
# RUN: -path_exists /opt/Frameworks \
|
|
# RUN: -path_exists /opt/Frameworks/other.framework/other \
|
|
# RUN: -path_exists /Custom/Frameworks \
|
|
# RUN: -path_exists /Custom/Frameworks/Bar.framework/Bar \
|
|
# RUN: -path_exists /System/Library/Frameworks \
|
|
# RUN: -path_exists /System/Library/Frameworks/Foo.framework/Foo \
|
|
# RUN: -path_exists /SDK/myFrameworks \
|
|
# RUN: -path_exists /SDK/myFrameworks/my.framework/my \
|
|
# RUN: -path_exists /SDK/Custom/Frameworks \
|
|
# RUN: -path_exists /SDK/Custom/Frameworks/Bar.framework/Bar \
|
|
# RUN: -path_exists /SDK/System/Library/Frameworks \
|
|
# RUN: -path_exists /SDK/System/Library/Frameworks/Foo.framework/Foo \
|
|
# RUN: -syslibroot /SDK \
|
|
# RUN: -FmyFrameworks \
|
|
# RUN: -F/Custom/Frameworks \
|
|
# RUN: -F/opt/Frameworks \
|
|
# RUN: -framework my \
|
|
# RUN: -framework Bar \
|
|
# RUN: -framework Foo \
|
|
# RUN: -framework other \
|
|
# RUN: 2>&1 | FileCheck %s
|
|
|
|
# CHECK: Framework search paths:
|
|
# CHECK-NEXT: myFrameworks
|
|
# CHECK-NEXT: /SDK/Custom/Frameworks
|
|
# CHECK-NEXT: /opt/Frameworks
|
|
# CHECK-NEXT: /SDK/System/Library/Frameworks
|
|
# CHECK: Found framework myFrameworks/my.framework/my
|
|
# CHECK: Found framework /SDK/Custom/Frameworks/Bar.framework/Bar
|
|
# CHECK: Found framework /SDK/System/Library/Frameworks/Foo.framework/Foo
|
|
# CHECK: Found framework /opt/Frameworks/other.framework/other
|