1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183
|
# 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: []
...
|