# RUN: yaml2obj %s -o %t # RUN: llvm-readobj -r %t | FileCheck %s --check-prefix=RELOCS # RUN: obj2yaml %t | FileCheck %s --check-prefix=YAML # RELOCS: Relocations [ # RELOCS-NEXT: Section (1) .text { # RELOCS-NEXT: 0x3 IMAGE_REL_AMD64_REL32 .rdata (0) # RELOCS-NEXT: 0xA IMAGE_REL_AMD64_REL32 .rdata (1) # RELOCS-NEXT: 0x11 IMAGE_REL_AMD64_REL32 foo (2) # RELOCS-NEXT: } # RELOCS-NEXT: ] ## Check that we usually output relocations with SymbolName. ## For relocations with a non-unique symbol name, output ## SymbolTableIndex instead. # YAML: Relocations: # YAML-NEXT: - VirtualAddress: 3 # YAML-NEXT: SymbolTableIndex: 0 # YAML-NEXT: Type: IMAGE_REL_AMD64_REL32 # YAML-NEXT: - VirtualAddress: 10 # YAML-NEXT: SymbolTableIndex: 1 # YAML-NEXT: Type: IMAGE_REL_AMD64_REL32 # YAML-NEXT: - VirtualAddress: 17 # YAML-NEXT: SymbolName: foo # YAML-NEXT: Type: IMAGE_REL_AMD64_REL32 --- !COFF header: Machine: IMAGE_FILE_MACHINE_AMD64 Characteristics: [ ] sections: - Name: .text Characteristics: [ ] Alignment: 4 SectionData: 488B0500000000488B0500000000488B0500000000 Relocations: - VirtualAddress: 3 SymbolTableIndex: 0 Type: IMAGE_REL_AMD64_REL32 - VirtualAddress: 10 SymbolTableIndex: 1 Type: IMAGE_REL_AMD64_REL32 - VirtualAddress: 17 SymbolName: foo Type: IMAGE_REL_AMD64_REL32 - Name: .rdata Characteristics: [ ] Alignment: 1 SectionData: '00' - Name: .rdata Characteristics: [ ] Alignment: 1 SectionData: '01' symbols: - Name: .rdata Value: 0 SectionNumber: 2 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC - Name: .rdata Value: 0 SectionNumber: 3 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_STATIC - Name: foo Value: 0 SectionNumber: 3 SimpleType: IMAGE_SYM_TYPE_NULL ComplexType: IMAGE_SYM_DTYPE_NULL StorageClass: IMAGE_SYM_CLASS_EXTERNAL ...