61 lines
2 KiB
Text
61 lines
2 KiB
Text
## Test the --subsystem option.
|
|
|
|
# RUN: yaml2obj %s -o %t.in.exe
|
|
|
|
# RUN: llvm-objcopy --subsystem=posix:7.4 --subsystem windows %t.in.exe %t.out.exe
|
|
# RUN: llvm-readobj --file-headers %t.out.exe | FileCheck %s --check-prefix=WIN74
|
|
|
|
# WIN74: MajorOperatingSystemVersion: 6
|
|
# WIN74: MinorOperatingSystemVersion: 0
|
|
# WIN74: MajorSubsystemVersion: 7
|
|
# WIN74: MinorSubsystemVersion: 4
|
|
# WIN74: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
|
|
|
|
# RUN: llvm-objcopy --subsystem=posix:7.4 --subsystem windows:9 %t.in.exe %t.out.exe
|
|
# RUN: llvm-readobj --file-headers %t.out.exe | FileCheck %s --check-prefix=WIN90
|
|
|
|
# WIN90: MajorOperatingSystemVersion: 6
|
|
# WIN90: MinorOperatingSystemVersion: 0
|
|
# WIN90: MajorSubsystemVersion: 9
|
|
# WIN90: MinorSubsystemVersion: 0
|
|
# WIN90: Subsystem: IMAGE_SUBSYSTEM_WINDOWS_GUI
|
|
|
|
# RUN: not llvm-objcopy --subsystem=foobar %t.in.exe %t.err.exe 2>&1 | FileCheck %s --check-prefix=INVALID-SUBSYS
|
|
|
|
# INVALID-SUBSYS: 'foobar' is not a valid subsystem{{$}}
|
|
|
|
# RUN: not llvm-objcopy --subsystem=windows:foo %t.in.exe %t.err.exe 2>&1 | FileCheck %s --check-prefix=INVALID-MAJOR-NUMBER
|
|
# RUN: not llvm-objcopy --subsystem=windows:8.bar %t.in.exe %t.err.exe 2>&1 | FileCheck %s --check-prefix=INVALID-MINOR-NUMBER
|
|
|
|
# INVALID-MAJOR-NUMBER: 'foo' is not a valid subsystem major version
|
|
# INVALID-MINOR-NUMBER: 'bar' is not a valid subsystem minor version
|
|
|
|
--- !COFF
|
|
OptionalHeader:
|
|
AddressOfEntryPoint: 4096
|
|
ImageBase: 1073741824
|
|
SectionAlignment: 4096
|
|
FileAlignment: 512
|
|
MajorOperatingSystemVersion: 6
|
|
MinorOperatingSystemVersion: 0
|
|
MajorImageVersion: 0
|
|
MinorImageVersion: 0
|
|
MajorSubsystemVersion: 6
|
|
MinorSubsystemVersion: 0
|
|
Subsystem: IMAGE_SUBSYSTEM_WINDOWS_CUI
|
|
DLLCharacteristics: [ ]
|
|
SizeOfStackReserve: 1048576
|
|
SizeOfStackCommit: 4096
|
|
SizeOfHeapReserve: 1048576
|
|
SizeOfHeapCommit: 4096
|
|
header:
|
|
Machine: IMAGE_FILE_MACHINE_AMD64
|
|
Characteristics: [ ]
|
|
sections:
|
|
- Name: .text
|
|
Characteristics: [ ]
|
|
VirtualAddress: 4096
|
|
VirtualSize: 1
|
|
SectionData: C3
|
|
symbols:
|
|
...
|