llvm-capstone/lld/test/COFF/arm64-magic.yaml
Martin Storsjo 94fce50950 [COFF] Add initial support for linking ARM64 binaries
A plain empty entry point function that returns 0 seems to produce
a binary that loads and runs fine in wine.

Differential Revision: https://reviews.llvm.org/D34833

llvm-svn: 306963
2017-07-01 20:29:27 +00:00

47 lines
1.4 KiB
YAML

# RUN: yaml2obj < %s > %t.obj
# RUN: lld-link /out:%t.exe /entry:mainCRTStartup /subsystem:console %t.obj
# RUN: llvm-readobj -file-headers %t.exe | FileCheck %s
# CHECK: Format: COFF-ARM64
# CHECK: Arch: aarch64
# CHECK: AddressSize: 64bit
# CHECK: ImageFileHeader {
# CHECK: Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)
# CHECK: Characteristics [ (0x22)
# CHECK: IMAGE_FILE_EXECUTABLE_IMAGE (0x2)
# CHECK: IMAGE_FILE_LARGE_ADDRESS_AWARE (0x20)
# CHECK: ]
# CHECK: }
# CHECK: ImageOptionalHeader {
# CHECK: Magic: 0x20B
--- !COFF
header:
Machine: IMAGE_FILE_MACHINE_ARM64
Characteristics: []
sections:
- Name: .text
Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_PURGEABLE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
Alignment: 4
SectionData: 'e0031f2ac0035fd6'
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: 0
NumberOfLinenumbers: 0
CheckSum: 0
Number: 1
- Name: mainCRTStartup
Value: 0
SectionNumber: 1
SimpleType: IMAGE_SYM_TYPE_NULL
ComplexType: IMAGE_SYM_DTYPE_FUNCTION
StorageClass: IMAGE_SYM_CLASS_EXTERNAL
...