CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
1619 lines
55 KiB
YAML
1619 lines
55 KiB
YAML
# 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: []
|
|
...
|