2019-08-06 16:02:25 +08:00
|
|
|
# RUN: yaml2obj %s | llvm-readobj --file-headers -r --expand-relocs - | FileCheck %s --check-prefix COFF-I386
|
|
|
|
# RUN: yaml2obj -o %t %s
|
|
|
|
# RUN: llvm-readobj --file-headers -r --expand-relocs %t | FileCheck %s --check-prefix COFF-I386
|
|
|
|
|
|
|
|
# COFF-I386: Characteristics [ (0x200)
|
|
|
|
# COFF-I386-NEXT: IMAGE_FILE_DEBUG_STRIPPED (0x200)
|
|
|
|
# COFF-I386-NEXT: ]
|
|
|
|
|
|
|
|
# COFF-I386: Relocations [
|
|
|
|
# COFF-I386-NEXT: Section (1) .text {
|
|
|
|
# COFF-I386-NEXT: Relocation {
|
|
|
|
# COFF-I386-NEXT: Offset: 0xE
|
|
|
|
# COFF-I386-NEXT: Type: IMAGE_REL_I386_DIR32 (6)
|
|
|
|
# COFF-I386-NEXT: Symbol: L_.str
|
|
|
|
# COFF-I386-NEXT: SymbolIndex: 5
|
|
|
|
# COFF-I386-NEXT: }
|
|
|
|
# COFF-I386-NEXT: Relocation {
|
|
|
|
# COFF-I386-NEXT: Offset: 0x13
|
|
|
|
# COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32 (20)
|
|
|
|
# COFF-I386-NEXT: Symbol: _puts
|
|
|
|
# COFF-I386-NEXT: SymbolIndex: 6
|
|
|
|
# COFF-I386-NEXT: }
|
|
|
|
# COFF-I386-NEXT: Relocation {
|
|
|
|
# COFF-I386-NEXT: Offset: 0x18
|
|
|
|
# COFF-I386-NEXT: Type: IMAGE_REL_I386_REL32 (20)
|
|
|
|
# COFF-I386-NEXT: Symbol: _SomeOtherFunction
|
|
|
|
# COFF-I386-NEXT: SymbolIndex: 7
|
|
|
|
# COFF-I386-NEXT: }
|
|
|
|
# COFF-I386-NEXT: }
|
|
|
|
# COFF-I386-NEXT: ]
|
|
|
|
|
|
|
|
!COFF
|
|
|
|
header: !Header
|
|
|
|
Machine: IMAGE_FILE_MACHINE_I386 # (0x14c)
|
|
|
|
Characteristics: [ IMAGE_FILE_DEBUG_STRIPPED ]
|
|
|
|
|
|
|
|
sections:
|
|
|
|
- !Section
|
|
|
|
Name: .text
|
|
|
|
Alignment: 16
|
|
|
|
Characteristics: [IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ, ] # 0x60500020
|
|
|
|
SectionData: !hex "83EC0CC744240800000000C7042400000000E800000000E8000000008B44240883C40CC3" # |....D$.......$...............D$.....|
|
|
|
|
|
|
|
|
Relocations:
|
|
|
|
- !Relocation
|
|
|
|
VirtualAddress: 0xe
|
|
|
|
SymbolName: L_.str
|
|
|
|
Type: IMAGE_REL_I386_DIR32
|
|
|
|
|
|
|
|
- !Relocation
|
|
|
|
VirtualAddress: 0x13
|
|
|
|
SymbolName: _puts
|
|
|
|
Type: IMAGE_REL_I386_REL32
|
|
|
|
|
|
|
|
- !Relocation
|
|
|
|
VirtualAddress: 0x18
|
|
|
|
SymbolName: _SomeOtherFunction
|
|
|
|
Type: IMAGE_REL_I386_REL32
|
|
|
|
|
|
|
|
- !Section
|
|
|
|
Name: .data
|
|
|
|
Alignment: 1
|
|
|
|
Characteristics: [IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE, ] # 0xc0100040
|
|
|
|
SectionData: !hex "48656C6C6F20576F726C642100" # |Hello World!.|
|
|
|
|
|
|
|
|
symbols:
|
|
|
|
- !Symbol
|
|
|
|
Name: .text
|
|
|
|
Value: 0
|
|
|
|
SectionNumber: 1
|
|
|
|
SimpleType: IMAGE_SYM_TYPE_NULL # (0)
|
|
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
|
|
|
|
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
|
|
|
|
SectionDefinition:
|
|
|
|
Length: 36
|
|
|
|
NumberOfRelocations: 3
|
|
|
|
NumberOfLinenumbers: 0
|
|
|
|
CheckSum: 0
|
|
|
|
Number: 1
|
|
|
|
|
|
|
|
- !Symbol
|
|
|
|
Name: .data
|
|
|
|
Value: 0
|
|
|
|
SectionNumber: 2
|
|
|
|
SimpleType: IMAGE_SYM_TYPE_NULL # (0)
|
|
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
|
|
|
|
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
|
|
|
|
SectionDefinition:
|
|
|
|
Length: 13
|
|
|
|
NumberOfRelocations: 0
|
|
|
|
NumberOfLinenumbers: 0
|
|
|
|
CheckSum: 0
|
|
|
|
Number: 2
|
|
|
|
|
|
|
|
- !Symbol
|
|
|
|
Name: _main
|
|
|
|
Value: 0
|
|
|
|
SectionNumber: 1
|
|
|
|
SimpleType: IMAGE_SYM_TYPE_NULL # (0)
|
|
|
|
ComplexType: IMAGE_SYM_DTYPE_FUNCTION # (2)
|
|
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
|
|
|
|
|
|
|
|
- !Symbol
|
|
|
|
Name: L_.str
|
|
|
|
Value: 0
|
|
|
|
SectionNumber: 2
|
|
|
|
SimpleType: IMAGE_SYM_TYPE_NULL # (0)
|
|
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
|
|
|
|
StorageClass: IMAGE_SYM_CLASS_STATIC # (3)
|
|
|
|
|
|
|
|
- !Symbol
|
|
|
|
Name: _puts
|
|
|
|
Value: 0
|
|
|
|
SectionNumber: 0
|
|
|
|
SimpleType: IMAGE_SYM_TYPE_NULL # (0)
|
|
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
|
|
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
|
|
|
|
|
|
|
|
- !Symbol
|
|
|
|
Name: _SomeOtherFunction
|
|
|
|
Value: 0
|
|
|
|
SectionNumber: 0
|
|
|
|
SimpleType: IMAGE_SYM_TYPE_NULL # (0)
|
|
|
|
ComplexType: IMAGE_SYM_DTYPE_NULL # (0)
|
|
|
|
StorageClass: IMAGE_SYM_CLASS_EXTERNAL # (2)
|