COFF: Make test commands shorter. NFC.

llvm-svn: 244227
This commit is contained in:
Rui Ueyama 2015-08-06 16:47:46 +00:00
parent 251b0e268b
commit 6872455c6d
80 changed files with 174 additions and 174 deletions

View File

@ -1,14 +1,14 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /entry:foo /subsystem:console \
# RUN: lld-link /entry:foo /subsystem:console \
# RUN: /alternatename:foo=main /out:%t.exe %t.obj
# RUN: lld -flavor link /entry:foo /subsystem:console \
# RUN: lld-link /entry:foo /subsystem:console \
# RUN: /alternatename:foo=main \
# RUN: /alternatename:foo=main \
# RUN: /alternatename:nosuchsym1=nosuchsym2 \
# RUN: /out:%t.exe %t.obj
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /entry:foo /subsystem:console /out:%t.exe %t.obj
# RUN: lld-link /entry:foo /subsystem:console /out:%t.exe %t.obj
---
header:

View File

@ -1,7 +1,7 @@
# RUN: yaml2obj %s > %t1.obj
# RUN: yaml2obj %s > %t2.obj
# RUN: llvm-lib /out:%t.lib %t1.obj %t2.obj
# RUN: lld -flavor link /out:%t.exe /lldmap:%t.map /entry:main /subsystem:console %p/Inputs/ret42.obj %t.lib
# RUN: lld-link /out:%t.exe /lldmap:%t.map /entry:main /subsystem:console %p/Inputs/ret42.obj %t.lib
# RUN: FileCheck %s < %t.map
# CHECK-NOT: .lib

View File

@ -2,7 +2,7 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: llvm-objdump -d %t.obj | FileCheck %s -check-prefix BEFORE
# RUN: lld -flavor link /entry:function /subsystem:console /out:%t.exe %t.obj
# RUN: lld-link /entry:function /subsystem:console /out:%t.exe %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s -check-prefix AFTER
# BEFORE: Disassembly of section .text:

View File

@ -2,7 +2,7 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: llvm-objdump -d %t.obj | FileCheck %s -check-prefix BEFORE
# RUN: lld -flavor link /entry:function /subsystem:console /out:%t.exe %t.obj
# RUN: lld-link /entry:function /subsystem:console /out:%t.exe %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s -check-prefix AFTER
# BEFORE: Disassembly of section .text:

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %p/Inputs/armnt-executable.obj.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:mainCRTStartup /subsystem:console %t.obj
# RUN: lld-link /out:%t.exe /entry:mainCRTStartup /subsystem:console %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
CHECK: AddressOfEntryPoint: 0x1001

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /subsystem:console %t.obj \
# RUN: lld-link /out:%t.exe /subsystem:console %t.obj \
# RUN: /entry:mainCRTStartup %p/Inputs/library.lib
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck %s

View File

@ -2,7 +2,7 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: llvm-objdump -d %t.obj | FileCheck %s -check-prefix BEFORE
# RUN: lld -flavor link /out:%t.exe /subsystem:console /entry:get_function %t.obj
# RUN: lld-link /out:%t.exe /subsystem:console /entry:get_function %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s -check-prefix AFTER
# BEFORE: Disassembly of section .text:

View File

@ -2,7 +2,7 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: llvm-objdump -d %t.obj | FileCheck %s -check-prefix BEFORE
# RUN: lld -flavor link /entry:get_buffer /subsystem:console /out:%t.exe %t.obj
# RUN: lld-link /entry:get_buffer /subsystem:console /out:%t.exe %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s -check-prefix AFTER
# BEFORE: Disassembly of section .text:

View File

@ -1,6 +1,6 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT-HEADER %s
# RUN: llvm-objdump -s %t.exe | FileCheck -check-prefix=DEFAULT-TEXT %s
@ -8,7 +8,7 @@
# DEFAULT-TEXT: Contents of section .text:
# DEFAULT-TEXT-NEXT: 1000 00000040 01000000
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /base:0x280000000
# RUN: lld-link /out:%t.exe /entry:main %t.obj /base:0x280000000
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=BASE-HEADER %s
# RUN: llvm-objdump -s %t.exe | FileCheck -check-prefix=BASE-TEXT %s

View File

@ -1,9 +1,9 @@
# RUN: yaml2obj < %s > %t.obj
#
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
# RUN: lld-link /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
# RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck %s -check-prefix=BASEREL
#
# RUN: lld -flavor link /out:%t.exe /entry:main /fixed %t.obj %p/Inputs/std64.lib
# RUN: lld-link /out:%t.exe /entry:main /fixed %t.obj %p/Inputs/std64.lib
# RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck %s -check-prefix=NOBASEREL
#
# BASEREL: BaseReloc [
@ -43,11 +43,11 @@
# NOBASEREL: BaseReloc [
# NOBASEREL-NEXT: ]
#
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
# RUN: lld-link /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
# RUN: llvm-readobj -file-headers -sections %t.exe | FileCheck %s \
# RUN: --check-prefix=BASEREL-HEADER
#
# RN: lld -flavor link /out:%t.exe /entry:main /fixed %t.obj %p/Inputs/std64.lib
# RN: lld-link /out:%t.exe /entry:main /fixed %t.obj %p/Inputs/std64.lib
# RN: llvm-readobj -file-headers %t.exe | FileCheck %s \
# RN: --check-prefix=NOBASEREL-HEADER
#

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s
# Operands of B8 (MOV EAX) are common symbols

View File

@ -1,11 +1,11 @@
# RUN: yaml2obj < %s > %t1.obj
# RUN: yaml2obj < %s > %t2.obj
# RUN: not lld -flavor link /out:%t.exe %t1.obj %t2.obj >& %t.log
# RUN: not lld-link /out:%t.exe %t1.obj %t2.obj >& %t.log
# RUN: FileCheck %s < %t.log
# RUN: llvm-as -o %t.lto1.obj %S/Inputs/conflict.ll
# RUN: llvm-as -o %t.lto2.obj %S/Inputs/conflict.ll
# RUN: not lld -flavor link /out:%t.exe %t.lto1.obj %t.lto2.obj >& %t.log
# RUN: not lld-link /out:%t.exe %t.lto1.obj %t.lto2.obj >& %t.log
# RUN: FileCheck %s < %t.log
# CHECK: duplicate symbol: foo {{.+}}1.obj and foo {{.+}}2.obj

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main /subsystem:console %t.obj
# RUN: lld-link /out:%t.exe /entry:main /subsystem:console %t.obj
---
header:

View File

@ -1,13 +1,13 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: echo -e "LIBRARY foo\nEXPORTS ? @" > %t.def
# RUN: not lld -flavor link /def:%t.def %t.obj
# RUN: not lld-link /def:%t.def %t.obj
# RUN: echo -e "LIBRARY foo\nHEAP abc" > %t.def
# RUN: not lld -flavor link /def:%t.def %t.obj
# RUN: not lld-link /def:%t.def %t.obj
# RUN: echo -e "LIBRARY foo\nSTACK abc" > %t.def
# RUN: not lld -flavor link /def:%t.def %t.obj
# RUN: not lld-link /def:%t.def %t.obj
# RUN: echo -e "foo" > %t.def
# RUN: not lld -flavor link /def:%t.def %t.obj
# RUN: not lld-link /def:%t.def %t.obj

View File

@ -1,4 +1,4 @@
# RUN: lld -flavor link /out:%t.exe /entry:main /subsystem:console \
# RUN: lld-link /out:%t.exe /entry:main /subsystem:console \
# RUN: %p/Inputs/hello64.obj %p/Inputs/std64.lib /delayload:std64.DLL \
# RUN: /alternatename:__delayLoadHelper2=main
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %p/Inputs/hello32.yaml > %t.obj
# RUN: lld -flavor link %t.obj %p/Inputs/std32.lib /subsystem:console \
# RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \
# RUN: /entry:main@0 /alternatename:___delayLoadHelper2@8=_main@0 \
# RUN: /debug /delayload:std32.dll /out:%t.exe
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s

View File

@ -2,7 +2,7 @@
# REQUIRES: winlib
# RUN: yaml2obj < %p/Inputs/export.yaml > %t.obj
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \
# RUN: /export:mangled
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=EXPORT %s
@ -18,7 +18,7 @@ EXPORT-NEXT: 4 0x1010 exportfn3
# RUN: yaml2obj < %p/Inputs/export2.yaml > %t5.obj
# RUN: rm -f %t5.lib
# RUN: llvm-ar cru %t5.lib %t5.obj
# RUN: lld -flavor link /out:%t5.dll /dll %t.obj %t5.lib /export:mangled2
# RUN: lld-link /out:%t5.dll /dll %t.obj %t5.lib /export:mangled2
# RUN: llvm-objdump -p %t5.dll | FileCheck -check-prefix=EXPORT2 %s
EXPORT2: Export Table:
@ -29,7 +29,7 @@ EXPORT2-NEXT: 1 0x101c ?mangled2@@YAHXZ
EXPORT2-NEXT: 2 0x1010 exportfn3
# RUN: llvm-as -o %t.lto.obj %p/Inputs/export.ll
# RUN: lld -flavor link /out:%t.lto.dll /dll %t.lto.obj /export:exportfn1 /export:exportfn2
# RUN: lld-link /out:%t.lto.dll /dll %t.lto.obj /export:exportfn1 /export:exportfn2
# RUN: llvm-objdump -p %t.lto.dll | FileCheck -check-prefix=EXPORT-LTO %s
EXPORT-LTO: Export Table:
@ -40,13 +40,13 @@ EXPORT-LTO-NEXT: 1 0x1010 exportfn1
EXPORT-LTO-NEXT: 2 0x1020 exportfn2
EXPORT-LTO-NEXT: 3 0x1030 exportfn3
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /implib:%t2.lib \
# RUN: lld-link /out:%t.dll /dll %t.obj /implib:%t2.lib \
# RUN: /export:exportfn1 /export:exportfn2
# RUN: yaml2obj < %p/Inputs/import.yaml > %t2.obj
# RUN: lld -flavor link /out:%t2.exe /entry:main %t2.obj %t2.lib
# RUN: lld-link /out:%t2.exe /entry:main %t2.obj %t2.lib
# RUN: llvm-readobj -coff-imports %t2.exe | FileCheck -check-prefix=IMPORT %s
# RUN: lld -flavor link /out:%t2.lto.exe /entry:main %t2.obj %t.lto.lib
# RUN: lld-link /out:%t2.lto.exe /entry:main %t2.obj %t.lto.lib
# RUN: llvm-readobj -coff-imports %t2.lto.exe | FileCheck -check-prefix=IMPORT %s
IMPORT: Symbol: exportfn1

View File

@ -1,3 +1,3 @@
# RUN: not lld -flavor link nosuchfile.obj >& %t.log
# RUN: not lld-link nosuchfile.obj >& %t.log
# RUN: FileCheck -check-prefix=MISSING %s < %t.log
MISSING: nosuchfile.obj: {{[Nn]}}o such file or directory

View File

@ -1,17 +1,17 @@
# RUN: sed -e s/ENTRYNAME/main/ %s | yaml2obj > %t.obj
# RUN: not lld -flavor link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: not lld-link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: FileCheck -check-prefix=MAIN %s < %t.log
# RUN: sed s/ENTRYNAME/wmain/ %s | yaml2obj > %t.obj
# RUN: not lld -flavor link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: not lld-link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: FileCheck -check-prefix=WMAIN %s < %t.log
# RUN: sed s/ENTRYNAME/WinMain/ %s | yaml2obj > %t.obj
# RUN: not lld -flavor link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: not lld-link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: FileCheck -check-prefix=WINMAIN %s < %t.log
# RUN: sed s/ENTRYNAME/wWinMain/ %s | yaml2obj > %t.obj
# RUN: not lld -flavor link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: not lld-link /out:%t.exe %t.obj > %t.log 2>&1
# RUN: FileCheck -check-prefix=WWINMAIN %s < %t.log
# MAIN: <root>: undefined symbol: mainCRTStartup

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: not lld -flavor link /out:%t.exe %t.obj /verbose > %t.log 2>&1
# RUN: not lld-link /out:%t.exe %t.obj /verbose > %t.log 2>&1
# RUN: FileCheck %s < %t.log
# CHECK: Entry name inferred: WinMainCRTStartup

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: not lld -flavor link /out:%t.exe %t.obj /verbose > %t.log 2>&1
# RUN: not lld-link /out:%t.exe %t.obj /verbose > %t.log 2>&1
# RUN: FileCheck %s < %t.log
# CHECK: Entry name inferred: _WinMainCRTStartup

View File

@ -1,7 +1,7 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-as -o %t.lto.obj %S/Inputs/entry-mangled.ll
# RUN: lld -flavor link /out:%t.exe /entry:main %t.lto.obj
# RUN: lld-link /out:%t.exe /entry:main %t.lto.obj
---
header:

View File

@ -1,7 +1,7 @@
; RUN: llvm-as -o %t.obj %s
; RUN: rm -f %t.lib
; RUN: llvm-ar cru %t.lib %t.obj
; RUN: lld -flavor link /out:%t.exe /entry:main %t.lib
; RUN: lld-link /out:%t.exe /entry:main %t.lib
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"

View File

@ -1,6 +1,6 @@
# RUN: yaml2obj < %p/Inputs/export.yaml > %t.obj
#
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK1 %s
# REQUIRES: winlib
@ -11,7 +11,7 @@ CHECK1-NEXT: 0 0
CHECK1-NEXT: 1 0x1008 exportfn1
CHECK1-NEXT: 2 0x1010 exportfn2
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1,@5 /export:exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1,@5 /export:exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK2 %s
CHECK2: Export Table:
@ -26,7 +26,7 @@ CHECK2-NEXT: 5 0x1008 exportfn1
CHECK2-NEXT: 6 0x1010 exportfn2
CHECK2-NEXT: 7 0x1010 exportfn3
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1,@5,noname /export:exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1,@5,noname /export:exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK3 %s
CHECK3: Export Table:
@ -40,7 +40,7 @@ CHECK3-NEXT: 4 0
CHECK3-NEXT: 5 0x1008
CHECK3-NEXT: 6 0x1010 exportfn2
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:f1=exportfn1 /export:f2=exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:f1=exportfn1 /export:f2=exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK4 %s
CHECK4: Export Table:
@ -53,7 +53,7 @@ CHECK4-NEXT: 3 0x1010 f2
# RUN: echo "EXPORTS exportfn1 @3" > %t.def
# RUN: echo "fn2=exportfn2 @2" >> %t.def
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /def:%t.def
# RUN: lld-link /out:%t.dll /dll %t.obj /def:%t.def
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK5 %s
CHECK5: Export Table:
@ -65,7 +65,7 @@ CHECK5-NEXT: 2 0x1010 fn2
CHECK5-NEXT: 3 0x1008 exportfn1
CHECK5-NEXT: 4 0x1010 exportfn3
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \
# RUN: /export:exportfn1 /export:exportfn2,@5 >& %t.log
# RUN: FileCheck -check-prefix=CHECK6 %s < %t.log

View File

@ -1,6 +1,6 @@
# RUN: yaml2obj < %s > %t.obj
#
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK1 %s
# REQUIRES: winlib
@ -11,7 +11,7 @@
# CHECK1-NEXT: 1 0x1008 exportfn1
# CHECK1-NEXT: 2 0x1010 exportfn2
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1,@5 \
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1,@5 \
# RUN: /export:exportfn2 /export:mangled
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK2 %s
@ -28,7 +28,7 @@
# CHECK2-NEXT: 7 0x1010 exportfn2
# CHECK2-NEXT: 8 0x1010 exportfn3
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1,@5,noname /export:exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1,@5,noname /export:exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK3 %s
# CHECK3: Export Table:
@ -42,7 +42,7 @@
# CHECK3-NEXT: 5 0x1008
# CHECK3-NEXT: 6 0x1010 exportfn2
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:f1=exportfn1 /export:f2=exportfn2
# RUN: lld-link /out:%t.dll /dll %t.obj /export:f1=exportfn1 /export:f2=exportfn2
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK4 %s
# CHECK4: Export Table:
@ -55,7 +55,7 @@
# RUN: echo "EXPORTS exportfn1 @3" > %t.def
# RUN: echo "fn2=exportfn2 @2" >> %t.def
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /def:%t.def
# RUN: lld-link /out:%t.dll /dll %t.obj /def:%t.def
# RUN: llvm-objdump -p %t.dll | FileCheck -check-prefix=CHECK5 %s
# CHECK5: Export Table:
@ -67,7 +67,7 @@
# CHECK5-NEXT: 3 0x1008 exportfn1
# CHECK5-NEXT: 4 0x1010 exportfn3
# RUN: lld -flavor link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \
# RUN: lld-link /out:%t.dll /dll %t.obj /export:exportfn1 /export:exportfn2 \
# RUN: /export:exportfn1 /export:exportfn2,@5 >& %t.log
# RUN: FileCheck -check-prefix=CHECK6 %s < %t.log

View File

@ -1,11 +1,11 @@
# RUN: lld -flavor link /entry:main /subsystem:console /out:%t.exe \
# RUN: lld-link /entry:main /subsystem:console /out:%t.exe \
# RUN: %p/Inputs/ret42.obj
# RUN: lld -flavor link /entry:main /subsystem:console /out:%t.exe \
# RUN: lld-link /entry:main /subsystem:console /out:%t.exe \
# RUN: %p/Inputs/ret42.obj /failifmismatch:k1=v1 /failifmismatch:k2=v1
# RUN: lld -flavor link /entry:main /subsystem:console /out:%t.exe \
# RUN: lld-link /entry:main /subsystem:console /out:%t.exe \
# RUN: %p/Inputs/ret42.obj /failifmismatch:k1=v1 /failifmismatch:k1=v1
# RUN: not lld -flavor link /entry:main /subsystem:console /out:%t.exe \
# RUN: not lld-link /entry:main /subsystem:console /out:%t.exe \
# RUN: %p/Inputs/ret42.obj /failifmismatch:k1=v1 /failifmismatch:k1=v2

View File

@ -1,4 +1,4 @@
# Make sure input file type is detected by file magic and not by extension.
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.lib
# RUN: lld -flavor link /out:%t.exe /entry:main %t.lib
# RUN: lld-link /out:%t.exe /entry:main %t.lib

View File

@ -1,7 +1,7 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: not lld -flavor link /out:%t.exe /entry:main %t.obj >& %t.log
# RUN: not lld-link /out:%t.exe /entry:main %t.obj >& %t.log
# RUN: FileCheck %s < %t.log
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /force >& %t.log
# RUN: lld-link /out:%t.exe /entry:main %t.obj /force >& %t.log
# RUN: FileCheck %s < %t.log
# CHECK: .obj: undefined symbol: foo

View File

@ -1,24 +1,24 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s
DEFAULT: SizeOfHeapReserve: 1048576
DEFAULT: SizeOfHeapCommit: 4096
# RUN: lld -flavor link /out:%t.exe /entry:main /heap:0x3000 %t.obj
# RUN: lld-link /out:%t.exe /entry:main /heap:0x3000 %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
# RUN: echo "HEAPSIZE 12288" > %t.def
# RUN: lld -flavor link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
CHECK1: SizeOfHeapReserve: 12288
CHECK1: SizeOfHeapCommit: 4096
# RUN: lld -flavor link /out:%t.exe /entry:main /heap:0x5000,0x3000 %t.obj
# RUN: lld-link /out:%t.exe /entry:main /heap:0x5000,0x3000 %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
# RUN: echo "HEAPSIZE 20480,12288" > %t.def
# RUN: lld -flavor link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
CHECK2: SizeOfHeapReserve: 20480

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %p/Inputs/hello32.yaml > %t.obj
# RUN: lld -flavor link %t.obj %p/Inputs/std32.lib /subsystem:console \
# RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \
# RUN: /entry:main@0 /out:%t.exe
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=HEADER %s
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORTS %s

View File

@ -1,3 +1,3 @@
# RUN: lld -flavor link /help | FileCheck %s
# RUN: lld-link /help | FileCheck %s
CHECK: OVERVIEW: LLVM Linker

View File

@ -4,7 +4,7 @@
# RUN: yaml2obj < %p/Inputs/icf4.yaml > %t4.obj
# RUN: yaml2obj < %p/Inputs/icf5.yaml > %t5.obj
#
# RUN: lld -flavor link /out:%t.exe /entry:main \
# RUN: lld-link /out:%t.exe /entry:main \
# RUN: %t1.obj %t2.obj %t3.obj %t4.obj %t5.obj \
# RUN: /opt:lldicf /include:icf2 /include:icf3 /include:icf4 /include:icf5 \
# RUN: /verbose >& %t.log

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /opt:noref /entry:main \
# RUN: lld-link /out:%t.exe /opt:noref /entry:main \
# RUN: %t.obj %p/Inputs/imports-mangle.lib
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck %s

View File

@ -1,11 +1,11 @@
# Verify that the lld can handle .lib files and emit .idata sections.
#
# RUN: lld -flavor link /out:%t.exe /entry:main /subsystem:console \
# RUN: lld-link /out:%t.exe /entry:main /subsystem:console \
# RUN: %p/Inputs/hello64.obj %p/Inputs/std64.lib
# RUN: llvm-objdump -d %t.exe | FileCheck -check-prefix=TEXT %s
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s
# RUN: lld -flavor link /out:%t.exe /entry:main /subsystem:console \
# RUN: lld-link /out:%t.exe /entry:main /subsystem:console \
# RUN: %p/Inputs/hello64.obj %p/Inputs/std64.lib /include:ExitProcess
# RUN: llvm-objdump -d %t.exe | FileCheck -check-prefix=TEXT %s
# RUN: llvm-readobj -coff-imports %t.exe | FileCheck -check-prefix=IMPORT %s

View File

@ -1,11 +1,11 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /verbose >& %t.log
# RUN: lld-link /out:%t.exe /entry:main %t.obj /verbose >& %t.log
### FileCheck doesn't like empty input, so write something.
# RUN: echo dummy >> %t.log
# RUN: FileCheck -check-prefix=CHECK1 %s < %t.log
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /verbose /include:unused >& %t.log
# RUN: lld-link /out:%t.exe /entry:main %t.obj /verbose /include:unused >& %t.log
# RUN: echo dummy >> %t.log
# RUN: FileCheck -check-prefix=CHECK2 %s < %t.log

View File

@ -4,7 +4,7 @@
# RUN: rm -f %t2.lib %t3.lib
# RUN: llvm-ar cru %t2.lib %t2.obj
# RUN: llvm-ar cru %t3.lib %t3.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t1.obj %t2.lib %t3.lib /verbose >& %t.log
# RUN: lld-link /out:%t.exe /entry:main %t1.obj %t2.lib %t3.lib /verbose >& %t.log
# RUN: FileCheck %s < %t.log
CHECK: include2.test.tmp1.obj

View File

@ -3,7 +3,7 @@
# RUN: yaml2obj < %s > %t1.obj
# RUN: yaml2obj < %s > %t2.obj
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t3.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t1.obj %t2.obj %t3.obj
# RUN: lld-link /out:%t.exe /entry:main %t1.obj %t2.obj %t3.obj
---
header:

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %p/Inputs/hello32.yaml > %t.obj
# RUN: lld -flavor link %t.obj %p/Inputs/std32.lib /subsystem:console \
# RUN: lld-link %t.obj %p/Inputs/std32.lib /subsystem:console \
# RUN: /entry:main@0 /out:%t.exe /largeaddressaware
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=HEADER %s

View File

@ -3,14 +3,14 @@
# RUN: cp %p/Inputs/std64.lib %t/b/
# RUN: cp %p/Inputs/std64.lib %t/c/
# RUN: env LIB=%t/a lld -flavor link /out:%t.exe /entry:main /verbose \
# RUN: env LIB=%t/a lld-link /out:%t.exe /entry:main /verbose \
# RUN: std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN: /libpath:%t/b /libpath:%t/c > %t.log
# RUN: FileCheck -check-prefix=CHECK1 %s < %t.log
CHECK1: b{{[/\\]}}std64.lib
# RUN: lld -flavor link /out:%t.exe /entry:main /verbose \
# RUN: lld-link /out:%t.exe /entry:main /verbose \
# RUN: std64.lib /subsystem:console %p/Inputs/hello64.obj \
# RUN: /libpath:%t/a /libpath:%t/b /libpath:%t/c > %t.log
# RUN: FileCheck -check-prefix=CHECK2 %s < %t.log

View File

@ -1,4 +1,4 @@
# RUN: env LINK=-help lld -flavor link > %t.log
# RUN: env LINK=-help lld-link > %t.log
# RUN: FileCheck %s < %t.log
CHECK: OVERVIEW: LLVM Linker

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main /lldmap:%t.map %t.obj
# RUN: lld-link /out:%t.exe /entry:main /lldmap:%t.map %t.obj
# RUN: FileCheck %s < %t.map
# CHECK: .obj:

View File

@ -1,5 +1,5 @@
; RUN: llvm-as -o %t.obj %s
; RUN: lld -flavor link /out:%t.exe %t.obj /entry:main /subsystem:console
; RUN: lld-link /out:%t.exe %t.obj /entry:main /subsystem:console
; RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
; CHECK: LoadConfigTableRVA: 0x1000

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe %t.obj /entry:main /subsystem:console
# RUN: lld-link /out:%t.exe %t.obj /entry:main /subsystem:console
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
# CHECK: LoadConfigTableRVA: 0x1008

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe %t.obj /entry:main /subsystem:console
# RUN: lld-link /out:%t.exe %t.obj /entry:main /subsystem:console
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
# CHECK: LoadConfigTableRVA: 0x1000

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-objdump -s %t.exe | FileCheck %s
# RUN: llvm-readobj -coff-basereloc %t.exe | FileCheck -check-prefix=BASEREL %s

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-objdump -s %t.exe | FileCheck %s
# CHECK: Contents of section .text:

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /debug /out:%t.exe /entry:main %t.obj
# RUN: lld-link /debug /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -sections %t.exe | FileCheck %s
# CHECK: Name: .data_long_section_name

View File

@ -2,7 +2,7 @@
; RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/lto-chkstk-foo.obj %S/Inputs/lto-chkstk-foo.s
; RUN: llvm-mc -triple=x86_64-pc-windows-msvc -filetype=obj -o %T/lto-chkstk-chkstk.obj %S/Inputs/lto-chkstk-chkstk.s
; RUN: llvm-ar cru %t.lib %T/lto-chkstk-chkstk.obj
; RUN: lld -flavor link /out:%t.exe /entry:main /subsystem:console %t.obj %T/lto-chkstk-foo.obj %t.lib
; RUN: lld-link /out:%t.exe /entry:main /subsystem:console %t.obj %T/lto-chkstk-foo.obj %t.lib
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"

View File

@ -10,24 +10,24 @@
; RUN: rm -f %T/comdat.lib
; RUN: llvm-ar cru %T/comdat.lib %T/comdat1.obj %T/comdat2.obj
; RUN: lld -flavor link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat1.lto.obj %T/comdat2.lto.obj
; RUN: lld-link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat1.lto.obj %T/comdat2.lto.obj
; RUN: llvm-readobj -file-headers %T/comdat-main.exe | FileCheck -check-prefix=HEADERS-11 %s
; RUN: llvm-objdump -d %T/comdat-main.exe | FileCheck -check-prefix=TEXT-11 %s
; RUN: lld -flavor link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat.lto.lib
; RUN: lld-link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat.lto.lib
; RUN: llvm-readobj -file-headers %T/comdat-main.exe | FileCheck -check-prefix=HEADERS-11 %s
; RUN: llvm-objdump -d %T/comdat-main.exe | FileCheck -check-prefix=TEXT-11 %s
; RUN: lld -flavor link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.obj %T/comdat1.lto.obj %T/comdat2.lto.obj
; RUN: lld-link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.obj %T/comdat1.lto.obj %T/comdat2.lto.obj
; RUN: llvm-readobj -file-headers %T/comdat-main.exe | FileCheck -check-prefix=HEADERS-01 %s
; RUN: llvm-objdump -d %T/comdat-main.exe | FileCheck -check-prefix=TEXT-01 %s
; RUN: lld -flavor link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.obj %T/comdat.lto.lib
; RUN: lld-link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.obj %T/comdat.lto.lib
; RUN: llvm-readobj -file-headers %T/comdat-main.exe | FileCheck -check-prefix=HEADERS-01 %s
; RUN: llvm-objdump -d %T/comdat-main.exe | FileCheck -check-prefix=TEXT-01 %s
; RUN: lld -flavor link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat1.obj %T/comdat2.obj
; RUN: lld-link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat1.obj %T/comdat2.obj
; RUN: llvm-readobj -file-headers %T/comdat-main.exe | FileCheck -check-prefix=HEADERS-10 %s
; RUN: llvm-objdump -d %T/comdat-main.exe | FileCheck -check-prefix=TEXT-10 %s
; RUN: lld -flavor link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat.lib
; RUN: lld-link /out:%T/comdat-main.exe /entry:main /subsystem:console %T/comdat-main.lto.obj %T/comdat.lib
; RUN: llvm-readobj -file-headers %T/comdat-main.exe | FileCheck -check-prefix=HEADERS-10 %s
; RUN: llvm-objdump -d %T/comdat-main.exe | FileCheck -check-prefix=TEXT-10 %s

View File

@ -1,5 +1,5 @@
; RUN: llvm-as -o %T/lto-linker-opts.obj %s
; RUN: env LIB=%S/Inputs lld -flavor link /out:%T/lto-linker-opts.exe /entry:main /subsystem:console %T/lto-linker-opts.obj
; RUN: env LIB=%S/Inputs lld-link /out:%T/lto-linker-opts.exe /entry:main /subsystem:console %T/lto-linker-opts.obj
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"

View File

@ -1,5 +1,5 @@
; RUN: llvm-as -o %t.obj %s
; RUN: lld -flavor link /out:%t.exe /entry:foo /subsystem:console %t.obj
; RUN: lld-link /out:%t.exe /entry:foo /subsystem:console %t.obj
target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-windows-msvc"

View File

@ -8,24 +8,24 @@
; RUN: rm -f %T/foo.lib
; RUN: llvm-ar cru %T/foo.lib %T/foo.obj
; RUN: lld -flavor link /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.obj
; RUN: lld-link /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.obj
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-11 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-11 %s
; RUN: lld -flavor link /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.lib /verbose 2>&1 | FileCheck -check-prefix=VERBOSE %s
; RUN: lld-link /out:%T/main.exe /entry:main /include:f2 /subsystem:console %T/main.lto.obj %T/foo.lto.lib /verbose 2>&1 | FileCheck -check-prefix=VERBOSE %s
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-11 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-11 %s
; RUN: lld -flavor link /out:%T/main.exe /entry:main /subsystem:console %T/main.obj %T/foo.lto.obj
; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.obj %T/foo.lto.obj
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-01 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-01 %s
; RUN: lld -flavor link /out:%T/main.exe /entry:main /subsystem:console %T/main.obj %T/foo.lto.lib
; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.obj %T/foo.lto.lib
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-01 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-01 %s
; RUN: lld -flavor link /out:%T/main.exe /entry:main /subsystem:console %T/main.lto.obj %T/foo.obj
; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.lto.obj %T/foo.obj
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-10 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-10 %s
; RUN: lld -flavor link /out:%T/main.exe /entry:main /subsystem:console %T/main.lto.obj %T/foo.lib
; RUN: lld-link /out:%T/main.exe /entry:main /subsystem:console %T/main.lto.obj %T/foo.lib
; RUN: llvm-readobj -file-headers %T/main.exe | FileCheck -check-prefix=HEADERS-10 %s
; RUN: llvm-objdump -d %T/main.exe | FileCheck -check-prefix=TEXT-10 %s

View File

@ -1,29 +1,29 @@
# RUN: yaml2obj %p/Inputs/machine-x64.yaml > %t.obj
# RUN: lld -flavor link /entry:main /subsystem:console /out:%t.exe %t.obj
# RUN: lld-link /entry:main /subsystem:console /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=AMD64 %s
# RUN: lld -flavor link /entry:main /subsystem:console /machine:x64 \
# RUN: lld-link /entry:main /subsystem:console /machine:x64 \
# RUN: /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=AMD64 %s
AMD64: Machine: IMAGE_FILE_MACHINE_AMD64
# RUN: yaml2obj %p/Inputs/machine-x86.yaml > %t.obj
# RUN: lld -flavor link /entry:main /subsystem:console /out:%t.exe %t.obj
# RUN: lld-link /entry:main /subsystem:console /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=I386 %s
# RUN: lld -flavor link /entry:main /subsystem:console /machine:x86 \
# RUN: lld-link /entry:main /subsystem:console /machine:x86 \
# RUN: /out:%t.exe %t.obj /fixed
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=I386 %s
I386: Machine: IMAGE_FILE_MACHINE_I386
# RUN: yaml2obj %p/Inputs/machine-x64.yaml > %t.obj
# RUN: not lld -flavor link /entry:main /subsystem:console /machine:x86 \
# RUN: not lld-link /entry:main /subsystem:console /machine:x86 \
# RUN: /out:%t.exe %t.obj /fixed >& %t.log
# RUN: FileCheck -check-prefix=INCOMPAT %s < %t.log
# RUN: yaml2obj %p/Inputs/machine-x86.yaml > %t1.obj
# RUN: sed -e s/main/foo/ %p/Inputs/machine-x64.yaml | yaml2obj > %t2.obj
# RUN: not lld -flavor link /entry:main /subsystem:console /out:%t.exe \
# RUN: not lld-link /entry:main /subsystem:console /out:%t.exe \
# RUN: %t1.obj %t2.obj >& %t.log
# RUN: FileCheck -check-prefix=INCOMPAT %s < %t.log

View File

@ -1,6 +1,6 @@
# RUN: yaml2obj %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: FileCheck -check-prefix=MANIFEST %s < %t.exe.manifest
MANIFEST: <?xml version="1.0" standalone="yes"?>
@ -15,7 +15,7 @@ MANIFEST: </security>
MANIFEST: </trustInfo>
MANIFEST: </assembly>
# RUN: lld -flavor link /out:%t.exe /entry:main \
# RUN: lld-link /out:%t.exe /entry:main \
# RUN: /manifestuac:"level='requireAdministrator' uiAccess='true'" %t.obj
# RUN: FileCheck -check-prefix=UAC %s < %t.exe.manifest
@ -31,7 +31,7 @@ UAC: </security>
UAC: </trustInfo>
UAC: </assembly>
# RUN: lld -flavor link /out:%t.exe /entry:main \
# RUN: lld-link /out:%t.exe /entry:main \
# RUN: /manifestdependency:"foo='bar'" %t.obj
# RUN: FileCheck -check-prefix=DEPENDENCY %s < %t.exe.manifest
@ -52,7 +52,7 @@ DEPENDENCY: </dependentAssembly>
DEPENDENCY: </dependency>
DEPENDENCY: </assembly>
# RUN: lld -flavor link /out:%t.exe /entry:main /manifestuac:no %t.obj
# RUN: lld-link /out:%t.exe /entry:main /manifestuac:no %t.obj
# RUN: FileCheck -check-prefix=NOUAC %s < %t.exe.manifest
NOUAC: <?xml version="1.0" standalone="yes"?>

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main /subsystem:console /force \
# RUN: lld-link /out:%t.exe /entry:main /subsystem:console /force \
# RUN: /merge:.foo=.abc /merge:.bar=.def %t.obj /debug
# RUN: llvm-readobj -sections %t.exe | FileCheck %s

View File

@ -1,20 +1,20 @@
# RUN: cp %p/Inputs/hello64.obj %T
# RUN: cp %p/Inputs/std64.lib %T
# RUN: not lld -flavor link /out:%t.exe /entry:main /subsystem:console \
# RUN: not lld-link /out:%t.exe /entry:main /subsystem:console \
# RUN: hello64.obj /defaultlib:std64.lib >& %t.log
# RUN: FileCheck -check-prefix=CHECK1 %s < %t.log
# RUN: not lld -flavor link /out:%t.exe /entry:main /subsystem:console \
# RUN: not lld-link /out:%t.exe /entry:main /subsystem:console \
# RUN: hello64 /defaultlib:std64.lib >& %t.log
# RUN: FileCheck -check-prefix=CHECK2 %s < %t.log
# RUN: lld -flavor link /libpath:%T /out:%t.exe /entry:main \
# RUN: lld-link /libpath:%T /out:%t.exe /entry:main \
# RUN: /subsystem:console hello64.obj /defaultlib:std64.lib \
# RUN: /nodefaultlib:std64.lib >& %t.log || true
# RUN: FileCheck -check-prefix=CHECK3 %s < %t.log
# RUN: lld -flavor link /libpath:%T /out:%t.exe /entry:main \
# RUN: lld-link /libpath:%T /out:%t.exe /entry:main \
# RUN: /subsystem:console hello64.obj /defaultlib:std64 \
# RUN: /nodefaultlib:std64.lib >& %t.log || true
# RUN: FileCheck -check-prefix=CHECK3 %s < %t.log
@ -23,8 +23,8 @@ CHECK1: hello64.obj: {{[Nn]}}o such file or directory
CHECK2: hello64: {{[Nn]}}o such file or directory
CHECK3: hello64.obj: undefined symbol: MessageBoxA
# RUN: lld -flavor link /libpath:%T /out:%t.exe /entry:main \
# RUN: lld-link /libpath:%T /out:%t.exe /entry:main \
# RUN: /subsystem:console hello64.obj /defaultlib:std64.lib
# RUN: env LIB=%T lld -flavor link /out:%t.exe /entry:main \
# RUN: env LIB=%T lld-link /out:%t.exe /entry:main \
# RUN: /subsystem:console hello64.obj /defaultlib:std64.lib

View File

@ -1,9 +1,9 @@
# REQUIRES: winres
# RUN: yaml2obj < %p/Inputs/export.yaml > %t.obj
# RUN: lld -flavor link /out:%t.dll /dll %t.obj
# RUN: lld-link /out:%t.dll /dll %t.obj
# RUN: llvm-readobj -file-headers %t.dll | FileCheck -check-prefix=ENTRY %s
# RUN: lld -flavor link /out:%t.dll /dll /noentry %t.obj
# RUN: lld-link /out:%t.dll /dll /noentry %t.obj
# RUN: llvm-readobj -file-headers %t.dll | FileCheck -check-prefix=NOENTRY %s
ENTRY: AddressOfEntryPoint: 0x1000

View File

@ -1,12 +1,12 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj \
# RUN: lld-link /out:%t.exe /entry:main %t.obj \
# RUN: /verbose >& %t.log
### FileCheck doesn't like empty input, so write something.
# RUN: echo dummy >> %t.log
# RUN: FileCheck -check-prefix=CHECK1 %s < %t.log
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj \
# RUN: lld-link /out:%t.exe /entry:main %t.obj \
# RUN: /verbose /opt:noref >& %t.log
# RUN: echo dummy >> %t.log
# RUN: FileCheck -check-prefix=CHECK2 %s < %t.log

View File

@ -1,51 +1,51 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=BIND %s
# RUN: lld -flavor link /allowbind /out:%t.exe /entry:main %t.obj
# RUN: lld-link /allowbind /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=BIND %s
BIND-NOT: IMAGE_DLL_CHARACTERISTICS_NO_BIND
# RUN: lld -flavor link /allowbind:no /out:%t.exe /entry:main %t.obj
# RUN: lld-link /allowbind:no /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOBIND %s
NOBIND: IMAGE_DLL_CHARACTERISTICS_NO_BIND
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ISO %s
# RUN: lld -flavor link /allowisolation /out:%t.exe /entry:main %t.obj
# RUN: lld-link /allowisolation /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ISO %s
ISO-NOT: IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION
# RUN: lld -flavor link /allowisolation:no /out:%t.exe /entry:main %t.obj
# RUN: lld-link /allowisolation:no /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOISO %s
NOISO: IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ENT %s
# RUN: lld -flavor link /out:%t.exe /entry:main /highentropyva %t.obj
# RUN: lld-link /out:%t.exe /entry:main /highentropyva %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=ENT %s
ENT: IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA
# RUN: lld -flavor link /out:%t.exe /highentropyva:no /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /highentropyva:no /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOENT %s
NOENT-NOT: IMAGE_DLL_CHARACTERISTICS_HIGH_ENTROPY_VA
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NXCOMPAT %s
# RUN: lld -flavor link /out:%t.exe /entry:main /nxcompat %t.obj
# RUN: lld-link /out:%t.exe /entry:main /nxcompat %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NXCOMPAT %s
NXCOMPAT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT
# RUN: lld -flavor link /out:%t.exe /nxcompat:no /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /nxcompat:no /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NONXCOMPAT %s
NONXCOMPAT-NOT: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=TSAWARE %s
# RUN: lld -flavor link /out:%t.exe /entry:main /tsaware %t.obj
# RUN: lld-link /out:%t.exe /entry:main /tsaware %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=TSAWARE %s
TSAWARE: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE
# RUN: lld -flavor link /tsaware:no /out:%t.exe /entry:main %t.obj
# RUN: lld-link /tsaware:no /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=NOTSAWARE %s
NOTSAWARE-NOT: IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE

View File

@ -4,7 +4,7 @@
# RUN: rm -f %t2.lib %t3.lib
# RUN: llvm-ar cru %t2.lib %t2.obj
# RUN: llvm-ar cru %t3.lib %t3.obj
# RUN: lld -flavor link /out:%t.exe /entry:main \
# RUN: lld-link /out:%t.exe /entry:main \
# RUN: %t1.obj %t2.lib %t3.obj %t3.lib /verbose >& %t.log
# RUN: FileCheck %s < %t.log

View File

@ -5,9 +5,9 @@
# RUN: cp %t.obj %T/out/tmp/out2
# RUN: cp %t.obj %T/out/tmp/out3.xyz
# RUN: lld -flavor link /entry:main %T/out/out1.obj
# RUN: lld -flavor link /entry:main %T/out/tmp/out2
# RUN: lld -flavor link /entry:main %T/out/tmp/out3.xyz
# RUN: lld-link /entry:main %T/out/out1.obj
# RUN: lld-link /entry:main %T/out/tmp/out2
# RUN: lld-link /entry:main %T/out/tmp/out3.xyz
# RUN: llvm-readobj out1.exe | FileCheck %s
# RUN: llvm-readobj out2.exe | FileCheck %s

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-objdump -s %t.exe | FileCheck %s
# CHECK: .text:

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s
# CHECK: .text:

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main /base:0x400000 %t.obj
# RUN: lld-link /out:%t.exe /entry:main /base:0x400000 %t.obj
# RUN: llvm-objdump -d %t.exe | FileCheck %s
# CHECK: .text:

View File

@ -1,7 +1,7 @@
# REQUIRES: winres
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj %p/Inputs/resource.res
# RUN: lld-link /out:%t.exe /entry:main %t.obj %p/Inputs/resource.res
# Check if the binary contains UTF-16LE string "Hello" copied from resource.res.
# RUN: FileCheck --check-prefix=EXE %s < %t.exe

View File

@ -1,7 +1,7 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: echo /out:%t.exe /entry:main %t.obj > %t.rsp
# RUN: lld -flavor link @%t.rsp /heap:0x3000
# RUN: lld-link @%t.rsp /heap:0x3000
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
CHECK: SizeOfHeapReserve: 12288

View File

@ -1,8 +1,8 @@
# RUN: sed s/FEAT_VALUE/1/ %s | yaml2obj > %t.obj
# RUN: lld -flavor link /out:%t.exe /subsystem:console /entry:main /safeseh %t.obj
# RUN: lld-link /out:%t.exe /subsystem:console /entry:main /safeseh %t.obj
# RUN: sed s/FEAT_VALUE/0/ %s | yaml2obj > %t.obj
# RUN: not lld -flavor link2 /out:%t.exe /subsystem:console /entry:main \
# RUN: not lld-link /out:%t.exe /subsystem:console /entry:main \
# RUN: /safeseh %t.obj >& %t.log
# RUN: FileCheck %s < %t.log

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /subsystem:console /entry:main %t.obj
# RUN: lld-link /out:%t.exe /subsystem:console /entry:main %t.obj
# RUN: llvm-objdump -s %t.exe | FileCheck %s
# CHECK: Contents of section .rdata:

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /debug /out:%t.exe /entry:main %t.obj
# RUN: lld-link /debug /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -sections %t.exe | FileCheck %s
# CHECK: Name: .text

View File

@ -1,24 +1,24 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s
DEFAULT: SizeOfStackReserve: 1048576
DEFAULT: SizeOfStackCommit: 4096
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /stack:0x3000
# RUN: lld-link /out:%t.exe /entry:main %t.obj /stack:0x3000
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
# RUN: echo "STACKSIZE 12288" > %t.def
# RUN: lld -flavor link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
CHECK1: SizeOfStackReserve: 12288
CHECK1: SizeOfStackCommit: 4096
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /stack:0x5000,0x3000
# RUN: lld-link /out:%t.exe /entry:main %t.obj /stack:0x5000,0x3000
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
# RUN: echo "STACKSIZE 20480,12288" > %t.def
# RUN: lld -flavor link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: lld-link /out:%t.exe /entry:main /def:%t.def %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
CHECK2: SizeOfStackReserve: 20480

View File

@ -1,17 +1,17 @@
# RUN: sed -e s/ENTRYNAME/main/ %s | yaml2obj > %t.obj
# RUN: lld -flavor link /out:%t.exe %t.obj
# RUN: lld-link /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=MAIN %s
# RUN: sed s/ENTRYNAME/wmain/ %s | yaml2obj > %t.obj
# RUN: lld -flavor link /out:%t.exe %t.obj
# RUN: lld-link /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=WMAIN %s
# RUN: sed s/ENTRYNAME/WinMain/ %s | yaml2obj > %t.obj
# RUN: lld -flavor link /out:%t.exe %t.obj
# RUN: lld-link /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=WINMAIN %s
# RUN: sed s/ENTRYNAME/wWinMain/ %s | yaml2obj > %t.obj
# RUN: lld -flavor link /out:%t.exe %t.obj
# RUN: lld-link /out:%t.exe %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=WWINMAIN %s
# MAIN: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI

View File

@ -1,4 +1,4 @@
# RUN: lld -flavor link /entry:main /out:%t.exe /subsystem:windows \
# RUN: lld-link /entry:main /out:%t.exe /subsystem:windows \
# RUN: %p/Inputs/ret42.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
@ -8,7 +8,7 @@ CHECK1: MajorSubsystemVersion: 6
CHECK1: MinorSubsystemVersion: 0
CHECK1: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
# RUN: lld -flavor link /entry:main /out:%t.exe /subsystem:windows,8.9 \
# RUN: lld-link /entry:main /out:%t.exe /subsystem:windows,8.9 \
# RUN: %p/Inputs/ret42.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /debug /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
# RUN: lld-link /debug /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
# RUN: llvm-readobj -symbols %t.exe | FileCheck %s
# CHECK: Symbols [

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
# CHECK: TLSTableRVA: 0x1000

View File

@ -1,5 +1,5 @@
# RUN: yaml2obj < %s > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
# CHECK: TLSTableRVA: 0x1000

View File

@ -1,6 +1,6 @@
# RUN: yaml2obj < %s > %t.obj
#
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=HEADER %s
# RUN: llvm-objdump -unwind-info %t.exe | FileCheck -check-prefix=UNWIND %s
#

View File

@ -1,18 +1,18 @@
# RUN: yaml2obj < %p/Inputs/ret42.yaml > %t.obj
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj
# RUN: lld-link /out:%t.exe /entry:main %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=DEFAULT %s
DEFAULT: MajorImageVersion: 0
DEFAULT: MinorImageVersion: 0
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /version:11
# RUN: lld-link /out:%t.exe /entry:main %t.obj /version:11
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK1 %s
CHECK1: MajorImageVersion: 11
CHECK1: MinorImageVersion: 0
# RUN: lld -flavor link /out:%t.exe /entry:main %t.obj /version:11.22
# RUN: lld-link /out:%t.exe /entry:main %t.obj /version:11.22
# RUN: llvm-readobj -file-headers %t.exe | FileCheck -check-prefix=CHECK2 %s
CHECK2: MajorImageVersion: 11

View File

@ -1,7 +1,7 @@
# RUN: yaml2obj %s > %t.obj
# RUN: llvm-as -o %t.lto.obj %S/Inputs/weak-external.ll
# RUN: lld -flavor link /out:%t1.exe /entry:g /subsystem:console %t.obj
# RUN: lld -flavor link /out:%t2.exe /entry:g /subsystem:console /lldmap:%t2.map %t.obj %t.lto.obj
# RUN: lld-link /out:%t1.exe /entry:g /subsystem:console %t.obj
# RUN: lld-link /out:%t2.exe /entry:g /subsystem:console /lldmap:%t2.map %t.obj %t.lto.obj
# RUN: FileCheck %s < %t2.map
# CHECK: lto-llvm{{.*}}:

View File

@ -1,6 +1,6 @@
# RUN: yaml2obj %s > %t.obj
# RUN: llvm-as -o %t.lto.obj %S/Inputs/weak-external2.ll
# RUN: lld -flavor link /out:%t.exe /entry:g /subsystem:console %t.obj %t.lto.obj
# RUN: lld-link /out:%t.exe /entry:g /subsystem:console %t.obj %t.lto.obj
---
header:

View File

@ -1,8 +1,8 @@
# RUN: yaml2obj %s > %t.obj
# RUN: llvm-as -o %t.lto.obj %S/Inputs/weak-external3.ll
# RUN: lld -flavor link /out:%t1.exe /entry:f /subsystem:console /lldmap:%t1.map %t.lto.obj
# RUN: lld-link /out:%t1.exe /entry:f /subsystem:console /lldmap:%t1.map %t.lto.obj
# RUN: FileCheck --check-prefix=CHECK1 %s < %t1.map
# RUN: lld -flavor link /out:%t2.exe /entry:f /subsystem:console /lldmap:%t2.map %t.obj %t.lto.obj
# RUN: lld-link /out:%t2.exe /entry:f /subsystem:console /lldmap:%t2.map %t.obj %t.lto.obj
# RUN: FileCheck --check-prefix=CHECK2 %s < %t2.map
# CHECK1: lto-llvm{{.*}}: