1 # RUN: yaml2obj < %s > %t.obj
2 # RUN: lld-link /debug /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 /opt:noref /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
5 # RUN: llvm-readobj -symbols %t.exe | FileCheck %s
7 # RUN: lld-link /debug /nosymtab /out:%t.exe /entry:main %t.obj %p/Inputs/std64.lib
8 # RUN: llvm-readobj -symbols %t.exe | FileCheck -check-prefix=NO %s
11 # CHECK-NEXT: Symbol {
12 # CHECK-NEXT: Name: .text
13 # CHECK-NEXT: Value: 0
14 # CHECK-NEXT: Section: .text (2)
15 # CHECK-NEXT: BaseType: Null (0x0)
16 # CHECK-NEXT: ComplexType: Null (0x0)
17 # CHECK-NEXT: StorageClass: Static (0x3)
18 # CHECK-NEXT: AuxSymbolCount: 0
20 # CHECK-NEXT: Symbol {
21 # CHECK-NEXT: Name: .text2
22 # CHECK-NEXT: Value: 0
23 # CHECK-NEXT: Section: .text (2)
24 # CHECK-NEXT: BaseType: Null (0x0)
25 # CHECK-NEXT: ComplexType: Null (0x0)
26 # CHECK-NEXT: StorageClass: Static (0x3)
27 # CHECK-NEXT: AuxSymbolCount: 0
29 # CHECK-NEXT: Symbol {
30 # CHECK-NEXT: Name: .data
31 # CHECK-NEXT: Value: 0
32 # CHECK-NEXT: Section: .data (1)
33 # CHECK-NEXT: BaseType: Null (0x0)
34 # CHECK-NEXT: ComplexType: Null (0x0)
35 # CHECK-NEXT: StorageClass: Static (0x3)
36 # CHECK-NEXT: AuxSymbolCount: 0
38 # CHECK-NEXT: Symbol {
39 # CHECK-NEXT: Name: MessageBoxA
40 # CHECK-NEXT: Value: 80
41 # CHECK-NEXT: Section: .text (2)
42 # CHECK-NEXT: BaseType: Null (0x0)
43 # CHECK-NEXT: ComplexType: Null (0x0)
44 # CHECK-NEXT: StorageClass: External (0x2)
45 # CHECK-NEXT: AuxSymbolCount: 0
47 # CHECK-NEXT: Symbol {
48 # CHECK-NEXT: Name: ExitProcess
49 # CHECK-NEXT: Value: 64
50 # CHECK-NEXT: Section: .text (2)
51 # CHECK-NEXT: BaseType: Null (0x0)
52 # CHECK-NEXT: ComplexType: Null (0x0)
53 # CHECK-NEXT: StorageClass: External (0x2)
54 # CHECK-NEXT: AuxSymbolCount: 0
56 # CHECK-NEXT: Symbol {
57 # CHECK-NEXT: Name: message
58 # CHECK-NEXT: Value: 6
59 # CHECK-NEXT: Section: .text2 (3)
60 # CHECK-NEXT: BaseType: Null (0x0)
61 # CHECK-NEXT: ComplexType: Null (0x0)
62 # CHECK-NEXT: StorageClass: Static (0x3)
63 # CHECK-NEXT: AuxSymbolCount: 0
65 # CHECK-NEXT: Symbol {
66 # CHECK-NEXT: Name: main
67 # CHECK-NEXT: Value: 0
68 # CHECK-NEXT: Section: .text (2)
69 # CHECK-NEXT: BaseType: Null (0x0)
70 # CHECK-NEXT: ComplexType: Null (0x0)
71 # CHECK-NEXT: StorageClass: External (0x2)
72 # CHECK-NEXT: AuxSymbolCount: 0
74 # CHECK-NEXT: Symbol {
75 # CHECK-NEXT: Name: caption
76 # CHECK-NEXT: Value: 0
77 # CHECK-NEXT: Section: .text2 (3)
78 # CHECK-NEXT: BaseType: Null (0x0)
79 # CHECK-NEXT: ComplexType: Null (0x0)
80 # CHECK-NEXT: StorageClass: Static (0x3)
81 # CHECK-NEXT: AuxSymbolCount: 0
83 # CHECK-NEXT: Symbol {
84 # CHECK-NEXT: Name: abs_symbol
85 # CHECK-NEXT: Value: 2662186735
86 # CHECK-NEXT: Section: IMAGE_SYM_ABSOLUTE (-1)
87 # CHECK-NEXT: BaseType: Null (0x0)
88 # CHECK-NEXT: ComplexType: Null (0x0)
89 # CHECK-NEXT: StorageClass: External (0x2)
90 # CHECK-NEXT: AuxSymbolCount: 0
98 Machine: IMAGE_FILE_MACHINE_AMD64
102 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
104 SectionData: B800000000000000005068000000000000000068000000000000000050E8000000000000000050E8000000000000000050E80000000000000000
107 SymbolName: abs_symbol
108 Type: IMAGE_REL_AMD64_ADDR64
111 Type: IMAGE_REL_AMD64_ADDR64
114 Type: IMAGE_REL_AMD64_ADDR64
116 SymbolName: MessageBoxA
117 Type: IMAGE_REL_AMD64_REL32
119 SymbolName: ExitProcess
120 Type: IMAGE_REL_AMD64_REL32
122 SymbolName: __ImageBase
123 Type: IMAGE_REL_AMD64_ADDR64
125 Characteristics: [ IMAGE_SCN_CNT_CODE, IMAGE_SCN_MEM_EXECUTE, IMAGE_SCN_MEM_READ ]
127 SectionData: B800000000000000005068000000000000000068000000000000000050E8000000000000000050E8000000000000000050E80000000000000000
130 SymbolName: abs_symbol
131 Type: IMAGE_REL_AMD64_ADDR64
134 Type: IMAGE_REL_AMD64_ADDR64
137 Type: IMAGE_REL_AMD64_ADDR64
139 SymbolName: MessageBoxA
140 Type: IMAGE_REL_AMD64_REL32
142 SymbolName: ExitProcess
143 Type: IMAGE_REL_AMD64_REL32
145 SymbolName: __ImageBase
146 Type: IMAGE_REL_AMD64_ADDR64
148 Characteristics: [ IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_MEM_READ, IMAGE_SCN_MEM_WRITE ]
150 SectionData: 48656C6C6F0048656C6C6F20576F726C6400
155 SimpleType: IMAGE_SYM_TYPE_NULL
156 ComplexType: IMAGE_SYM_DTYPE_NULL
157 StorageClass: IMAGE_SYM_CLASS_STATIC
161 SimpleType: IMAGE_SYM_TYPE_NULL
162 ComplexType: IMAGE_SYM_DTYPE_NULL
163 StorageClass: IMAGE_SYM_CLASS_STATIC
166 NumberOfRelocations: 6
167 NumberOfLinenumbers: 0
173 SimpleType: IMAGE_SYM_TYPE_NULL
174 ComplexType: IMAGE_SYM_DTYPE_NULL
175 StorageClass: IMAGE_SYM_CLASS_STATIC
178 NumberOfRelocations: 6
179 NumberOfLinenumbers: 0
185 SimpleType: IMAGE_SYM_TYPE_NULL
186 ComplexType: IMAGE_SYM_DTYPE_NULL
187 StorageClass: IMAGE_SYM_CLASS_STATIC
190 NumberOfRelocations: 0
191 NumberOfLinenumbers: 0
197 SimpleType: IMAGE_SYM_TYPE_NULL
198 ComplexType: IMAGE_SYM_DTYPE_NULL
199 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
203 SimpleType: IMAGE_SYM_TYPE_NULL
204 ComplexType: IMAGE_SYM_DTYPE_NULL
205 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
209 SimpleType: IMAGE_SYM_TYPE_NULL
210 ComplexType: IMAGE_SYM_DTYPE_NULL
211 StorageClass: IMAGE_SYM_CLASS_STATIC
215 SimpleType: IMAGE_SYM_TYPE_NULL
216 ComplexType: IMAGE_SYM_DTYPE_NULL
217 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
221 SimpleType: IMAGE_SYM_TYPE_NULL
222 ComplexType: IMAGE_SYM_DTYPE_NULL
223 StorageClass: IMAGE_SYM_CLASS_STATIC
227 SimpleType: IMAGE_SYM_TYPE_NULL
228 ComplexType: IMAGE_SYM_DTYPE_NULL
229 StorageClass: IMAGE_SYM_CLASS_EXTERNAL
233 SimpleType: IMAGE_SYM_TYPE_NULL
234 ComplexType: IMAGE_SYM_DTYPE_NULL
235 StorageClass: IMAGE_SYM_CLASS_EXTERNAL