forked from OSchip/llvm-project
99 lines
3.2 KiB
ArmAsm
99 lines
3.2 KiB
ArmAsm
# RUN: mkdir -p %t.dir
|
|
# RUN: yaml2obj %s -o %t.dir/foo.obj
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver foo.obj
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=DRIVER %s
|
|
|
|
# DRIVER-NOT: IMAGE_FILE_UP_SYSTEM_ONLY
|
|
# DRIVER-NOT: IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER
|
|
# DRIVER: AddressOfEntryPoint: 0x1000
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver:uponly foo.obj
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=UPONLY %s
|
|
|
|
# UPONLY: IMAGE_FILE_UP_SYSTEM_ONLY
|
|
# UPONLY: AddressOfEntryPoint: 0x1000
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver:wdm foo.obj
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=WDM %s
|
|
|
|
# WDM: AddressOfEntryPoint: 0x1004
|
|
# WDM: IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver:wdm,uponly foo.obj
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=BOTH %s
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver:uponly,wdm foo.obj
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=BOTH %s
|
|
|
|
# BOTH: IMAGE_FILE_UP_SYSTEM_ONLY
|
|
# BOTH: AddressOfEntryPoint: 0x1004
|
|
# BOTH: IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver foo.obj
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=FIXED1 %s
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver foo.obj /fixed:no
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=FIXED1 %s
|
|
|
|
# FIXED1: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE
|
|
|
|
# RUN: rm -f %t.dir/foo.sys
|
|
# RUN: cd %t.dir; lld-link /driver foo.obj /fixed
|
|
# RUN: llvm-readobj --file-headers %t.dir/foo.sys | FileCheck -check-prefix=FIXED2 %s
|
|
|
|
# FIXED2-NOT: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE
|
|
|
|
--- !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: 4096
|
|
SectionData: 0000000000000000
|
|
Relocations:
|
|
- VirtualAddress: 0
|
|
SymbolName: __ImageBase
|
|
Type: IMAGE_REL_AMD64_ADDR64
|
|
symbols:
|
|
- Name: .text
|
|
Value: 0
|
|
SectionNumber: 1
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_STATIC
|
|
SectionDefinition:
|
|
Length: 8
|
|
NumberOfRelocations: 1
|
|
NumberOfLinenumbers: 0
|
|
CheckSum: 0
|
|
Number: 0
|
|
- Name: main
|
|
Value: 0
|
|
SectionNumber: 1
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
|
- Name: mainCRTStartup
|
|
Value: 0
|
|
SectionNumber: 1
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
|
- Name: _NtProcessStartup
|
|
Value: 4
|
|
SectionNumber: 1
|
|
SimpleType: IMAGE_SYM_TYPE_NULL
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
|
|
...
|