mirror of
https://github.com/intel/llvm.git
synced 2026-01-16 21:55:39 +08:00
[lld/mac] Make -v print version and search paths in additon to linking, not instead of linking
This matches ld64's behavior. Differential Revision: https://reviews.llvm.org/D97718
This commit is contained in:
@@ -847,8 +847,6 @@ bool macho::link(ArrayRef<const char *> argsArr, bool canExitEarly,
|
||||
(config->frameworkSearchPaths.size()
|
||||
? "\n\t" + join(config->frameworkSearchPaths, "\n\t")
|
||||
: ""));
|
||||
freeArena();
|
||||
return !errorCount();
|
||||
}
|
||||
|
||||
initLLVM(); // must be run before any call to addFile()
|
||||
|
||||
@@ -564,7 +564,7 @@ def bitcode_symbol_map : Separate<["-"], "bitcode_symbol_map">,
|
||||
def grp_rare : OptionGroup<"rare">, HelpText<"RARELY USED">;
|
||||
|
||||
def v : Flag<["-"], "v">,
|
||||
HelpText<"Print the linker version and search paths and exit">,
|
||||
HelpText<"Print the linker version and search paths in addition to linking">,
|
||||
Group<grp_rare>;
|
||||
def adhoc_codesign : Flag<["-"], "adhoc_codesign">,
|
||||
HelpText<"Write an ad-hoc code signature to the output file.">,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
RUN: %lld -v \
|
||||
RUN: %lld --version \
|
||||
RUN: -dynamic \
|
||||
RUN: -no_deduplicate \
|
||||
RUN: -lto_library /lib/foo \
|
||||
|
||||
@@ -1,56 +1,56 @@
|
||||
# Ensure that a nonexistent path is ignored with a syslibroot
|
||||
|
||||
RUN: ld64.lld -v -syslibroot /var/empty | FileCheck %s -check-prefix CHECK-NONEXISTENT-SYSLIBROOT
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot /var/empty | FileCheck %s -check-prefix CHECK-NONEXISTENT-SYSLIBROOT
|
||||
|
||||
CHECK-NONEXISTENT-SYSLIBROOT: Library search paths:
|
||||
CHECK-NONEXISTENT-SYSLIBROOT-NEXT: Framework search paths:
|
||||
|
||||
RUN: mkdir -p %t/usr/lib
|
||||
RUN: ld64.lld -v -syslibroot %t 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t 2>&1 | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
|
||||
|
||||
CHECK-SYSLIBROOT-NOT: directory not found{{.*}}usr/local/lib
|
||||
CHECK-SYSLIBROOT: Library search paths:
|
||||
CHECK-SYSLIBROOT-NEXT: [[ROOT]]/usr/lib
|
||||
|
||||
RUN: mkdir -p %t/Library/libxml2-development
|
||||
RUN: ld64.lld -v -syslibroot %t -L /Library/libxml2-development | FileCheck %s -check-prefix CHECK-ABSOLUTE-PATH-REROOTED -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t -L /Library/libxml2-development | FileCheck %s -check-prefix CHECK-ABSOLUTE-PATH-REROOTED -DROOT=%t
|
||||
|
||||
CHECK-ABSOLUTE-PATH-REROOTED: Library search paths:
|
||||
CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/Library/libxml2-development
|
||||
CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/usr/lib
|
||||
|
||||
RUN: ld64.lld -v -syslibroot %t -L %t/Library/libxml2-development | FileCheck %s -check-prefix CHECK-PATH-WITHOUT-REROOT -DPATH=%t/Library/libxml2-development
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t -L %t/Library/libxml2-development | FileCheck %s -check-prefix CHECK-PATH-WITHOUT-REROOT -DPATH=%t/Library/libxml2-development
|
||||
CHECK-PATH-WITHOUT-REROOT: Library search paths:
|
||||
CHECK-PATH-WITHOUT-REROOT-NEXT: [[PATH]]
|
||||
|
||||
RUN: mkdir -p %t.2/usr/lib
|
||||
RUN: ld64.lld -v -syslibroot %t -syslibroot %t.2 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t -syslibroot %t.2 | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t
|
||||
|
||||
CHECK-SYSLIBROOT-MATRIX: Library search paths:
|
||||
CHECK-SYSLIBROOT-MATRIX: [[ROOT]]/usr/lib
|
||||
CHECK-SYSLIBROOT-MATRIX: [[ROOT]].2/usr/lib
|
||||
|
||||
RUN: ld64.lld -v -syslibroot %t -syslibroot %t.2 -syslibroot / | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t -syslibroot %t.2 -syslibroot / | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED -DROOT=%t
|
||||
|
||||
CHECK-SYSLIBROOT-IGNORED: Library search paths:
|
||||
CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]]/usr/lib
|
||||
CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]].2/usr/lib
|
||||
|
||||
RUN: mkdir -p %t/System/Library/Frameworks
|
||||
RUN: ld64.lld -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t
|
||||
|
||||
CHECK-SYSLIBROOT-FRAMEWORK: Framework search paths:
|
||||
CHECK-SYSLIBROOT-FRAMEWORK: [[ROOT]]/System/Library/Frameworks
|
||||
|
||||
RUN: mkdir -p %t/Library/Frameworks
|
||||
RUN: mkdir -p %t.2/Library/Frameworks
|
||||
RUN: ld64.lld -v -syslibroot %t -syslibroot %t.2 -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t -syslibroot %t.2 -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t
|
||||
|
||||
CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: Framework search paths:
|
||||
CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]]/Library/Frameworks
|
||||
CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]].2/Library/Frameworks
|
||||
|
||||
RUN: ld64.lld -v -syslibroot %t -syslibroot %t.2 -syslibroot / -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED -DROOT=%t
|
||||
RUN: ld64.lld -v -dylib -o /dev/null -syslibroot %t -syslibroot %t.2 -syslibroot / -F /Library/Frameworks | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED -DROOT=%t
|
||||
|
||||
CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: Framework search paths:
|
||||
CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]]/Library/Frameworks
|
||||
|
||||
Reference in New Issue
Block a user