259 lines · plain
1# RUN: yaml2obj %s -o %t.obj2# RUN: lld-link /debug:dwarf /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib3# RUN: llvm-readobj --symbols %t.exe | FileCheck %s4# RUN: lld-link /debug:dwarf /opt:noref /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib5# RUN: llvm-readobj --symbols %t.exe | FileCheck %s6# RUN: lld-link /debug:symtab /opt:noref /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib7# RUN: llvm-readobj --symbols %t.exe | FileCheck %s8# RUN: lld-link /debug:full,symtab /opt:noref /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib9# RUN: llvm-readobj --symbols %t.exe | FileCheck %s10 11# RUN: lld-link /debug /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib12# RUN: llvm-readobj --symbols %t.exe | FileCheck -check-prefix=NO %s13# RUN: lld-link /debug:dwarf,nosymtab /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib14# RUN: llvm-readobj --symbols %t.exe | FileCheck -check-prefix=NO %s15 16# CHECK: Symbols [17# CHECK-NEXT: Symbol {18# CHECK-NEXT: Name: MessageBoxA19# CHECK-NEXT: Value: 8020# CHECK-NEXT: Section: .text (1)21# CHECK-NEXT: BaseType: Null (0x0)22# CHECK-NEXT: ComplexType: Function (0x2)23# CHECK-NEXT: StorageClass: External (0x2)24# CHECK-NEXT: AuxSymbolCount: 025# CHECK-NEXT: }26# CHECK-NEXT: Symbol {27# CHECK-NEXT: Name: __imp_MessageBoxA28# CHECK-NEXT: Value:29# CHECK-NEXT: Section: .rdata (2)30# CHECK-NEXT: BaseType: Null (0x0)31# CHECK-NEXT: ComplexType: Null (0x0)32# CHECK-NEXT: StorageClass: External (0x2)33# CHECK-NEXT: AuxSymbolCount: 034# CHECK-NEXT: }35# CHECK-NEXT: Symbol {36# CHECK-NEXT: Name: ExitProcess37# CHECK-NEXT: Value: 6438# CHECK-NEXT: Section: .text (1)39# CHECK-NEXT: BaseType: Null (0x0)40# CHECK-NEXT: ComplexType: Function (0x2)41# CHECK-NEXT: StorageClass: External (0x2)42# CHECK-NEXT: AuxSymbolCount: 043# CHECK-NEXT: }44# CHECK-NEXT: Symbol {45# CHECK-NEXT: Name: __imp_ExitProcess46# CHECK-NEXT: Value:47# CHECK-NEXT: Section: .rdata (2)48# CHECK-NEXT: BaseType: Null (0x0)49# CHECK-NEXT: ComplexType: Null (0x0)50# CHECK-NEXT: StorageClass: External (0x2)51# CHECK-NEXT: AuxSymbolCount: 052# CHECK-NEXT: }53# CHECK-NEXT: Symbol {54# CHECK-NEXT: Name: message55# CHECK-NEXT: Value: 656# CHECK-NEXT: Section: .text257# CHECK-NEXT: BaseType: Null (0x0)58# CHECK-NEXT: ComplexType: Null (0x0)59# CHECK-NEXT: StorageClass: Static (0x3)60# CHECK-NEXT: AuxSymbolCount: 061# CHECK-NEXT: }62# CHECK-NEXT: Symbol {63# CHECK-NEXT: Name: main64# CHECK-NEXT: Value: 065# CHECK-NEXT: Section: .text (1)66# CHECK-NEXT: BaseType: Null (0x0)67# CHECK-NEXT: ComplexType: Null (0x0)68# CHECK-NEXT: StorageClass: External (0x2)69# CHECK-NEXT: AuxSymbolCount: 070# CHECK-NEXT: }71# CHECK-NEXT: Symbol {72# CHECK-NEXT: Name: caption73# CHECK-NEXT: Value: 074# CHECK-NEXT: Section: .text275# CHECK-NEXT: BaseType: Null (0x0)76# CHECK-NEXT: ComplexType: Null (0x0)77# CHECK-NEXT: StorageClass: Static (0x3)78# CHECK-NEXT: AuxSymbolCount: 079# CHECK-NEXT: }80# CHECK-NEXT: Symbol {81# CHECK-NEXT: Name: abs_symbol82# CHECK-NEXT: Value: 373592855983# CHECK-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1)84# CHECK-NEXT: BaseType: Null (0x0)85# CHECK-NEXT: ComplexType: Null (0x0)86# CHECK-NEXT: StorageClass: External (0x2)87# CHECK-NEXT: AuxSymbolCount: 088# CHECK-NEXT: }89# CHECK-NEXT: Symbol {90# CHECK-NEXT: Name: weak_main91# CHECK-NEXT: Value: 092# CHECK-NEXT: Section: .text (1)93# CHECK-NEXT: BaseType: Null (0x0)94# CHECK-NEXT: ComplexType: Null (0x0)95# CHECK-NEXT: StorageClass: External (0x2)96# CHECK-NEXT: AuxSymbolCount: 097# CHECK-NEXT: }98# CHECK-NEXT: ]99 100# NO: Symbols [101# NO-NEXT: ]102 103--- !COFF104header:105 Machine: IMAGE_FILE_MACHINE_AMD64106 Characteristics: []107sections:108 - Name: .text109 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]110 Alignment: 4096111 SectionData: B800000000000000005068000000000000000068000000000000000050E8000000000000000050E8000000000000000050E80000000000000000112 Relocations:113 - VirtualAddress: 0114 SymbolName: abs_symbol115 Type: IMAGE_REL_AMD64_ADDR64116 - VirtualAddress: 7117 SymbolName: caption118 Type: IMAGE_REL_AMD64_ADDR64119 - VirtualAddress: 12120 SymbolName: message121 Type: IMAGE_REL_AMD64_ADDR64122 - VirtualAddress: 18123 SymbolName: MessageBoxA124 Type: IMAGE_REL_AMD64_REL32125 - VirtualAddress: 24126 SymbolName: ExitProcess127 Type: IMAGE_REL_AMD64_REL32128 - VirtualAddress: 30129 SymbolName: __ImageBase130 Type: IMAGE_REL_AMD64_ADDR64131 - Name: .text2132 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]133 Alignment: 4096134 SectionData: B800000000000000005068000000000000000068000000000000000050E8000000000000000050E8000000000000000050E80000000000000000135 Relocations:136 - VirtualAddress: 0137 SymbolName: abs_symbol138 Type: IMAGE_REL_AMD64_ADDR64139 - VirtualAddress: 7140 SymbolName: caption141 Type: IMAGE_REL_AMD64_ADDR64142 - VirtualAddress: 12143 SymbolName: message144 Type: IMAGE_REL_AMD64_ADDR64145 - VirtualAddress: 18146 SymbolName: MessageBoxA147 Type: IMAGE_REL_AMD64_REL32148 - VirtualAddress: 24149 SymbolName: ExitProcess150 Type: IMAGE_REL_AMD64_REL32151 - VirtualAddress: 30152 SymbolName: __ImageBase153 Type: IMAGE_REL_AMD64_ADDR64154 - Name: .data155 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]156 Alignment: 4157 SectionData: 48656C6C6F0048656C6C6F20576F726C6400158symbols:159 - Name: "@comp.id"160 Value: 10394907161 SectionNumber: 65535162 SimpleType: IMAGE_SYM_TYPE_NULL163 ComplexType: IMAGE_SYM_DTYPE_NULL164 StorageClass: IMAGE_SYM_CLASS_STATIC165 - Name: .text166 Value: 0167 SectionNumber: 1168 SimpleType: IMAGE_SYM_TYPE_NULL169 ComplexType: IMAGE_SYM_DTYPE_NULL170 StorageClass: IMAGE_SYM_CLASS_STATIC171 SectionDefinition:172 Length: 28173 NumberOfRelocations: 6174 NumberOfLinenumbers: 0175 CheckSum: 0176 Number: 0177 - Name: .text2178 Value: 0179 SectionNumber: 1180 SimpleType: IMAGE_SYM_TYPE_NULL181 ComplexType: IMAGE_SYM_DTYPE_NULL182 StorageClass: IMAGE_SYM_CLASS_STATIC183 SectionDefinition:184 Length: 28185 NumberOfRelocations: 6186 NumberOfLinenumbers: 0187 CheckSum: 0188 Number: 0189 - Name: .data190 Value: 0191 SectionNumber: 3192 SimpleType: IMAGE_SYM_TYPE_NULL193 ComplexType: IMAGE_SYM_DTYPE_NULL194 StorageClass: IMAGE_SYM_CLASS_STATIC195 SectionDefinition:196 Length: 18197 NumberOfRelocations: 0198 NumberOfLinenumbers: 0199 CheckSum: 0200 Number: 0201 - Name: MessageBoxA202 Value: 0203 SectionNumber: 0204 SimpleType: IMAGE_SYM_TYPE_NULL205 ComplexType: IMAGE_SYM_DTYPE_NULL206 StorageClass: IMAGE_SYM_CLASS_EXTERNAL207 - Name: ExitProcess208 Value: 0209 SectionNumber: 0210 SimpleType: IMAGE_SYM_TYPE_NULL211 ComplexType: IMAGE_SYM_DTYPE_NULL212 StorageClass: IMAGE_SYM_CLASS_EXTERNAL213 - Name: message214 Value: 6215 SectionNumber: 2216 SimpleType: IMAGE_SYM_TYPE_NULL217 ComplexType: IMAGE_SYM_DTYPE_NULL218 StorageClass: IMAGE_SYM_CLASS_STATIC219 - Name: main220 Value: 0221 SectionNumber: 1222 SimpleType: IMAGE_SYM_TYPE_NULL223 ComplexType: IMAGE_SYM_DTYPE_NULL224 StorageClass: IMAGE_SYM_CLASS_EXTERNAL225 - Name: caption226 Value: 0227 SectionNumber: 2228 SimpleType: IMAGE_SYM_TYPE_NULL229 ComplexType: IMAGE_SYM_DTYPE_NULL230 StorageClass: IMAGE_SYM_CLASS_STATIC231 - Name: abs_symbol232 Value: 0xDEADBEEF233 SectionNumber: -1234 SimpleType: IMAGE_SYM_TYPE_NULL235 ComplexType: IMAGE_SYM_DTYPE_NULL236 StorageClass: IMAGE_SYM_CLASS_EXTERNAL237 - Name: __ImageBase238 Value: 0239 SectionNumber: 0240 SimpleType: IMAGE_SYM_TYPE_NULL241 ComplexType: IMAGE_SYM_DTYPE_NULL242 StorageClass: IMAGE_SYM_CLASS_EXTERNAL243 - Name: .Ltemp_symbol244 Value: 1245 SectionNumber: 1246 SimpleType: IMAGE_SYM_TYPE_NULL247 ComplexType: IMAGE_SYM_DTYPE_NULL248 StorageClass: IMAGE_SYM_CLASS_LABEL249 - Name: weak_main250 Value: 0251 SectionNumber: 0252 SimpleType: IMAGE_SYM_TYPE_NULL253 ComplexType: IMAGE_SYM_DTYPE_NULL254 StorageClass: IMAGE_SYM_CLASS_WEAK_EXTERNAL255 WeakExternal:256 TagIndex: 10257 Characteristics: IMAGE_WEAK_EXTERN_SEARCH_ALIAS258...259