| # RUN: yaml2obj --docnum=1 %s -o %t1 |
| # RUN: llvm-readobj --coff-load-config %t1 | FileCheck %s |
| |
| # CHECK: CHPEMetadataPointer: 0x180005000 |
| # CHECK: CHPEMetadata [ |
| # CHECK-NEXT: Version: 0x1 |
| # CHECK-NEXT: CodeMap [ |
| # CHECK-NEXT: 0x1000 - 0x1030 ARM64EC |
| # CHECK-NEXT: 0x2000 - 0x2040 ARM64 |
| # CHECK-NEXT: 0x3000 - 0x3050 X64 |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: CodeRangesToEntryPoints [ |
| # CHECK-NEXT: 0x1000 - 0x1020 -> 0x1000 |
| # CHECK-NEXT: 0x1020 - 0x1040 -> 0x2000 |
| # CHECK-NEXT: ] |
| # CHECK-NEXT: RedirectionMetadata [ |
| # CHECK-NEXT: 0x1000 -> 0x2000 |
| # CHECK-NEXT: 0x1020 -> 0x2030 |
| # CHECK-NEXT: ] |
| # CHECK-NOT: AuxiliaryDelayloadIAT: |
| |
| --- !COFF |
| OptionalHeader: |
| ImageBase: 0x180000000 |
| SectionAlignment: 4096 |
| FileAlignment: 512 |
| DLLCharacteristics: [ ] |
| LoadConfigTable: |
| RelativeVirtualAddress: 0x4000 |
| Size: 320 |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| 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 |
| - 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: 2 # CodeRangesToEntryPointsCount |
| - UInt32: 2 # 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 |
| - UInt32: 0x1000 # CodeRangesToEntryPoints[0] |
| - UInt32: 0x1020 |
| - UInt32: 0x1000 |
| - UInt32: 0x1020 # CodeRangesToEntryPoints[1] |
| - UInt32: 0x1040 |
| - UInt32: 0x2000 |
| - UInt32: 0x1000 # RedirectionMetadata[0] |
| - UInt32: 0x2000 |
| - UInt32: 0x1020 # RedirectionMetadata[1] |
| - UInt32: 0x2030 |
| symbols: [] |
| ... |
| |
| # RUN: yaml2obj --docnum=2 %s -o %t2 |
| # RUN: llvm-readobj --coff-load-config %t2 | FileCheck --check-prefix=CHPE2 %s |
| |
| # CHPE2: CHPEMetadata [ |
| # CHPE2-NEXT: Version: 0x2 |
| # CHPE2: AuxiliaryDelayloadIAT: 0x1 |
| # CHPE2-NEXT: AuxiliaryDelayloadIATCopy: 0x2 |
| # CHPE2-NEXT: HybridImageInfoBitfield: 0x4 |
| |
| --- !COFF |
| OptionalHeader: |
| ImageBase: 0x180000000 |
| SectionAlignment: 4096 |
| FileAlignment: 512 |
| DLLCharacteristics: [ ] |
| LoadConfigTable: |
| RelativeVirtualAddress: 0x4000 |
| Size: 320 |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| 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 |
| - Name: .data |
| Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] |
| VirtualAddress: 0x5000 |
| VirtualSize: 144 |
| StructuredData: |
| - UInt32: 2 # Version |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 0 |
| - UInt32: 1 # AuxiliaryDelayloadIAT |
| - UInt32: 2 # AuxiliaryDelayloadIATCopy |
| - UInt32: 4 # HybridImageInfoBitfield |
| symbols: [] |
| ... |
| |
| # RUN: yaml2obj --docnum=3 %s -o %t3 |
| # RUN: not llvm-readobj --coff-load-config %t3 2>&1 | FileCheck --check-prefix=ERR-EOF %s |
| # ERR-EOF: The end of the file was unexpectedly encountered |
| |
| --- !COFF |
| OptionalHeader: |
| ImageBase: 0x180000000 |
| SectionAlignment: 4096 |
| FileAlignment: 512 |
| DLLCharacteristics: [ ] |
| LoadConfigTable: |
| RelativeVirtualAddress: 0x4000 |
| Size: 320 |
| header: |
| Machine: IMAGE_FILE_MACHINE_AMD64 |
| 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: 512 |
| StructuredData: |
| - LoadConfig: |
| CHPEMetadataPointer: 0x1800041AC |
| symbols: [] |
| ... |