mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 18:16:06 +00:00
COFF: Make test commands shorter. NFC.
llvm-svn: 244227
This commit is contained in:
parent
251b0e268b
commit
6872455c6d
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
#
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -1,3 +1,3 @@
|
||||
# RUN: lld -flavor link /help | FileCheck %s
|
||||
# RUN: lld-link /help | FileCheck %s
|
||||
|
||||
CHECK: OVERVIEW: LLVM Linker
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
@ -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"?>
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 [
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
#
|
||||
|
@ -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
|
||||
|
@ -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{{.*}}:
|
||||
|
@ -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:
|
||||
|
@ -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{{.*}}:
|
||||
|
Loading…
x
Reference in New Issue
Block a user