1# RUN: yaml2obj < %s > %t.obj 2# RUN: lld-link /debug:dwarf /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib 3# RUN: llvm-readobj --symbols %t.exe | FileCheck %s 4# RUN: lld-link /debug:dwarf /opt:noref /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib 5# RUN: llvm-readobj --symbols %t.exe | FileCheck %s 6# RUN: lld-link /debug:symtab /opt:noref /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib 7# RUN: llvm-readobj --symbols %t.exe | FileCheck %s 8 9# RUN: lld-link /debug /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib 10# RUN: llvm-readobj --symbols %t.exe | FileCheck -check-prefix=NO %s 11 12# CHECK: Symbols [ 13# CHECK-NEXT: Symbol { 14# CHECK-NEXT: Name: .text 15# CHECK-NEXT: Value: 0 16# CHECK-NEXT: Section: .text (1) 17# CHECK-NEXT: BaseType: Null (0x0) 18# CHECK-NEXT: ComplexType: Null (0x0) 19# CHECK-NEXT: StorageClass: Static (0x3) 20# CHECK-NEXT: AuxSymbolCount: 0 21# CHECK-NEXT: } 22# CHECK-NEXT: Symbol { 23# CHECK-NEXT: Name: .text2 24# CHECK-NEXT: Value: 0 25# CHECK-NEXT: Section: .text (1) 26# CHECK-NEXT: BaseType: Null (0x0) 27# CHECK-NEXT: ComplexType: Null (0x0) 28# CHECK-NEXT: StorageClass: Static (0x3) 29# CHECK-NEXT: AuxSymbolCount: 0 30# CHECK-NEXT: } 31# CHECK-NEXT: Symbol { 32# CHECK-NEXT: Name: .data 33# CHECK-NEXT: Value: 0 34# CHECK-NEXT: Section: .data (3) 35# CHECK-NEXT: BaseType: Null (0x0) 36# CHECK-NEXT: ComplexType: Null (0x0) 37# CHECK-NEXT: StorageClass: Static (0x3) 38# CHECK-NEXT: AuxSymbolCount: 0 39# CHECK-NEXT: } 40# CHECK-NEXT: Symbol { 41# CHECK-NEXT: Name: MessageBoxA 42# CHECK-NEXT: Value: 80 43# CHECK-NEXT: Section: .text (1) 44# CHECK-NEXT: BaseType: Null (0x0) 45# CHECK-NEXT: ComplexType: Null (0x0) 46# CHECK-NEXT: StorageClass: External (0x2) 47# CHECK-NEXT: AuxSymbolCount: 0 48# CHECK-NEXT: } 49# CHECK-NEXT: Symbol { 50# CHECK-NEXT: Name: ExitProcess 51# CHECK-NEXT: Value: 64 52# CHECK-NEXT: Section: .text (1) 53# CHECK-NEXT: BaseType: Null (0x0) 54# CHECK-NEXT: ComplexType: Null (0x0) 55# CHECK-NEXT: StorageClass: External (0x2) 56# CHECK-NEXT: AuxSymbolCount: 0 57# CHECK-NEXT: } 58# CHECK-NEXT: Symbol { 59# CHECK-NEXT: Name: message 60# CHECK-NEXT: Value: 6 61# CHECK-NEXT: Section: .text2 62# CHECK-NEXT: BaseType: Null (0x0) 63# CHECK-NEXT: ComplexType: Null (0x0) 64# CHECK-NEXT: StorageClass: Static (0x3) 65# CHECK-NEXT: AuxSymbolCount: 0 66# CHECK-NEXT: } 67# CHECK-NEXT: Symbol { 68# CHECK-NEXT: Name: main 69# CHECK-NEXT: Value: 0 70# CHECK-NEXT: Section: .text (1) 71# CHECK-NEXT: BaseType: Null (0x0) 72# CHECK-NEXT: ComplexType: Null (0x0) 73# CHECK-NEXT: StorageClass: External (0x2) 74# CHECK-NEXT: AuxSymbolCount: 0 75# CHECK-NEXT: } 76# CHECK-NEXT: Symbol { 77# CHECK-NEXT: Name: caption 78# CHECK-NEXT: Value: 0 79# CHECK-NEXT: Section: .text2 80# CHECK-NEXT: BaseType: Null (0x0) 81# CHECK-NEXT: ComplexType: Null (0x0) 82# CHECK-NEXT: StorageClass: Static (0x3) 83# CHECK-NEXT: AuxSymbolCount: 0 84# CHECK-NEXT: } 85# CHECK-NEXT: Symbol { 86# CHECK-NEXT: Name: abs_symbol 87# CHECK-NEXT: Value: 2662186735 88# CHECK-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1) 89# CHECK-NEXT: BaseType: Null (0x0) 90# CHECK-NEXT: ComplexType: Null (0x0) 91# CHECK-NEXT: StorageClass: External (0x2) 92# CHECK-NEXT: AuxSymbolCount: 0 93# CHECK-NEXT: } 94# CHECK-NEXT: ] 95 96# NO: Symbols [ 97 98--- !COFF 99header: 100 Machine: IMAGE_FILE_MACHINE_AMD64 101 Characteristics: [] 102sections: 103 - Name: .text 104 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] 105 Alignment: 4096 106 SectionData: B800000000000000005068000000000000000068000000000000000050E8000000000000000050E8000000000000000050E80000000000000000 107 Relocations: 108 - VirtualAddress: 0 109 SymbolName: abs_symbol 110 Type: IMAGE_REL_AMD64_ADDR64 111 - VirtualAddress: 7 112 SymbolName: caption 113 Type: IMAGE_REL_AMD64_ADDR64 114 - VirtualAddress: 12 115 SymbolName: message 116 Type: IMAGE_REL_AMD64_ADDR64 117 - VirtualAddress: 18 118 SymbolName: MessageBoxA 119 Type: IMAGE_REL_AMD64_REL32 120 - VirtualAddress: 24 121 SymbolName: ExitProcess 122 Type: IMAGE_REL_AMD64_REL32 123 - VirtualAddress: 30 124 SymbolName: __ImageBase 125 Type: IMAGE_REL_AMD64_ADDR64 126 - Name: .text2 127 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ] 128 Alignment: 4096 129 SectionData: B800000000000000005068000000000000000068000000000000000050E8000000000000000050E8000000000000000050E80000000000000000 130 Relocations: 131 - VirtualAddress: 0 132 SymbolName: abs_symbol 133 Type: IMAGE_REL_AMD64_ADDR64 134 - VirtualAddress: 7 135 SymbolName: caption 136 Type: IMAGE_REL_AMD64_ADDR64 137 - VirtualAddress: 12 138 SymbolName: message 139 Type: IMAGE_REL_AMD64_ADDR64 140 - VirtualAddress: 18 141 SymbolName: MessageBoxA 142 Type: IMAGE_REL_AMD64_REL32 143 - VirtualAddress: 24 144 SymbolName: ExitProcess 145 Type: IMAGE_REL_AMD64_REL32 146 - VirtualAddress: 30 147 SymbolName: __ImageBase 148 Type: IMAGE_REL_AMD64_ADDR64 149 - Name: .data 150 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ] 151 Alignment: 4 152 SectionData: 48656C6C6F0048656C6C6F20576F726C6400 153symbols: 154 - Name: "@comp.id" 155 Value: 10394907 156 SectionNumber: 65535 157 SimpleType: IMAGE_SYM_TYPE_NULL 158 ComplexType: IMAGE_SYM_DTYPE_NULL 159 StorageClass: IMAGE_SYM_CLASS_STATIC 160 - Name: .text 161 Value: 0 162 SectionNumber: 1 163 SimpleType: IMAGE_SYM_TYPE_NULL 164 ComplexType: IMAGE_SYM_DTYPE_NULL 165 StorageClass: IMAGE_SYM_CLASS_STATIC 166 SectionDefinition: 167 Length: 28 168 NumberOfRelocations: 6 169 NumberOfLinenumbers: 0 170 CheckSum: 0 171 Number: 0 172 - Name: .text2 173 Value: 0 174 SectionNumber: 1 175 SimpleType: IMAGE_SYM_TYPE_NULL 176 ComplexType: IMAGE_SYM_DTYPE_NULL 177 StorageClass: IMAGE_SYM_CLASS_STATIC 178 SectionDefinition: 179 Length: 28 180 NumberOfRelocations: 6 181 NumberOfLinenumbers: 0 182 CheckSum: 0 183 Number: 0 184 - Name: .data 185 Value: 0 186 SectionNumber: 3 187 SimpleType: IMAGE_SYM_TYPE_NULL 188 ComplexType: IMAGE_SYM_DTYPE_NULL 189 StorageClass: IMAGE_SYM_CLASS_STATIC 190 SectionDefinition: 191 Length: 18 192 NumberOfRelocations: 0 193 NumberOfLinenumbers: 0 194 CheckSum: 0 195 Number: 0 196 - Name: MessageBoxA 197 Value: 0 198 SectionNumber: 0 199 SimpleType: IMAGE_SYM_TYPE_NULL 200 ComplexType: IMAGE_SYM_DTYPE_NULL 201 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 202 - Name: ExitProcess 203 Value: 0 204 SectionNumber: 0 205 SimpleType: IMAGE_SYM_TYPE_NULL 206 ComplexType: IMAGE_SYM_DTYPE_NULL 207 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 208 - Name: message 209 Value: 6 210 SectionNumber: 2 211 SimpleType: IMAGE_SYM_TYPE_NULL 212 ComplexType: IMAGE_SYM_DTYPE_NULL 213 StorageClass: IMAGE_SYM_CLASS_STATIC 214 - Name: main 215 Value: 0 216 SectionNumber: 1 217 SimpleType: IMAGE_SYM_TYPE_NULL 218 ComplexType: IMAGE_SYM_DTYPE_NULL 219 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 220 - Name: caption 221 Value: 0 222 SectionNumber: 2 223 SimpleType: IMAGE_SYM_TYPE_NULL 224 ComplexType: IMAGE_SYM_DTYPE_NULL 225 StorageClass: IMAGE_SYM_CLASS_STATIC 226 - Name: abs_symbol 227 Value: 0xDEADBEEF 228 SectionNumber: -1 229 SimpleType: IMAGE_SYM_TYPE_NULL 230 ComplexType: IMAGE_SYM_DTYPE_NULL 231 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 232 - Name: __ImageBase 233 Value: 0 234 SectionNumber: 0 235 SimpleType: IMAGE_SYM_TYPE_NULL 236 ComplexType: IMAGE_SYM_DTYPE_NULL 237 StorageClass: IMAGE_SYM_CLASS_EXTERNAL 238... 239