Index: lld/trunk/test/MinGW/Inputs/imagebase-aarch64.yaml =================================================================== --- lld/trunk/test/MinGW/Inputs/imagebase-aarch64.yaml +++ lld/trunk/test/MinGW/Inputs/imagebase-aarch64.yaml @@ -1,47 +0,0 @@ ---- !COFF -header: - Machine: IMAGE_FILE_MACHINE_ARM64 - Characteristics: [ ] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 31C0C3666666662E0F1F84000000000031C0C3666666662E0F1F840000000000488D0500000000C3 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 40 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 3930888477 - Number: 1 - - Name: mainCRTStartup - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: main - Value: 16 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: func - Value: 32 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: __ImageBase - Value: 0 - SectionNumber: 0 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_EXTERNAL -... Index: lld/trunk/test/MinGW/Inputs/imagebase-arm.yaml =================================================================== --- lld/trunk/test/MinGW/Inputs/imagebase-arm.yaml +++ lld/trunk/test/MinGW/Inputs/imagebase-arm.yaml @@ -1,47 +0,0 @@ ---- !COFF -header: - Machine: IMAGE_FILE_MACHINE_ARMNT - Characteristics: [ ] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 31C0C3666666662E0F1F84000000000031C0C3666666662E0F1F840000000000B800000000C3 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 38 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 3189961473 - Number: 1 - - Name: mainCRTStartup - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: main - Value: 16 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: func - Value: 32 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: __ImageBase - Value: 0 - SectionNumber: 0 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_EXTERNAL -... Index: lld/trunk/test/MinGW/Inputs/imagebase-i386.yaml =================================================================== --- lld/trunk/test/MinGW/Inputs/imagebase-i386.yaml +++ lld/trunk/test/MinGW/Inputs/imagebase-i386.yaml @@ -1,47 +0,0 @@ ---- !COFF -header: - Machine: IMAGE_FILE_MACHINE_I386 - Characteristics: [ ] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 31C0C3666666662E0F1F84000000000031C0C3666666662E0F1F840000000000B800000000C3 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 38 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 3189961473 - Number: 1 - - Name: _mainCRTStartup - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: _main - Value: 16 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: _func - Value: 32 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: __image_base__ - Value: 0 - SectionNumber: 0 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_EXTERNAL -... Index: lld/trunk/test/MinGW/Inputs/imagebase-x86_64.yaml =================================================================== --- lld/trunk/test/MinGW/Inputs/imagebase-x86_64.yaml +++ lld/trunk/test/MinGW/Inputs/imagebase-x86_64.yaml @@ -1,47 +0,0 @@ ---- !COFF -header: - Machine: IMAGE_FILE_MACHINE_AMD64 - Characteristics: [ ] -sections: - - Name: .text - Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] - Alignment: 16 - SectionData: 31C0C3666666662E0F1F84000000000031C0C3666666662E0F1F840000000000488D0500000000C3 -symbols: - - Name: .text - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_STATIC - SectionDefinition: - Length: 40 - NumberOfRelocations: 1 - NumberOfLinenumbers: 0 - CheckSum: 3930888477 - Number: 1 - - Name: mainCRTStartup - Value: 0 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: main - Value: 16 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: func - Value: 32 - SectionNumber: 1 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_FUNCTION - StorageClass: IMAGE_SYM_CLASS_EXTERNAL - - Name: __image_base__ - Value: 0 - SectionNumber: 0 - SimpleType: IMAGE_SYM_TYPE_NULL - ComplexType: IMAGE_SYM_DTYPE_NULL - StorageClass: IMAGE_SYM_CLASS_EXTERNAL -... Index: lld/trunk/test/MinGW/driver.s =================================================================== --- lld/trunk/test/MinGW/driver.s +++ lld/trunk/test/MinGW/driver.s @@ -1,60 +0,0 @@ -# REQEUIRES: x86 -# RUN: rm -f a.exe a.dll - -# RUN: llvm-mc -triple=x86_64-windows-msvc %s -filetype=obj -o %t.obj -# RUN: ld.lld -m i386pep --entry main %t.obj -# RUN: llvm-readobj a.exe | FileCheck %s -# RUN: ld.lld -m i386pep -shared --entry main %t.obj -# RUN: llvm-readobj a.dll | FileCheck %s -# RUN: ld.lld -m i386pep -e main %t.obj -o %t.exe -# RUN: llvm-readobj %t.exe | FileCheck %s -# CHECK: File: - -# RUN: ld.lld -m i386pep -e main %t.obj -o %t.exe -verbose -### | FileCheck %s -check-prefix CHECK-VERBOSE -# CHECK-VERBOSE: lld-link -entry:main -# CHECK-VERBOSE-SAME: -machine:x64 -alternatename:__image_base__=__ImageBase -# CHECK-VERBOSE-SAME: -verbose - -# RUN: ld.lld -m i386pep --entry main %t.obj -o %t.exe --subsystem console -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-CONSOLE -# CHECK-CONSOLE: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI (0x3) - -# RUN: ld.lld -m i386pep --entry main %t.obj -o %t.exe --subsystem windows -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-WINDOWS -# CHECK-WINDOWS: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI (0x2) - -# RUN: ld.lld -m i386pep --entry main %t.obj -o %t.exe --stack 4194304,8192 -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-STACK -# CHECK-STACK: SizeOfStackReserve: 4194304 -# CHECK-STACK: SizeOfStackCommit: 8192 - -# RUN: yaml2obj < %p/Inputs/imagebase-i386.yaml > %t.obj -# RUN: ld.lld -m i386pe %t.obj -o %t.exe -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-I386 -# CHECK-I386: Machine: IMAGE_FILE_MACHINE_I386 - -# RUN: yaml2obj < %p/Inputs/imagebase-x86_64.yaml > %t.obj -# RUN: ld.lld -m i386pep %t.obj -o %t.exe -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-AMD64 -# CHECK-AMD64: Machine: IMAGE_FILE_MACHINE_AMD64 - -# RUN: yaml2obj < %p/Inputs/imagebase-arm.yaml > %t.obj -# RUN: ld.lld -m thumb2pe %t.obj -o %t.exe -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-ARMNT -# CHECK-ARMNT: Machine: IMAGE_FILE_MACHINE_ARMNT - -# RUN: yaml2obj < %p/Inputs/imagebase-aarch64.yaml > %t.obj -# RUN: ld.lld -m arm64pe %t.obj -o %t.exe -# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s -check-prefix CHECK-ARM64 -# CHECK-ARM64: Machine: IMAGE_FILE_MACHINE_ARM64 - -# RUN: yaml2obj < %p/../COFF/Inputs/export.yaml > %t.obj -# RUN: ld.lld -m i386pep --shared %t.obj -o %t.dll --out-implib %t.lib -# RUN: llvm-readobj %t.lib | FileCheck %s -check-prefix CHECK-IMPLIB -# CHECK-IMPLIB: Symbol: __imp_exportfn3 -# CHECK-IMPLIB: Symbol: exportfn3 - -.global main -.text -main: - ret Index: lld/trunk/test/MinGW/driver.test =================================================================== --- lld/trunk/test/MinGW/driver.test +++ lld/trunk/test/MinGW/driver.test @@ -0,0 +1,46 @@ +RUN: ld.lld -### foo.o -m i386pe | FileCheck -check-prefix=X86 %s +X86: -out:a.exe +X86-SAME: -machine:x86 +X86-SAME: -alternatename:__image_base__=___ImageBase +X86-SAME: foo.o + +RUN: ld.lld -### foo.o -m i386pep | FileCheck -check-prefix=X64 %s +X64: -out:a.exe +X64-SAME: -machine:x64 +X64-SAME: -alternatename:__image_base__=__ImageBase +X64-SAME: foo.o + +RUN: ld.lld -### foo.o -m thumb2pe | FileCheck -check-prefix=ARM %s +ARM: -out:a.exe +ARM-SAME: -machine:arm +ARM-SAME: -alternatename:__image_base__=__ImageBase +ARM-SAME: foo.o + +RUN: ld.lld -### foo.o -m arm64pe | FileCheck -check-prefix=ARM64 %s +ARM64: -out:a.exe +ARM64-SAME: -machine:arm64 +ARM64-SAME: -alternatename:__image_base__=__ImageBase +ARM64-SAME: foo.o + +RUN: ld.lld -### foo.o -m i386pep -shared | FileCheck -check-prefix=SHARED %s +SHARED: -out:a.dll +SHARED-SAME: -dll + +RUN: ld.lld -### foo.o -m i386pep -o bar.exe | FileCheck -check-prefix=OUT %s +OUT: -out:bar.exe + +RUN: ld.lld -### foo.o -m i386pep -e bar | FileCheck -check-prefix=ENTRY %s +RUN: ld.lld -### foo.o -m i386pep --entry bar | FileCheck -check-prefix=ENTRY %s +ENTRY: -entry:bar + +RUN: ld.lld -### foo.o -m i386pep -mllvm bar -mllvm baz | FileCheck -check-prefix=MLLVM %s +MLLVM: -mllvm:bar -mllvm:baz + +RUN: ld.lld -### foo.o -m i386pep --subsystem console | FileCheck -check-prefix=SUBSYSTEM %s +SUBSYSTEM: -subsystem:console + +RUN: ld.lld -### foo.o -m i386pep --stack 4194304,8192 | FileCheck -check-prefix=STACK %s +STACK: -stack:4194304,8192 + +RUN: ld.lld -### foo.o -m i386pep --verbose | FileCheck -check-prefix=VERBOSE %s +VERBOSE: -verbose Index: lld/trunk/test/MinGW/lto-debug-pass-arguments.ll =================================================================== --- lld/trunk/test/MinGW/lto-debug-pass-arguments.ll +++ lld/trunk/test/MinGW/lto-debug-pass-arguments.ll @@ -1,16 +0,0 @@ -; REQUIRES: x86 -; RUN: llvm-as %s -o %t.obj -; RUN: ld.lld -m i386pep -shared -o %t.dll %t.obj -mllvm -debug-pass=Arguments 2>&1 | FileCheck %s - -target datalayout = "e-m:w-i64:64-f80:128-n8:16:32:64-S128" -target triple = "x86_64-pc-windows-gnu" - -define void @dummy() { - ret void -} - -define void @_DllMainCRTStartup() { - ret void -} - -; CHECK: Pass Arguments: