diff --git a/lld/MachO/Driver.cpp b/lld/MachO/Driver.cpp --- a/lld/MachO/Driver.cpp +++ b/lld/MachO/Driver.cpp @@ -39,6 +39,7 @@ #include "llvm/Support/Path.h" #include +#include using namespace llvm; using namespace llvm::MachO; @@ -222,6 +223,12 @@ std::vector roots; for (const Arg *arg : args.filtered(OPT_syslibroot)) roots.push_back(arg->getValue()); + + // Most tests will want to include the mock system library path + char *testRoot = getenv("LLD_TEST_SYSLIBROOT"); + if (testRoot != nullptr) + roots.push_back(testRoot); + // NOTE: the final `-syslibroot` being `/` will ignore all roots if (roots.size() && roots.back() == "/") roots.clear(); diff --git a/lld/test/MachO/abs-symbols.s b/lld/test/MachO/abs-symbols.s --- a/lld/test/MachO/abs-symbols.s +++ b/lld/test/MachO/abs-symbols.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem %t.o -o %t +# RUN: lld -flavor darwinnew -lSystem %t.o -o %t # RUN: llvm-objdump --macho --syms --exports-trie %t | FileCheck %s # CHECK-LABEL: SYMBOL TABLE: diff --git a/lld/test/MachO/common-symbol-resolution.s b/lld/test/MachO/common-symbol-resolution.s --- a/lld/test/MachO/common-symbol-resolution.s +++ b/lld/test/MachO/common-symbol-resolution.s @@ -9,7 +9,7 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/calls-foo.s -o %t/calls-foo.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order -dylib %t/libfoo.o -o %t/libfoo.dylib +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order -dylib %t/libfoo.o -o %t/libfoo.dylib # RUN: rm -f %t/defined.a %t/weak-defined-and-common.a # RUN: llvm-ar rcs %t/defined.a %t/defined.o @@ -20,39 +20,39 @@ ## regardless of whether it is weak. Moreover, the resolved symbol in the output ## file will always be non-weak, even if the winning input symbol definition was ## weak. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/common.o %t/weak-common.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/common.o %t/weak-common.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=LARGER-COMMON -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/weak-common.o %t/common.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/weak-common.o %t/common.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=LARGER-COMMON ## Defined symbols are the only ones that take precedence over common symbols. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/defined.o %t/common.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/defined.o %t/common.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=DEFINED -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/common.o %t/defined.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/common.o %t/defined.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=DEFINED -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/weak-defined.o %t/common.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/weak-defined.o %t/common.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=WEAK-DEFINED -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/common.o %t/weak-defined.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/common.o %t/weak-defined.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=WEAK-DEFINED ## Common symbols take precedence over archive symbols. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/defined.a %t/weak-common.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/defined.a %t/weak-common.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=LARGER-COMMON -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/weak-common.o %t/defined.a %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/weak-common.o %t/defined.a %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=LARGER-COMMON ## If an archive has both a common and a defined symbol, the defined one should ## win. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/weak-defined-and-common.a %t/calls-foo.o -o %t/calls-foo +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/weak-defined-and-common.a %t/calls-foo.o -o %t/calls-foo # RUN: llvm-objdump --syms %t/calls-foo | FileCheck %s --check-prefix=WEAK-DEFINED -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/calls-foo.o %t/weak-defined-and-common.a -o %t/calls-foo +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/calls-foo.o %t/weak-defined-and-common.a -o %t/calls-foo # RUN: llvm-objdump --syms %t/calls-foo | FileCheck %s --check-prefix=WEAK-DEFINED ## Common symbols take precedence over dylib symbols. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/libfoo.dylib %t/weak-common.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/libfoo.dylib %t/weak-common.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=LARGER-COMMON -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -order_file %t/order %t/weak-common.o %t/libfoo.dylib %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -order_file %t/order %t/weak-common.o %t/libfoo.dylib %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=LARGER-COMMON # LARGER-COMMON-LABEL: SYMBOL TABLE: diff --git a/lld/test/MachO/dylink-lazy.s b/lld/test/MachO/dylink-lazy.s --- a/lld/test/MachO/dylink-lazy.s +++ b/lld/test/MachO/dylink-lazy.s @@ -4,16 +4,16 @@ # RUN: -o %t/libhello.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %p/Inputs/libgoodbye.s \ # RUN: -o %t/libgoodbye.o -# RUN: lld -flavor darwinnew -dylib -L%S/Inputs/MacOSX.sdk/usr/lib \ +# RUN: lld -flavor darwinnew -dylib \ # RUN: -install_name @executable_path/libhello.dylib %t/libhello.o \ # RUN: -o %t/libhello.dylib -# RUN: lld -flavor darwinnew -dylib -L%S/Inputs/MacOSX.sdk/usr/lib \ +# RUN: lld -flavor darwinnew -dylib \ # RUN: -install_name @executable_path/libgoodbye.dylib %t/libgoodbye.o \ # RUN: -o %t/libgoodbye.dylib # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/dylink-lazy.o # RUN: lld -flavor darwinnew -o %t/dylink-lazy \ -# RUN: -L%S/Inputs/MacOSX.sdk/usr/lib -L%t -lhello -lgoodbye %t/dylink-lazy.o -lSystem +# RUN: -L%t -lhello -lgoodbye %t/dylink-lazy.o -lSystem ## When looking at the __stubs section alone, we are unable to easily tell which ## symbol each entry points to. So we call objdump twice in order to get the @@ -23,7 +23,7 @@ # RUN: llvm-objdump -D --no-show-raw-insn %t/dylink-lazy) | FileCheck %s # RUN: lld -flavor darwinnew -pie -o %t/dylink-lazy-pie \ -# RUN: -L%S/Inputs/MacOSX.sdk/usr/lib -L%t -lhello -lgoodbye %t/dylink-lazy.o -lSystem +# RUN: -L%t -lhello -lgoodbye %t/dylink-lazy.o -lSystem # RUN: llvm-objdump --macho --rebase %t/dylink-lazy-pie | FileCheck %s --check-prefix=PIE # CHECK-LABEL: SYMBOL TABLE: diff --git a/lld/test/MachO/dylink.s b/lld/test/MachO/dylink.s --- a/lld/test/MachO/dylink.s +++ b/lld/test/MachO/dylink.s @@ -18,7 +18,7 @@ # NOSYM: no symbols # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/dylink.o -# RUN: lld -flavor darwinnew -o %t/dylink -Z -L%t -lhello -lgoodbye %t/dylink.o +# RUN: lld -flavor darwinnew -o %t/dylink -L%t -lhello -lgoodbye %t/dylink.o # RUN: llvm-objdump --bind -d --no-show-raw-insn %t/dylink | FileCheck %s # CHECK: movq [[#%u, HELLO_OFF:]](%rip), %rsi diff --git a/lld/test/MachO/entry-symbol.s b/lld/test/MachO/entry-symbol.s --- a/lld/test/MachO/entry-symbol.s +++ b/lld/test/MachO/entry-symbol.s @@ -2,7 +2,7 @@ # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/not-main.s -o %t/not-main.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/libfoo.s -o %t/libfoo.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -dylib %t/libfoo.o -o %t/libfoo.dylib +# RUN: lld -flavor darwinnew -lSystem -dylib %t/libfoo.o -o %t/libfoo.dylib # RUN: lld -flavor darwinnew -o %t/not-main %t/not-main.o -e _not_main # RUN: llvm-objdump --macho --all-headers --syms %t/not-main | FileCheck %s @@ -19,7 +19,7 @@ # CHECK-NEXT: size # CHECK-NEXT: offset [[#ENTRYOFF]] -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -o %t/dysym-main %t/not-main.o %t/libfoo.dylib -e _dysym_main +# RUN: lld -flavor darwinnew -lSystem -o %t/dysym-main %t/not-main.o %t/libfoo.dylib -e _dysym_main # RUN: llvm-objdump --macho --all-headers --indirect-symbols --lazy-bind %t/dysym-main | FileCheck %s --check-prefix=DYSYM # DYSYM-LABEL: Indirect symbols for (__TEXT,__stubs) 1 entries # DYSYM-NEXT: address index name @@ -31,7 +31,7 @@ # DYSYM-NEXT: segment section address dylib symbol # DYSYM-NEXT: __DATA __la_symbol_ptr {{.*}} libfoo _dysym_main -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -o %t/weak-dysym-main %t/not-main.o %t/libfoo.dylib -e _weak_dysym_main +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-dysym-main %t/not-main.o %t/libfoo.dylib -e _weak_dysym_main # RUN: llvm-objdump --macho --all-headers --indirect-symbols --bind --weak-bind %t/weak-dysym-main | FileCheck %s --check-prefix=WEAK-DYSYM # WEAK-DYSYM-LABEL: Indirect symbols for (__TEXT,__stubs) 1 entries # WEAK-DYSYM-NEXT: address index name diff --git a/lld/test/MachO/filelist.s b/lld/test/MachO/filelist.s --- a/lld/test/MachO/filelist.s +++ b/lld/test/MachO/filelist.s @@ -13,25 +13,25 @@ # RUN: echo "%t/first.o" > filelist # RUN: echo "%t/second.o" >> filelist -# RUN: lld -flavor darwinnew -Z -filelist filelist %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -filelist filelist %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=FIRST # RUN: echo "%t/second.o" > filelist # RUN: echo "%t/first.o" >> filelist -# RUN: lld -flavor darwinnew -Z -filelist filelist %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -filelist filelist %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=SECOND # RUN: echo "%t/first.o" > filelist -# RUN: lld -flavor darwinnew -Z -filelist filelist %t/second.o %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -filelist filelist %t/second.o %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=FIRST -# RUN: lld -flavor darwinnew -Z %t/second.o -filelist filelist %t/test.o -o %t/test +# RUN: lld -flavor darwinnew %t/second.o -filelist filelist %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=SECOND # RUN: echo "%t/first.o" > filelist-1 # RUN: echo "%t/second.o" > filelist-2 -# RUN: lld -flavor darwinnew -Z -filelist filelist-1 -filelist filelist-2 %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -filelist filelist-1 -filelist filelist-2 %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=FIRST -# RUN: lld -flavor darwinnew -Z -filelist filelist-2 -filelist filelist-1 %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -filelist filelist-2 -filelist filelist-1 %t/test.o -o %t/test # RUN: llvm-objdump --syms %t/test | FileCheck %s --check-prefix=SECOND .globl _main diff --git a/lld/test/MachO/framework.s b/lld/test/MachO/framework.s --- a/lld/test/MachO/framework.s +++ b/lld/test/MachO/framework.s @@ -2,20 +2,20 @@ # RUN: mkdir -p %t # RUN: echo ".globl _foo; _foo: ret" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/foo.o # RUN: mkdir -p %t/Foo.framework/Versions/A -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -dylib -install_name %t/Foo.framework/Versions/A/Foo %t/foo.o -o %t/Foo.framework/Versions/A/Foo -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -dylib -install_name %t/Foo.framework/Versions/A/Foobar %t/foo.o -o %t/Foo.framework/Versions/A/Foobar +# RUN: lld -flavor darwinnew -dylib -install_name %t/Foo.framework/Versions/A/Foo %t/foo.o -o %t/Foo.framework/Versions/A/Foo +# RUN: lld -flavor darwinnew -dylib -install_name %t/Foo.framework/Versions/A/Foobar %t/foo.o -o %t/Foo.framework/Versions/A/Foobar # RUN: ln -sf %t/Foo.framework/Versions/A %t/Foo.framework/Versions/Current # RUN: ln -sf %t/Foo.framework/Versions/Current/Foo %t/Foo.framework/Foo # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/test.o %s -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -F%t -framework Foo %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -F%t -framework Foo %t/test.o -o %t/test # RUN: llvm-objdump --macho --lazy-bind %t/test | FileCheck %s --check-prefix=NOSUFFIX # NOSUFFIX: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} {{.*}}Foo _foo -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -F%t -framework Foo,baz %t/test.o -o %t/test-wrong-suffix +# RUN: lld -flavor darwinnew -lSystem -F%t -framework Foo,baz %t/test.o -o %t/test-wrong-suffix # RUN: llvm-objdump --macho --lazy-bind %t/test-wrong-suffix | FileCheck %s --check-prefix=NOSUFFIX -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -F%t -framework Foo,bar %t/test.o -o %t/test-suffix +# RUN: lld -flavor darwinnew -lSystem -F%t -framework Foo,bar %t/test.o -o %t/test-suffix # RUN: llvm-objdump --macho --lazy-bind %t/test-suffix | FileCheck %s --check-prefix=SUFFIX # SUFFIX: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} {{.*}}Foobar _foo diff --git a/lld/test/MachO/indirect-symtab.s b/lld/test/MachO/indirect-symtab.s --- a/lld/test/MachO/indirect-symtab.s +++ b/lld/test/MachO/indirect-symtab.s @@ -2,8 +2,8 @@ # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/libfoo.s -o %t/libfoo.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o -# RUN: lld -flavor darwinnew -dylib %t/libfoo.o -o %t/libfoo.dylib -syslibroot %S/Inputs/MacOSX.sdk -lSystem -# RUN: lld -flavor darwinnew %t/test.o %t/libfoo.dylib -o %t/test -syslibroot %S/Inputs/MacOSX.sdk -lSystem +# RUN: lld -flavor darwinnew -dylib %t/libfoo.o -o %t/libfoo.dylib -lSystem +# RUN: lld -flavor darwinnew %t/test.o %t/libfoo.dylib -o %t/test -lSystem # RUN: llvm-objdump --macho -d --no-show-raw-insn --indirect-symbols %t/test | FileCheck %s # CHECK: (__TEXT,__text) section diff --git a/lld/test/MachO/invalid/abs-duplicate.s b/lld/test/MachO/invalid/abs-duplicate.s --- a/lld/test/MachO/invalid/abs-duplicate.s +++ b/lld/test/MachO/invalid/abs-duplicate.s @@ -2,7 +2,7 @@ # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/weakfoo.s -o %t/weakfoo.o -# RUN: not lld -flavor darwinnew -syslibroot %S/../Inputs/MacOSX.sdk -lSystem %t/test.o %t/weakfoo.o -o %t/test 2>&1 | FileCheck %s +# RUN: not lld -flavor darwinnew -lSystem %t/test.o %t/weakfoo.o -o %t/test 2>&1 | FileCheck %s # CHECK: lld: error: duplicate symbol: _weakfoo diff --git a/lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s b/lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s --- a/lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s +++ b/lld/test/MachO/invalid/bad-got-to-dylib-tlv-reference.s @@ -3,10 +3,10 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/libtlv.s -o %t/libtlv.o # RUN: lld -flavor darwinnew -dylib -install_name @executable_path/libtlv.dylib \ -# RUN: -Z -L%S/../Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/libtlv.dylib %t/libtlv.o +# RUN: -lSystem -o %t/libtlv.dylib %t/libtlv.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o -# RUN: not lld -flavor darwinnew -Z -L%S/../Inputs/MacOSX.sdk/usr/lib -lSystem -L%t -ltlv -o /dev/null %t/test.o 2>&1 | FileCheck %s -DFILE=%t/test.o +# RUN: not lld -flavor darwinnew -lSystem -L%t -ltlv -o /dev/null %t/test.o 2>&1 | FileCheck %s -DFILE=%t/test.o # CHECK: error: found GOT relocation referencing thread-local variable in [[FILE]]:(__text) diff --git a/lld/test/MachO/invalid/invalid-stub.s b/lld/test/MachO/invalid/invalid-stub.s --- a/lld/test/MachO/invalid/invalid-stub.s +++ b/lld/test/MachO/invalid/invalid-stub.s @@ -3,7 +3,7 @@ # RUN: echo "--- !tapi-tbd-v3" > %t/libinvalidYAML.tbd # RUN: echo "invalid YAML" >> %t/libinvalidYAML.tbd # RUN: llvm-mc -filetype obj -triple x86_64-apple-darwin %s -o %t/test.o -# RUN: not lld -flavor darwinnew -Z -L%t -linvalidYAML %t/test.o -o %t/test -Z 2>&1 | FileCheck %s -DDIR=%t +# RUN: not lld -flavor darwinnew -L%t -linvalidYAML %t/test.o -o %t/test 2>&1 | FileCheck %s -DDIR=%t # CHECK: could not load TAPI file at [[DIR]]{{[\\/]}}libinvalidYAML.tbd: malformed file diff --git a/lld/test/MachO/invalid/missing-dylib.s b/lld/test/MachO/invalid/missing-dylib.s --- a/lld/test/MachO/invalid/missing-dylib.s +++ b/lld/test/MachO/invalid/missing-dylib.s @@ -1,5 +1,5 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o -# RUN: not lld -flavor darwinnew -Z -o %t -lmissing %t.o 2>&1 | FileCheck %s +# RUN: not lld -flavor darwinnew -o %t -lmissing %t.o 2>&1 | FileCheck %s # CHECK: error: library not found for -lmissing diff --git a/lld/test/MachO/invalid/no-filelist.s b/lld/test/MachO/invalid/no-filelist.s --- a/lld/test/MachO/invalid/no-filelist.s +++ b/lld/test/MachO/invalid/no-filelist.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o -# RUN: not lld -flavor darwinnew -Z -filelist nonexistent %t.o -o %t 2>&1 | FileCheck %s +# RUN: not lld -flavor darwinnew -filelist nonexistent %t.o -o %t 2>&1 | FileCheck %s # CHECK: cannot open nonexistent: {{N|n}}o such file or directory .globl _main diff --git a/lld/test/MachO/invalid/no-id-dylink.yaml b/lld/test/MachO/invalid/no-id-dylink.yaml --- a/lld/test/MachO/invalid/no-id-dylink.yaml +++ b/lld/test/MachO/invalid/no-id-dylink.yaml @@ -2,7 +2,7 @@ # RUN: mkdir -p %t # RUN: yaml2obj %s -o %t/libnoid.dylib # RUN: echo ".globl _main; .text; _main: ret" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/no-id-dylink.o -# RUN: not lld -flavor darwinnew -o %t/no-id-dylink -Z -L%t -lnoid %t/no-id-dylink.o 2>&1 | FileCheck %s +# RUN: not lld -flavor darwinnew -o %t/no-id-dylink -L%t -lnoid %t/no-id-dylink.o 2>&1 | FileCheck %s # CHECK: error: dylib {{.*}}libnoid.dylib missing LC_ID_DYLIB load command ## This YAML file was originally generated from linking the following source diff --git a/lld/test/MachO/invalid/stub-link.s b/lld/test/MachO/invalid/stub-link.s --- a/lld/test/MachO/invalid/stub-link.s +++ b/lld/test/MachO/invalid/stub-link.s @@ -6,7 +6,7 @@ # RUN: mkdir -p %t # # RUN: llvm-mc -filetype obj -triple x86_64-apple-ios %s -o %t/test.o -# RUN: not lld -flavor darwinnew -o %t/test -Z -L%S/../Inputs/iPhoneSimulator.sdk/usr/lib -lSystem %t/test.o 2>&1 | FileCheck %s +# RUN: not lld -flavor darwinnew -o %t/test -syslibroot %S/../Inputs/iPhoneSimulator.sdk -lSystem %t/test.o 2>&1 | FileCheck %s # CHECK-DAG: error: undefined symbol __cache_handle_memory_pressure_event # CHECK-DAG: error: undefined symbol _from_non_reexported_tapi_dylib diff --git a/lld/test/MachO/invalid/undefined-symbol.s b/lld/test/MachO/invalid/undefined-symbol.s --- a/lld/test/MachO/invalid/undefined-symbol.s +++ b/lld/test/MachO/invalid/undefined-symbol.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 | FileCheck %s -DBASENAME=%basename_t +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 | FileCheck %s -DBASENAME=%basename_t # CHECK: error: undefined symbol _foo, referenced from [[BASENAME]] .globl _main diff --git a/lld/test/MachO/lc-build-version.s b/lld/test/MachO/lc-build-version.s --- a/lld/test/MachO/lc-build-version.s +++ b/lld/test/MachO/lc-build-version.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o -# RUN: lld -flavor darwinnew -Z -platform_version macos 10.14.1 10.15 -o %t %t.o +# RUN: lld -flavor darwinnew -platform_version macos 10.14.1 10.15 -o %t %t.o # RUN: llvm-objdump --macho --all-headers %t | FileCheck %s # CHECK: cmd LC_BUILD_VERSION diff --git a/lld/test/MachO/link-search-order.s b/lld/test/MachO/link-search-order.s --- a/lld/test/MachO/link-search-order.s +++ b/lld/test/MachO/link-search-order.s @@ -10,7 +10,7 @@ # RUN: llvm-ar --format=darwin crs %t/libgoodbye.a %t/goodbye.o # # RUN: llvm-mc -filetype obj -triple x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -o %t/test -Z -L%t -lhello -lgoodbye -lSystem %t/test.o +# RUN: lld -flavor darwinnew -o %t/test -L%t -lhello -lgoodbye -lSystem %t/test.o # # RUN: llvm-objdump --macho --dylibs-used %t/test | FileCheck %s diff --git a/lld/test/MachO/linkedit-contiguity.s b/lld/test/MachO/linkedit-contiguity.s --- a/lld/test/MachO/linkedit-contiguity.s +++ b/lld/test/MachO/linkedit-contiguity.s @@ -9,13 +9,13 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %p/Inputs/libhello.s \ # RUN: -o %t/libhello.o -# RUN: lld -flavor darwinnew -dylib -L%S/Inputs/MacOSX.sdk/usr/lib \ +# RUN: lld -flavor darwinnew -dylib \ # RUN: -install_name @executable_path/libhello.dylib %t/libhello.o \ # RUN: -o %t/libhello.dylib # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/test.o # RUN: lld -flavor darwinnew -o %t/test \ -# RUN: -L%S/Inputs/MacOSX.sdk/usr/lib -L%t -lhello %t/test.o -lSystem +# RUN: -L%t -lhello %t/test.o -lSystem # RUN: llvm-objdump --macho --all-headers %t/test | FileCheck %s diff --git a/lld/test/MachO/lit.local.cfg b/lld/test/MachO/lit.local.cfg new file mode 100644 --- /dev/null +++ b/lld/test/MachO/lit.local.cfg @@ -0,0 +1,5 @@ +# -*- Python -*- + +import os + +config.environment['LLD_TEST_SYSLIBROOT'] = os.path.join(config.test_source_root, "MachO", "Inputs", "MacOSX.sdk") diff --git a/lld/test/MachO/local-got.s b/lld/test/MachO/local-got.s --- a/lld/test/MachO/local-got.s +++ b/lld/test/MachO/local-got.s @@ -2,10 +2,10 @@ # RUN: mkdir -p %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %p/Inputs/libhello.s \ # RUN: -o %t/libhello.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -dylib -install_name \ +# RUN: lld -flavor darwinnew -lSystem -dylib -install_name \ # RUN: @executable_path/libhello.dylib %t/libhello.o -o %t/libhello.dylib # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/test %t/test.o -L%t -lhello +# RUN: lld -flavor darwinnew -lSystem -o %t/test %t/test.o -L%t -lhello # RUN: llvm-objdump --full-contents --rebase --bind %t/test | FileCheck %s --match-full-lines ## Check that the GOT references the cstrings. --full-contents displays the @@ -29,7 +29,7 @@ # CHECK-NEXT: segment section address type addend dylib symbol # CHECK-NEXT: __DATA_CONST __got 0x[[#ADDR+16]] pointer 0 libhello _hello_its_me -# RUN: lld -flavor darwinnew -pie -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/test %t/test.o -L%t -lhello +# RUN: lld -flavor darwinnew -pie -lSystem -o %t/test %t/test.o -L%t -lhello # RUN: llvm-objdump --macho --rebase --bind %t/test | FileCheck %s --check-prefix=PIE --match-full-lines # PIE: Rebase table: # PIE-NEXT: segment section address type diff --git a/lld/test/MachO/nonweak-definition-override.s b/lld/test/MachO/nonweak-definition-override.s --- a/lld/test/MachO/nonweak-definition-override.s +++ b/lld/test/MachO/nonweak-definition-override.s @@ -4,14 +4,14 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/nonweakdef.s -o %t/nonweakdef.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/weakdef.s -o %t/weakdef.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/common.s -o %t/common.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -dylib %t/libfoo.o -o %t/libfoo.dylib +# RUN: lld -flavor darwinnew -dylib %t/libfoo.o -o %t/libfoo.dylib ## Check that non-weak defined symbols override weak dylib symbols. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk %t/nonweakdef.o -L%t -lfoo -o %t/nonweakdef -lSystem +# RUN: lld -flavor darwinnew %t/nonweakdef.o -L%t -lfoo -o %t/nonweakdef -lSystem # RUN: llvm-objdump --macho --weak-bind %t/nonweakdef | FileCheck %s ## Test loading the dylib before the obj file. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -L%t -lfoo %t/nonweakdef.o -o %t/nonweakdef -lSystem +# RUN: lld -flavor darwinnew -L%t -lfoo %t/nonweakdef.o -o %t/nonweakdef -lSystem # RUN: llvm-objdump --macho --weak-bind %t/nonweakdef | FileCheck %s # CHECK: Weak bind table: @@ -20,11 +20,11 @@ # CHECK-EMPTY: ## Check that weak defined symbols do not override weak dylib symbols. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk %t/weakdef.o -L%t -lfoo -o %t/weakdef -lSystem +# RUN: lld -flavor darwinnew %t/weakdef.o -L%t -lfoo -o %t/weakdef -lSystem # RUN: llvm-objdump --macho --weak-bind %t/weakdef | FileCheck %s --check-prefix=NO-WEAK-OVERRIDE ## Test loading the dylib before the obj file. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -L%t -lfoo %t/weakdef.o -o %t/weakdef -lSystem +# RUN: lld -flavor darwinnew -L%t -lfoo %t/weakdef.o -o %t/weakdef -lSystem # RUN: llvm-objdump --macho --weak-bind %t/weakdef | FileCheck %s --check-prefix=NO-WEAK-OVERRIDE # NO-WEAK-OVERRIDE: Weak bind table: @@ -33,7 +33,7 @@ ## Check that common symbols take precedence over weak dylib symbols, but do not ## generate an overridding weak binding. -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -L%t -lfoo %t/common.o -o %t/common -lSystem +# RUN: lld -flavor darwinnew -L%t -lfoo %t/common.o -o %t/common -lSystem # RUN: llvm-objdump --macho --weak-bind %t/common | FileCheck %s --check-prefix=NO-WEAK-OVERRIDE # RUN: llvm-objdump --syms %t/common | FileCheck %s --check-prefix=COMMON # COMMON-DAG: g O __DATA,__common _nonweak_in_dylib diff --git a/lld/test/MachO/objc.s b/lld/test/MachO/objc.s --- a/lld/test/MachO/objc.s +++ b/lld/test/MachO/objc.s @@ -10,7 +10,7 @@ # RUN: llvm-ar rcs %t/libHasSomeObjC.a %t/has-objc-symbol.o %t/has-objc-category.o %t/has-swift.o %t/no-objc.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem %t/test.o -o %t/test \ +# RUN: lld -flavor darwinnew -lSystem %t/test.o -o %t/test \ # RUN: -L%t -lHasSomeObjC -ObjC # RUN: llvm-objdump --section-headers --syms %t/test | FileCheck %s --check-prefix=OBJC @@ -24,7 +24,7 @@ # OBJC-NEXT: g F __TEXT,__text _main # OBJC-NEXT: g F __TEXT,__text _OBJC_CLASS_$_MyObject -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem %t/test.o -o %t/test \ +# RUN: lld -flavor darwinnew -lSystem %t/test.o -o %t/test \ # RUN: -L%t -lHasSomeObjC # RUN: llvm-objdump --section-headers --syms %t/test | FileCheck %s --check-prefix=NO-OBJC diff --git a/lld/test/MachO/platform-version.s b/lld/test/MachO/platform-version.s --- a/lld/test/MachO/platform-version.s +++ b/lld/test/MachO/platform-version.s @@ -5,56 +5,56 @@ ### with bad version strings, so we use *-NOT patterns to ensure that ### no "malformed platform" diagnostic appears in those cases. -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version \ # RUN: | FileCheck --check-prefix=FAIL-MISSING %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version wtf \ # RUN: | FileCheck --check-prefix=FAIL-MISSING %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version lolz 1.2.3.4.5 \ # RUN: | FileCheck --check-prefix=FAIL-MISSING %s # FAIL-MISSING: -platform_version: missing argument # FAIL-MISSING-NOT: malformed platform: {{.*}} # FAIL-MISSING-NOT: malformed {{minimum|sdk}} version: {{.*}} -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version macOS -lfoo 2 \ # RUN: | FileCheck --check-prefix=FAIL-MALFORM %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version iOS 1 2.a \ # RUN: | FileCheck --check-prefix=FAIL-MALFORM %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version tvOS 1.2.3.4.5 10 \ # RUN: | FileCheck --check-prefix=FAIL-MALFORM %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version watchOS 10 1.2.3.4.5 \ # RUN: | FileCheck --check-prefix=FAIL-MALFORM %s # FAIL-MALFORM-NOT: malformed platform: {{.*}} # FAIL-MALFORM: malformed {{minimum|sdk}} version: {{.*}} -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version bridgeOS 1 5 -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version "Mac Catalyst" 1.2 5.6 -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version "iOS Simulator" 1.2.3 5.6.7 -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version tvOS-Simulator 1.2.3.4 5.6.7.8 -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version watchOS-Simulator 1 5 -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version 1 1 5 -# RUN: lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version 9 1 5 -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version wtf 1 5 \ # RUN: | FileCheck --check-prefix=FAIL-PLATFORM %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version 0 1 5 \ # RUN: | FileCheck --check-prefix=FAIL-PLATFORM %s -# RUN: not lld -flavor darwinnew -Z -o %t %t.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t %t.o 2>&1 \ # RUN: -platform_version 10 1 5 \ # RUN: | FileCheck --check-prefix=FAIL-PLATFORM %s # FAIL-PLATFORM: malformed platform: {{.*}} diff --git a/lld/test/MachO/reexport-stub.s b/lld/test/MachO/reexport-stub.s --- a/lld/test/MachO/reexport-stub.s +++ b/lld/test/MachO/reexport-stub.s @@ -4,7 +4,7 @@ ## This test verifies that a non-TBD dylib can re-export a TBD library. # RUN: echo "" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/reexporter.o -# RUN: lld -flavor darwinnew -dylib -syslibroot %S/Inputs/MacOSX.sdk -lc++ -sub_library libc++ \ +# RUN: lld -flavor darwinnew -dylib -lc++ -sub_library libc++ \ # RUN: %t/reexporter.o -o %t/libreexporter.dylib # RUN: llvm-objdump --macho --all-headers %t/libreexporter.dylib | FileCheck %s --check-prefix=DYLIB-HEADERS # DYLIB-HEADERS: cmd LC_REEXPORT_DYLIB @@ -12,7 +12,7 @@ # DYLIB-HEADERS: name /usr/lib/libc++.dylib # RUN: llvm-mc -filetype obj -triple x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -o %t/test -syslibroot %S/Inputs/MacOSX.sdk -lSystem -L%t -lreexporter %t/test.o +# RUN: lld -flavor darwinnew -o %t/test -lSystem -L%t -lreexporter %t/test.o # RUN: llvm-objdump --bind --no-show-raw-insn -d %t/test | FileCheck %s # CHECK: Bind table: diff --git a/lld/test/MachO/relocations.s b/lld/test/MachO/relocations.s --- a/lld/test/MachO/relocations.s +++ b/lld/test/MachO/relocations.s @@ -1,6 +1,6 @@ # REQUIRES: x86 # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t %t.o +# RUN: lld -flavor darwinnew -lSystem -o %t %t.o # RUN: llvm-objdump --section-headers --syms -d %t | FileCheck %s # CHECK-LABEL: Sections: diff --git a/lld/test/MachO/resolution.s b/lld/test/MachO/resolution.s --- a/lld/test/MachO/resolution.s +++ b/lld/test/MachO/resolution.s @@ -10,11 +10,11 @@ ## Check that we select the symbol defined in the first dylib passed on the ## command line. -# RUN: lld -flavor darwinnew -o %t/dylib-first -Z -L%t -lresolution -lresolution2 %t/resolution.o +# RUN: lld -flavor darwinnew -o %t/dylib-first -L%t -lresolution -lresolution2 %t/resolution.o # RUN: llvm-objdump --macho --bind %t/dylib-first | FileCheck %s --check-prefix=DYLIB-FIRST # DYLIB-FIRST: libresolution _foo -# RUN: lld -flavor darwinnew -o %t/dylib2-first -Z -L%t -lresolution2 -lresolution %t/resolution.o +# RUN: lld -flavor darwinnew -o %t/dylib2-first -L%t -lresolution2 -lresolution %t/resolution.o # RUN: llvm-objdump --macho --bind %t/dylib2-first | FileCheck %s --check-prefix=DYLIB2-FIRST # DYLIB2-FIRST: libresolution2 _foo @@ -24,7 +24,7 @@ ## Check that we pick the dylib symbol over the undefined symbol in the object ## file, even if the object file appears first on the command line. -# RUN: lld -flavor darwinnew -o %t/obj-first -Z -L%t %t/resolution.o -lresolution +# RUN: lld -flavor darwinnew -o %t/obj-first -L%t %t/resolution.o -lresolution # RUN: llvm-objdump --macho --bind %t/obj-first | FileCheck %s --check-prefix=OBJ-FIRST # OBJ-FIRST: libresolution _foo ## But defined symbols should still take precedence. diff --git a/lld/test/MachO/search-paths-darwin.test b/lld/test/MachO/search-paths-darwin.test --- a/lld/test/MachO/search-paths-darwin.test +++ b/lld/test/MachO/search-paths-darwin.test @@ -3,7 +3,7 @@ RUN: mkdir -p %t1 %t2 -RUN: lld -flavor darwinnew -arch x86_64 -v -L%t1 -F%t2 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 %s +RUN: env -u LLD_TEST_SYSLIBROOT lld -flavor darwinnew -arch x86_64 -v -L%t1 -F%t2 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 %s CHECK: Library search paths: CHECK-NEXT: [[LDIR]] CHECK-NEXT: /usr/lib @@ -13,7 +13,7 @@ CHECK-NEXT: /Library/Frameworks CHECK-NEXT: /System/Library/Frameworks -RUN: lld -flavor darwinnew -arch x86_64 -v -L%t1 -F%t2 -Z 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 --check-prefix=CHECK_Z %s +RUN: env -u LLD_TEST_SYSLIBROOT lld -flavor darwinnew -arch x86_64 -v -L%t1 -F%t2 -Z 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 --check-prefix=CHECK_Z %s CHECK_Z: Library search paths: CHECK_Z-NEXT: [[LDIR]] CHECK_Z-NEXT: Framework search paths: diff --git a/lld/test/MachO/search-paths.test b/lld/test/MachO/search-paths.test --- a/lld/test/MachO/search-paths.test +++ b/lld/test/MachO/search-paths.test @@ -2,13 +2,15 @@ RUN: mkdir -p %t1 %t2 -RUN: lld -flavor darwinnew -Z -v -L%t1 -F%t2 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 %s +RUN: lld -flavor darwinnew -v -L%t1 -F%t2 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 %s CHECK: Library search paths: CHECK-NEXT: [[LDIR]] +CHECK-NEXT: /usr/lib CHECK-NEXT: Framework search paths: CHECK-NEXT: [[FDIR]] +CHECK-NEXT: /System/Library/Frameworks -RUN: lld -flavor darwinnew -Z -v -L%t1 -F%t2 -Z 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 --check-prefix=CHECK_Z %s +RUN: lld -flavor darwinnew -v -L%t1 -F%t2 -Z 2>&1 | FileCheck -DLDIR=%t1 -DFDIR=%t2 --check-prefix=CHECK_Z %s CHECK_Z: Library search paths: CHECK_Z-NEXT: [[LDIR]] CHECK_Z-NEXT: Framework search paths: diff --git a/lld/test/MachO/sectcreate.s b/lld/test/MachO/sectcreate.s --- a/lld/test/MachO/sectcreate.s +++ b/lld/test/MachO/sectcreate.s @@ -3,7 +3,7 @@ # RUN: echo "-sectcreate 1.1" >%t1 # RUN: echo "-sectcreate 1.2" >%t2 # RUN: echo "-sectcreate 2" >%t3 -# RUN: lld -flavor darwinnew -Z \ +# RUN: lld -flavor darwinnew \ # RUN: -sectcreate SEG SEC1 %t1 \ # RUN: -sectcreate SEG SEC2 %t3 \ # RUN: -sectcreate SEG SEC1 %t2 \ diff --git a/lld/test/MachO/static-link.s b/lld/test/MachO/static-link.s --- a/lld/test/MachO/static-link.s +++ b/lld/test/MachO/static-link.s @@ -6,7 +6,7 @@ # RUN: llvm-ar --format=darwin crs %t/libgoodbye.a %t/goodbye.o # # RUN: llvm-mc -filetype obj -triple x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -o %t/test -Z -L%t -lgoodbye %t/test.o +# RUN: lld -flavor darwinnew -o %t/test -L%t -lgoodbye %t/test.o # # RUN: llvm-objdump --syms -d -r %t/test | FileCheck %s diff --git a/lld/test/MachO/stub-framework.s b/lld/test/MachO/stub-framework.s --- a/lld/test/MachO/stub-framework.s +++ b/lld/test/MachO/stub-framework.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: mkdir -p %t # RUN: llvm-mc -filetype obj -triple x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -o %t/test -Z -F%S/Inputs/MacOSX.sdk/System/Library/Frameworks -framework CoreFoundation %t/test.o +# RUN: lld -flavor darwinnew -o %t/test -framework CoreFoundation %t/test.o # # RUN: llvm-objdump --macho --dylibs-used %t/test | FileCheck %s # CHECK: /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation diff --git a/lld/test/MachO/stub-link.s b/lld/test/MachO/stub-link.s --- a/lld/test/MachO/stub-link.s +++ b/lld/test/MachO/stub-link.s @@ -3,7 +3,7 @@ # RUN: mkdir -p %t # # RUN: llvm-mc -filetype obj -triple x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -o %t/test -syslibroot %S/Inputs/MacOSX.sdk -lSystem -lc++ -framework CoreFoundation %t/test.o +# RUN: lld -flavor darwinnew -o %t/test -lSystem -lc++ -framework CoreFoundation %t/test.o # # RUN: llvm-objdump --bind --no-show-raw-insn -d -r %t/test | FileCheck %s diff --git a/lld/test/MachO/sub-library.s b/lld/test/MachO/sub-library.s --- a/lld/test/MachO/sub-library.s +++ b/lld/test/MachO/sub-library.s @@ -46,11 +46,11 @@ ## Check that we fail gracefully if the sub-library is missing -# RUN: not lld -flavor darwinnew -dylib -Z -o %t/sub-library -sub_library libmissing %t/sub-library.o 2>&1 \ +# RUN: not lld -flavor darwinnew -dylib -o %t/sub-library -sub_library libmissing %t/sub-library.o 2>&1 \ # RUN: | FileCheck %s --check-prefix=MISSING-SUB-LIBRARY # MISSING-SUB-LIBRARY: error: -sub_library libmissing does not match a supplied dylib # RUN: rm -f %t/libgoodbye.dylib -# RUN: not lld -flavor darwinnew -o %t/sub-library -Z -L%t -lsuper %t/sub-library.o 2>&1 \ +# RUN: not lld -flavor darwinnew -o %t/sub-library -L%t -lsuper %t/sub-library.o 2>&1 \ # RUN: | FileCheck %s --check-prefix=MISSING-REEXPORT -DDIR=%t # MISSING-REEXPORT: error: unable to locate re-export with install name [[DIR]]/libgoodbye.dylib diff --git a/lld/test/MachO/symbol-order.s b/lld/test/MachO/symbol-order.s --- a/lld/test/MachO/symbol-order.s +++ b/lld/test/MachO/symbol-order.s @@ -5,7 +5,7 @@ # RUN: echo ".global f; .section __TEXT,test_f2; f: ret" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/f2.o # RUN: echo ".global f, g; .section __TEXT,test_fg; f: ret; g: callq f" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/fg.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -dylib -o %t/libf1.dylib %t/f1.o -lSystem +# RUN: lld -flavor darwinnew -dylib -o %t/libf1.dylib %t/f1.o -lSystem # RUN: rm -f %t/libf2_g.a # RUN: llvm-ar rcs %t/libf2_g.a %t/f2.o %t/g.o @@ -13,7 +13,7 @@ # RUN: rm -f %t/libfg.a # RUN: llvm-ar rcs %t/libfg.a %t/fg.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib %t/libf1.dylib %t/libf2_g.a %t/test.o -o %t/test.out -lSystem +# RUN: lld -flavor darwinnew %t/libf1.dylib %t/libf2_g.a %t/test.o -o %t/test.out -lSystem # RUN: llvm-objdump --syms --macho --lazy-bind %t/test.out | FileCheck %s --check-prefix DYLIB-FIRST # DYLIB-FIRST: SYMBOL TABLE: # DYLIB-FIRST-DAG: __TEXT,test_g g @@ -21,7 +21,7 @@ # DYLIB-FIRST-NEXT: segment section address dylib symbol # DYLIB-FIRST-NEXT: __DATA __la_symbol_ptr {{[0-9a-z]+}} libf1 f -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib %t/libf2_g.a %t/libf1.dylib %t/test.o -o %t/test.out -lSystem +# RUN: lld -flavor darwinnew %t/libf2_g.a %t/libf1.dylib %t/test.o -o %t/test.out -lSystem # RUN: llvm-objdump --syms --macho --lazy-bind %t/test.out | FileCheck %s --check-prefix ARCHIVE-FIRST # ARCHIVE-FIRST: SYMBOL TABLE: # ARCHIVE-FIRST-DAG: __TEXT,test_f2 f @@ -30,7 +30,7 @@ # ARCHIVE-FIRST-NEXT: segment section address dylib symbol # ARCHIVE-FIRST-EMPTY: -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib %t/libf1.dylib %t/libfg.a %t/test.o -o %t/test.out -lSystem +# RUN: lld -flavor darwinnew %t/libf1.dylib %t/libfg.a %t/test.o -o %t/test.out -lSystem # RUN: llvm-objdump --syms --macho --lazy-bind %t/test.out | FileCheck %s --check-prefix ARCHIVE-PRIORITY # ARCHIVE-PRIORITY: SYMBOL TABLE: # ARCHIVE-PRIORITY-DAG: __TEXT,test_fg f diff --git a/lld/test/MachO/syslibroot.test b/lld/test/MachO/syslibroot.test --- a/lld/test/MachO/syslibroot.test +++ b/lld/test/MachO/syslibroot.test @@ -1,12 +1,12 @@ # Ensure that a nonexistent path is ignored with a syslibroot -RUN: lld -flavor darwinnew -v -syslibroot /var/empty | FileCheck %s -check-prefix CHECK-NONEXISTENT-SYSLIBROOT +RUN: env -u LLD_TEST_SYSLIBROOT lld -flavor darwinnew -v -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: lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t +RUN: env -u LLD_TEST_SYSLIBROOT lld -flavor darwinnew -v -syslibroot %t | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t CHECK-SYSLIBROOT: Library search paths: CHECK-SYSLIBROOT-NEXT: [[ROOT]]/usr/lib @@ -18,7 +18,7 @@ CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/Library/libxml2-development CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/usr/lib -RUN: lld -flavor darwinnew -v -Z -syslibroot %t -L %t/Library/libxml2-development | FileCheck %s -check-prefix CHECK-PATH-WITHOUT-REROOT -DPATH=%t/Library/libxml2-development +RUN: lld -flavor darwinnew -v -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]] diff --git a/lld/test/MachO/tlv-dylib.s b/lld/test/MachO/tlv-dylib.s --- a/lld/test/MachO/tlv-dylib.s +++ b/lld/test/MachO/tlv-dylib.s @@ -3,13 +3,13 @@ # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/libtlv.s -o %t/libtlv.o # RUN: lld -flavor darwinnew -dylib -install_name @executable_path/libtlv.dylib \ -# RUN: -Z -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/libtlv.dylib %t/libtlv.o +# RUN: -lSystem -o %t/libtlv.dylib %t/libtlv.o # RUN: llvm-objdump --exports-trie -d --no-show-raw-insn %t/libtlv.dylib | FileCheck %s --check-prefix=DYLIB # DYLIB-DAG: _foo [per-thread] # DYLIB-DAG: _bar [per-thread] # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o -# RUN: lld -flavor darwinnew -Z -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -L%t -ltlv %t/test.o -o %t/test +# RUN: lld -flavor darwinnew -lSystem -L%t -ltlv %t/test.o -o %t/test # RUN: llvm-objdump --bind -d --no-show-raw-insn %t/test | FileCheck %s # CHECK: movq [[#]](%rip), %rax # [[#%x, FOO:]] diff --git a/lld/test/MachO/tlv.s b/lld/test/MachO/tlv.s --- a/lld/test/MachO/tlv.s +++ b/lld/test/MachO/tlv.s @@ -1,7 +1,7 @@ # REQUIRES: x86 # RUN: mkdir -p %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %s -o %t/test.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/test %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/test %t/test.o # RUN: llvm-readobj --file-headers %t/test | FileCheck %s --check-prefix=HEADER # RUN: llvm-objdump -D %t/test | FileCheck %s diff --git a/lld/test/MachO/weak-binding.s b/lld/test/MachO/weak-binding.s --- a/lld/test/MachO/weak-binding.s +++ b/lld/test/MachO/weak-binding.s @@ -2,8 +2,8 @@ # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/libfoo.s -o %t/libfoo.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -dylib %t/libfoo.o -o %t/libfoo.dylib -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk %t/test.o -L%t -lfoo -o %t/test -lSystem +# RUN: lld -flavor darwinnew -dylib %t/libfoo.o -o %t/libfoo.dylib +# RUN: lld -flavor darwinnew %t/test.o -L%t -lfoo -o %t/test -lSystem # RUN: llvm-objdump -d --no-show-raw-insn --bind --lazy-bind --weak-bind --full-contents %t/test | \ # RUN: FileCheck %s diff --git a/lld/test/MachO/weak-definition-direct-fetch.s b/lld/test/MachO/weak-definition-direct-fetch.s --- a/lld/test/MachO/weak-definition-direct-fetch.s +++ b/lld/test/MachO/weak-definition-direct-fetch.s @@ -42,46 +42,46 @@ ## For dylibs and object files, the non-weak symbol always wins. But the weak ## flag has no effect when we are dealing with two archive symbols. -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-nonweak-dylibs -Z -L%t -lweakfoo -lfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-nonweak-dylibs -L%t -lweakfoo -lfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-nonweak-dylibs | FileCheck %s --check-prefix=PREFER-NONWEAK-DYLIB -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-weak-dylibs -Z -L%t -lfoo -lweakfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-weak-dylibs -L%t -lfoo -lweakfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-weak-dylibs | FileCheck %s --check-prefix=PREFER-NONWEAK-DYLIB -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-nonweak-objs -Z -L%t %t/weakfoo.o %t/foo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-nonweak-objs -L%t %t/weakfoo.o %t/foo.o %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-nonweak-objs | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-weak-objs -Z -L%t %t/foo.o %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-weak-objs -L%t %t/foo.o %t/weakfoo.o %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-weak-objs | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-nonweak-archives -Z -L%t %t/weakfoo.a %t/foo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-nonweak-archives -L%t %t/weakfoo.a %t/foo.a %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-nonweak-archives | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-weak-archives -Z -L%t %t/foo.a %t/weakfoo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-weak-archives -L%t %t/foo.a %t/weakfoo.a %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-weak-archives | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT ## The remaining lines test symbol pairs of different types. -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-dylib-weak-ar -Z -L%t -lweakfoo %t/weakfoo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-dylib-weak-ar -L%t -lweakfoo %t/weakfoo.a %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-dylib-weak-ar | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-ar-weak-dylib -Z -L%t %t/weakfoo.a -lweakfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-ar-weak-dylib -L%t %t/weakfoo.a -lweakfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-ar-weak-dylib | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-ar-nonweak-dylib -Z -L%t %t/weakfoo.a -lfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-ar-nonweak-dylib -L%t %t/weakfoo.a -lfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-ar-nonweak-dylib | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-dylib-weak-ar -Z -L%t -lfoo %t/weakfoo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-dylib-weak-ar -L%t -lfoo %t/weakfoo.a %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-dylib-weak-ar | FileCheck %s --check-prefix=PREFER-NONWEAK-DYLIB -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-dylib-weak-obj -Z -L%t -lweakfoo %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-dylib-weak-obj -L%t -lweakfoo %t/weakfoo.o %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-dylib-weak-obj | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-obj-weak-dylib -Z -L%t %t/weakfoo.o -lweakfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-obj-weak-dylib -L%t %t/weakfoo.o -lweakfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-obj-weak-dylib | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-obj-nonweak-dylib -Z -L%t %t/weakfoo.o -lfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-obj-nonweak-dylib -L%t %t/weakfoo.o -lfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-obj-nonweak-dylib | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-dylib-weak-obj -Z -L%t -lfoo %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-dylib-weak-obj -L%t -lfoo %t/weakfoo.o %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-dylib-weak-obj | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-obj-nonweak-ar -Z -L%t %t/weakfoo.o %t/foo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-obj-nonweak-ar -L%t %t/weakfoo.o %t/foo.a %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-obj-nonweak-ar | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-ar-weak-obj -Z -L%t %t/foo.a %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-ar-weak-obj -L%t %t/foo.a %t/weakfoo.o %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-ar-weak-obj | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT .globl _main diff --git a/lld/test/MachO/weak-definition-indirect-fetch.s b/lld/test/MachO/weak-definition-indirect-fetch.s --- a/lld/test/MachO/weak-definition-indirect-fetch.s +++ b/lld/test/MachO/weak-definition-indirect-fetch.s @@ -20,19 +20,19 @@ # PREFER-NONWEAK-OBJECT: O __TEXT,nonweak _foo -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-nonweak-archives -Z -L%t %t/weakfoo.a %t/foo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-nonweak-archives -L%t %t/weakfoo.a %t/foo.a %t/test.o # RUN: llvm-objdump --syms %t/weak-nonweak-archives | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-weak-archives -Z -L%t %t/foo.a %t/weakfoo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-weak-archives -L%t %t/foo.a %t/weakfoo.a %t/test.o # RUN: llvm-objdump --syms %t/nonweak-weak-archives | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-nonweak-objs -Z -L%t %t/weakfoo.o %t/foo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-nonweak-objs -L%t %t/weakfoo.o %t/foo.o %t/test.o # RUN: llvm-objdump --syms %t/weak-nonweak-objs | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-weak-objs -Z -L%t %t/foo.o %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-weak-objs -L%t %t/foo.o %t/weakfoo.o %t/test.o # RUN: llvm-objdump --syms %t/nonweak-weak-objs | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-obj-nonweak-ar -Z -L%t %t/weakfoo.o %t/foo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-obj-nonweak-ar -L%t %t/weakfoo.o %t/foo.a %t/test.o # RUN: llvm-objdump --syms %t/weak-obj-nonweak-ar | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-ar-weak-obj -Z -L%t %t/foo.a %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-ar-weak-obj -L%t %t/foo.a %t/weakfoo.o %t/test.o # RUN: llvm-objdump --syms %t/nonweak-ar-weak-obj | FileCheck %s --check-prefix=PREFER-NONWEAK-OBJECT .globl _main diff --git a/lld/test/MachO/weak-definition-order.s b/lld/test/MachO/weak-definition-order.s --- a/lld/test/MachO/weak-definition-order.s +++ b/lld/test/MachO/weak-definition-order.s @@ -9,9 +9,9 @@ # RUN: echo ".globl _foo; .weak_definition _foo; .section __TEXT,weak1; _foo:" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/weak1.o # RUN: echo ".globl _foo; .weak_definition _foo; .section __TEXT,weak2; _foo:" | llvm-mc -filetype=obj -triple=x86_64-apple-darwin -o %t/weak2.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/obj12 -Z -L%t %t/weak1.o %t/weak2.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/obj12 -L%t %t/weak1.o %t/weak2.o %t/test.o # RUN: llvm-objdump --syms %t/obj12 | FileCheck %s --check-prefix=WEAK1 -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/obj21 -Z -L%t %t/weak2.o %t/weak1.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/obj21 -L%t %t/weak2.o %t/weak1.o %t/test.o # RUN: llvm-objdump --syms %t/obj21 | FileCheck %s --check-prefix=WEAK2 # WEAK1: O __TEXT,weak1 _foo @@ -22,9 +22,9 @@ # RUN: lld -flavor darwinnew -dylib -install_name \ # RUN: @executable_path/libweak2.dylib %t/weak2.o -o %t/libweak2.dylib -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/dylib12 -Z -L%t -lweak1 -lweak2 %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/dylib12 -L%t -lweak1 -lweak2 %t/test.o # RUN: llvm-objdump --macho --bind %t/dylib12 | FileCheck %s --check-prefix=DYLIB1 -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/dylib21 -Z -L%t -lweak2 -lweak1 %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/dylib21 -L%t -lweak2 -lweak1 %t/test.o # RUN: llvm-objdump --macho --bind %t/dylib21 | FileCheck %s --check-prefix=DYLIB2 # DYLIB1: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} pointer 0 libweak1 _foo # DYLIB2: __DATA __la_symbol_ptr 0x{{[0-9a-f]*}} pointer 0 libweak2 _foo diff --git a/lld/test/MachO/weak-definition-over-dysym.s b/lld/test/MachO/weak-definition-over-dysym.s --- a/lld/test/MachO/weak-definition-over-dysym.s +++ b/lld/test/MachO/weak-definition-over-dysym.s @@ -22,14 +22,14 @@ # PREFER-WEAK-OBJECT: O __TEXT,weak _foo # PREFER-NONWEAK-OBJECT: O __TEXT,nonweak _foo -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-dylib-weak-ar -Z -L%t -lfoo %t/weakfoo.a %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-dylib-weak-ar -L%t -lfoo %t/weakfoo.a %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-dylib-weak-ar | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-ar-nonweak-dylib -Z -L%t %t/weakfoo.a -lfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-ar-nonweak-dylib -L%t %t/weakfoo.a -lfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-ar-nonweak-dylib | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/weak-obj-nonweak-dylib -Z -L%t %t/weakfoo.o -lfoo %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/weak-obj-nonweak-dylib -L%t %t/weakfoo.o -lfoo %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/weak-obj-nonweak-dylib | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -o %t/nonweak-dylib-weak-obj -Z -L%t -lfoo %t/weakfoo.o %t/test.o +# RUN: lld -flavor darwinnew -lSystem -o %t/nonweak-dylib-weak-obj -L%t -lfoo %t/weakfoo.o %t/test.o # RUN: llvm-objdump --macho --lazy-bind --syms %t/nonweak-dylib-weak-obj | FileCheck %s --check-prefix=PREFER-WEAK-OBJECT .globl _main diff --git a/lld/test/MachO/weak-header-flags.s b/lld/test/MachO/weak-header-flags.s --- a/lld/test/MachO/weak-header-flags.s +++ b/lld/test/MachO/weak-header-flags.s @@ -2,15 +2,15 @@ # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/libweak-defines.s -o %t/libweak-defines.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -dylib %t/libweak-defines.o -o %t/libweak-defines.dylib +# RUN: lld -flavor darwinnew -dylib %t/libweak-defines.o -o %t/libweak-defines.dylib # RUN: llvm-readobj --file-headers %t/libweak-defines.dylib | FileCheck %s --check-prefix=WEAK-DEFINES-AND-BINDS # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/binds-to-weak.s -o %t/binds-to-weak.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -L%t -lweak-defines -o %t/binds-to-weak %t/binds-to-weak.o +# RUN: lld -flavor darwinnew -lSystem -L%t -lweak-defines -o %t/binds-to-weak %t/binds-to-weak.o # RUN: llvm-readobj --file-headers %t/binds-to-weak | FileCheck %s --check-prefix=WEAK-BINDS-ONLY # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/overrides-weak.s -o %t/overrides-weak.o -# RUN: lld -flavor darwinnew -L%S/Inputs/MacOSX.sdk/usr/lib -lSystem -L%t -lweak-defines -o %t/overrides-weak %t/overrides-weak.o +# RUN: lld -flavor darwinnew -lSystem -L%t -lweak-defines -o %t/overrides-weak %t/overrides-weak.o # RUN: llvm-readobj --file-headers %t/overrides-weak | FileCheck %s --check-prefix=WEAK-DEFINES-ONLY # WEAK-DEFINES-AND-BINDS: MH_BINDS_TO_WEAK diff --git a/lld/test/MachO/weak-import.s b/lld/test/MachO/weak-import.s --- a/lld/test/MachO/weak-import.s +++ b/lld/test/MachO/weak-import.s @@ -2,9 +2,9 @@ # RUN: split-file %s %t # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/test.s -o %t/test.o # RUN: llvm-mc -filetype=obj -triple=x86_64-apple-darwin %t/foo.s -o %t/foo.o -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -lSystem -dylib %t/foo.o -o %t/libfoo.dylib +# RUN: lld -flavor darwinnew -lSystem -dylib %t/foo.o -o %t/libfoo.dylib -# RUN: lld -flavor darwinnew -syslibroot %S/Inputs/MacOSX.sdk -weak-lSystem %t/test.o -weak_framework CoreFoundation -weak_library %t/libfoo.dylib -o %t/test +# RUN: lld -flavor darwinnew -weak-lSystem %t/test.o -weak_framework CoreFoundation -weak_library %t/libfoo.dylib -o %t/test # RUN: llvm-objdump --macho --all-headers %t/test | FileCheck %s -DDIR=%t # CHECK: cmd LC_LOAD_WEAK_DYLIB