# Test ARM64X dynamic relocation validation. # RUN: yaml2obj %s --docnum=1 -o %t1.dll # RUN: not llvm-readobj %t1.dll 2>&1 | FileCheck --check-prefix=ERR-HEADER-RVA %s # ERR-HEADER-RVA: RVA 0x1002 for ARM64X reloc not found --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x5000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x2000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x5000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x6000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0x1000 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 0040 # ZERO offset 0xf00, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=2 -o %t2.dll # RUN: not llvm-readobj %t2.dll 2>&1 | FileCheck --check-prefix=ERR-SEC-INDEX %s # ERR-SEC-INDEX: section index out of bounds --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 5 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 symbols: [] ... # RUN: yaml2obj %s --docnum=3 -o %t3.dll # RUN: not llvm-readobj %t3.dll 2>&1 | FileCheck --check-prefix=ERR-DIR-INDEX %s # ERR-DIR-INDEX: Too large DynamicValueRelocTableOffset (4) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 11 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - Binary: 010000 # coff_dynamic_reloc_table.Size symbols: [] ... # RUN: yaml2obj %s --docnum=4 -o %t4.dll # RUN: not llvm-readobj %t4.dll 2>&1 | FileCheck --check-prefix=ERR-DIR-SIZE %s # ERR-DIR-SIZE: Indvalid dynamic relocations directory size (2) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 13 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 2 # coff_dynamic_reloc_table.Size - Binary: 00 symbols: [] ... # RUN: yaml2obj %s --docnum=5 -o %t5.dll # RUN: not llvm-readobj %t5.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-SIZE %s # ERR-RELOC-SIZE: Unexpected end of dynamic relocations data --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 11 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - Binary: 000000 symbols: [] ... # RUN: yaml2obj %s --docnum=6 -o %t6.dll # RUN: not llvm-readobj %t6.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-SIZE2 %s # ERR-RELOC-SIZE2: Too large dynamic relocation size (4) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 15 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 4 # coff_dynamic_relocation64.BaseRelocSize - Binary: 000000 symbols: [] ... # RUN: yaml2obj %s --docnum=7 -o %t7.dll # RUN: not llvm-readobj %t7.dll 2>&1 | FileCheck --check-prefix=ERR-BLOCK-SIZE %s # ERR-BLOCK-SIZE: ARM64X relocations block size (7) is too small --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 21 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 9 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 7 # coff_base_reloc_block_header[0].BlockSize - Binary: 00 symbols: [] ... # RUN: yaml2obj %s --docnum=8 -o %t8.dll # RUN: not llvm-readobj %t8.dll 2>&1 | FileCheck --check-prefix=ERR-BLOCK-SIZE2 %s # ERR-BLOCK-SIZE2: Unaligned ARM64X relocations block size (10) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 22 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 10 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 10 # coff_base_reloc_block_header[0].BlockSize - Binary: 0000 symbols: [] ... # RUN: yaml2obj %s --docnum=9 -o %t9.dll # RUN: not llvm-readobj %t9.dll 2>&1 | FileCheck --check-prefix=ERR-BLOCK-SIZE3 %s # ERR-BLOCK-SIZE3: ARM64X relocations block size (12) is too large --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 23 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 11 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 000000 symbols: [] ... # RUN: yaml2obj %s --docnum=10 -o %t10.dll # RUN: not llvm-readobj %t10.dll 2>&1 | FileCheck --check-prefix=ERR-TERMINATOR %s # ERR-TERMINATOR: Unexpected ARM64X relocations terminator --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 00000000 symbols: [] ... # RUN: yaml2obj %s --docnum=11 -o %t11.dll # RUN: not llvm-readobj %t11.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-TYPE %s # ERR-RELOC-TYPE: Invalid relocation type --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 00300000 symbols: [] ... # RUN: yaml2obj %s --docnum=12 -o %t12.dll # RUN: not llvm-readobj %t12.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-VALUE %s # ERR-RELOC-VALUE: Invalid ARM64X relocation value size (0) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 00100000 symbols: [] ... # RUN: yaml2obj %s --docnum=13 -o %t13.dll # RUN: not llvm-readobj %t13.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-RVA %s # ERR-RELOC-RVA: RVA 0x6062 for ARM64X reloc not found --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0x6000 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 6040 # ZERO offset 0x60, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=14 -o %t14.dll # RUN: not llvm-readobj %t14.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-RVA-SIZE %s # ERR-RELOC-RVA-SIZE: RVA 0x6062 for ARM64X reloc not found --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0x6000 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 6040 # ZERO offset 0x60, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=15 -o %t15.dll # RUN: not llvm-readobj %t15.dll 2>&1 | FileCheck --check-prefix=ERR-PAGE-RVA %s # ERR-PAGE-RVA: Unaligned ARM64X relocations page RVA (24577) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0x6001 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 0040 # ZERO offset 0, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=16 -o %t16.dll # RUN: not llvm-readobj %t16.dll 2>&1 | FileCheck --check-prefix=ERR-V2-HEADER-SIZE %s # ERR-V2-HEADER-SIZE: Invalid dynamic relocation header size (23) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 2 # coff_dynamic_reloc_table.Version - UInt32: 36 # coff_dynamic_reloc_table.Size - UInt32: 23 # coff_dynamic_relocation64_v2.HeaderSize - UInt32: 12 # coff_dynamic_relocation64_v2.FixupInfoSize - UInt32: 6 # coff_dynamic_relocation64_v2.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64_v2.Symbol(high) - UInt32: 0 # coff_dynamic_relocation64_v2.SymbolGroup - UInt32: 0 # coff_dynamic_relocation64_v2.Flags - UInt32: 0x6000 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 0040 # ZERO offset 0, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=17 -o %t17.dll # RUN: not llvm-readobj %t17.dll 2>&1 | FileCheck --check-prefix=ERR-RELOC-SIZE %s --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 2 # coff_dynamic_reloc_table.Version - UInt32: 20 # coff_dynamic_reloc_table.Size - UInt32: 24 # coff_dynamic_relocation64_v2.HeaderSize - UInt32: 12 # coff_dynamic_relocation64_v2.FixupInfoSize - UInt32: 6 # coff_dynamic_relocation64_v2.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64_v2.Symbol(high) - UInt32: 0 # coff_dynamic_relocation64_v2.SymbolGroup symbols: [] ... # RUN: yaml2obj %s --docnum=18 -o %t18.dll # RUN: not llvm-readobj %t18.dll 2>&1 | FileCheck --check-prefix=ERR-RVA-ALIGN %s # ERR-RVA-ALIGN: Unaligned ARM64X relocation RVA (24577) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0x6000 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 0140 # ZERO offset 0, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=19 -o %t19.dll # RUN: not llvm-readobj %t19.dll 2>&1 | FileCheck --check-prefix=ERR-INVALID-VERSION %s # ERR-INVALID-VERSION: Unsupported dynamic relocations table version (3) --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 3 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0x6000 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 0140 # ZERO offset 0, size 2 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=20 -o %t20.dll # RUN: not llvm-readobj %t20.dll 2>&1 | FileCheck --check-prefix=ERR-END %s # ERR-END: Unexpected end of ARM64X relocations --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x5000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x2000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x5000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x6000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 24 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 12 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 12 # coff_base_reloc_block_header[0].BlockSize - Binary: 2490 # VALUE offset 0x24, size 4 - Binary: 0000 # terminator symbols: [] ... # RUN: yaml2obj %s --docnum=21 -o %t21.dll # RUN: not llvm-readobj %t21.dll 2>&1 | FileCheck --check-prefix=ERR-TERMINATOR %s --- !COFF OptionalHeader: ImageBase: 0x180000000 SectionAlignment: 4096 FileAlignment: 512 DLLCharacteristics: [ ] LoadConfigTable: RelativeVirtualAddress: 0x4000 Size: 320 header: Machine: IMAGE_FILE_MACHINE_ARM64 Characteristics: [ IMAGE_FILE_EXECUTABLE_IMAGE, IMAGE_FILE_LARGE_ADDRESS_AWARE, IMAGE_FILE_DLL ] sections: - Name: .text Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x1000 VirtualSize: 0x2050 - Name: .rdata Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ ] VirtualAddress: 0x4000 VirtualSize: 328 StructuredData: - LoadConfig: CHPEMetadataPointer: 0x180005000 DynamicValueRelocTableOffset: 4 DynamicValueRelocTableSection: 4 - Name: .data Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] VirtualAddress: 0x5000 VirtualSize: 144 StructuredData: - UInt32: 1 # Version - UInt32: 0x5050 # CodeMap - UInt32: 3 # CodeMapCount - UInt32: 0x5068 # CodeRangesToEntryPoints - UInt32: 0x5080 # RedirectionMetadata - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 # CodeRangesToEntryPointsCount - UInt32: 0 # RedirectionMetadataCount - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0 - UInt32: 0x1001 # CodeMap[0] - UInt32: 0x30 - UInt32: 0x2000 # CodeMap[1] - UInt32: 0x40 - UInt32: 0x3002 # CodeMap[2] - UInt32: 0x50 - Name: .reloc Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_DISCARDABLE ] VirtualAddress: 0x7000 VirtualSize: 328 StructuredData: - UInt32: 0 # pad - UInt32: 1 # coff_dynamic_reloc_table.Version - UInt32: 28 # coff_dynamic_reloc_table.Size - UInt32: 6 # coff_dynamic_relocation64.Symbol(low) = IMAGE_DYNAMIC_RELOCATION_ARM64X - UInt32: 0 # coff_dynamic_relocation64.Symbol(high) - UInt32: 16 # coff_dynamic_relocation64.BaseRelocSize - UInt32: 0 # coff_base_reloc_block_header[0].PageRVA - UInt32: 16 # coff_base_reloc_block_header[0].BlockSize - Binary: 0040 # ZERO offset 0, size 2 - Binary: 00000000 symbols: [] ...