73 lines · yaml
1## This test checks that yaml2obj correctly handles COFF sections with2## extended relocation tables (IMAGE_SCN_LNK_NRELOC_OVFL).3# RUN: yaml2obj %s -o %t4# RUN: llvm-readobj --sections --relocations %t | FileCheck %s --check-prefix=CHECK-OBJ5# RUN: obj2yaml %t | FileCheck %s --check-prefix=CHECK-YAML6 7# CHECK-OBJ: Sections [8# CHECK-OBJ-NEXT: Section {9# CHECK-OBJ-NEXT: Number: 110# CHECK-OBJ-NEXT: Name: .data11# CHECK-OBJ: RawDataSize: 1612# CHECK-OBJ: RelocationCount: 6553513# CHECK-OBJ: Characteristics [14# CHECK-OBJ-NEXT: IMAGE_SCN_ALIGN_16BYTES15# CHECK-OBJ-NEXT: IMAGE_SCN_CNT_INITIALIZED_DATA16# CHECK-OBJ-NEXT: IMAGE_SCN_LNK_NRELOC_OVFL17# CHECK-OBJ-NEXT: IMAGE_SCN_MEM_READ18# CHECK-OBJ-NEXT: ]19# CHECK-OBJ-NEXT: }20# CHECK-OBJ-NEXT: ]21# CHECK-OBJ-NEXT: Relocations [22# CHECK-OBJ-NEXT: Section (1) .data {23# CHECK-OBJ-NEXT: 0x0 IMAGE_REL_AMD64_ADDR64 foo (0)24# CHECK-OBJ-NEXT: 0x8 IMAGE_REL_AMD64_ADDR64 bar (1)25# CHECK-OBJ-NEXT: }26# CHECK-OBJ-NEXT: ]27 28# CHECK-YAML: sections:29# CHECK-YAML-NEXT: - Name: .data30# CHECK-YAML-NEXT: Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_LNK_NRELOC_OVFL, IMAGE_SCN_MEM_READ ]31# CHECK-YAML-NEXT: Alignment: 1632# CHECK-YAML-NEXT: SectionData: '00000000000000000000000000000000'33# CHECK-YAML-NEXT: SizeOfRawData: 1634# CHECK-YAML-NEXT: Relocations:35# CHECK-YAML-NEXT: - VirtualAddress: 036# CHECK-YAML-NEXT: SymbolName: foo37# CHECK-YAML-NEXT: Type: IMAGE_REL_AMD64_ADDR6438# CHECK-YAML-NEXT: - VirtualAddress: 839# CHECK-YAML-NEXT: SymbolName: bar40# CHECK-YAML-NEXT: Type: IMAGE_REL_AMD64_ADDR6441# CHECK-YAML-NEXT: symbols:42 43--- !COFF44header:45 Machine: IMAGE_FILE_MACHINE_AMD6446 Characteristics: [ ]47sections:48 - Name: .data49 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_LNK_NRELOC_OVFL, IMAGE_SCN_MEM_READ ]50 Alignment: 1651 SectionData: '00000000000000000000000000000000'52 Relocations:53 - VirtualAddress: 054 SymbolName: foo55 Type: IMAGE_REL_AMD64_ADDR6456 - VirtualAddress: 857 SymbolName: bar58 Type: IMAGE_REL_AMD64_ADDR6459symbols:60 - Name: foo61 Value: 062 SectionNumber: 063 SimpleType: IMAGE_SYM_TYPE_NULL64 ComplexType: IMAGE_SYM_DTYPE_NULL65 StorageClass: IMAGE_SYM_CLASS_EXTERNAL66 - Name: bar67 Value: 068 SectionNumber: 069 SimpleType: IMAGE_SYM_TYPE_NULL70 ComplexType: IMAGE_SYM_DTYPE_NULL71 StorageClass: IMAGE_SYM_CLASS_EXTERNAL72...73