# 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)