Lines Matching +full:llvm +full:- +full:test

1 Test creating ARM64EC importlib.
3 RUN: split-file %s %t.dir && cd %t.dir
4 RUN: llvm-lib -machine:arm64ec -def:test.def -out:test.lib
6 RUN: llvm-nm --print-armap test.lib | FileCheck -check-prefix=ARMAP %s
9 ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
10 ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
11 ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll
12 ARMAP-EMPTY:
13 ARMAP-NEXT: Archive EC map
14 ARMAP-NEXT: #expname in test.dll
15 ARMAP-NEXT: #funcexp in test.dll
16 ARMAP-NEXT: #mangledfunc in test.dll
17 ARMAP-NEXT: #manglednonamefunc in test.dll
18 ARMAP-NEXT: #nonamefunc in test.dll
19 ARMAP-NEXT: ?test_cpp_func@@$$hYAHPEAX@Z in test.dll
20 ARMAP-NEXT: ?test_cpp_func@@YAHPEAX@Z in test.dll
21 ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
22 ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
23 ARMAP-NEXT: __imp_?test_cpp_func@@YAHPEAX@Z in test.dll
24 ARMAP-NEXT: __imp_aux_?test_cpp_func@@YAHPEAX@Z in test.dll
25 ARMAP-NEXT: __imp_aux_expname in test.dll
26 ARMAP-NEXT: __imp_aux_funcexp in test.dll
27 ARMAP-NEXT: __imp_aux_mangledfunc in test.dll
28 ARMAP-NEXT: __imp_aux_manglednonamefunc in test.dll
29 ARMAP-NEXT: __imp_aux_nonamefunc in test.dll
30 ARMAP-NEXT: __imp_dataexp in test.dll
31 ARMAP-NEXT: __imp_expname in test.dll
32 ARMAP-NEXT: __imp_funcexp in test.dll
33 ARMAP-NEXT: __imp_mangledfunc in test.dll
34 ARMAP-NEXT: __imp_manglednonamefunc in test.dll
35 ARMAP-NEXT: __imp_nonamefunc in test.dll
36 ARMAP-NEXT: expname in test.dll
37 ARMAP-NEXT: funcexp in test.dll
38 ARMAP-NEXT: mangledfunc in test.dll
39 ARMAP-NEXT: manglednonamefunc in test.dll
40 ARMAP-NEXT: nonamefunc in test.dll
41 ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll
43 RUN: llvm-readobj test.lib | FileCheck -check-prefix=READOBJ %s
45 READOBJ: File: test{{.*}}.lib(test.dll)
46 READOBJ-NEXT: Format: COFF-ARM64{{$}}
47 READOBJ-NEXT: Arch: aarch64
48 READOBJ-NEXT: AddressSize: 64bit
49 READOBJ-EMPTY:
50 READOBJ-NEXT: File: test{{.*}}.lib(test.dll)
51 READOBJ-NEXT: Format: COFF-ARM64{{$}}
52 READOBJ-NEXT: Arch: aarch64
53 READOBJ-NEXT: AddressSize: 64bit
54 READOBJ-EMPTY:
55 READOBJ-NEXT: File: test{{.*}}.lib(test.dll)
56 READOBJ-NEXT: Format: COFF-ARM64{{$}}
57 READOBJ-NEXT: Arch: aarch64
58 READOBJ-NEXT: AddressSize: 64bit
59 READOBJ-EMPTY:
60 READOBJ-NEXT: File: test.dll
61 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
62 READOBJ-NEXT: Type: code
63 READOBJ-NEXT: Name type: export as
64 READOBJ-NEXT: Export name: funcexp
65 READOBJ-NEXT: Symbol: __imp_funcexp
66 READOBJ-NEXT: Symbol: funcexp
67 READOBJ-NEXT: Symbol: __imp_aux_funcexp
68 READOBJ-NEXT: Symbol: #funcexp
69 READOBJ-EMPTY:
70 READOBJ-NEXT: File: test.dll
71 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
72 READOBJ-NEXT: Type: code
73 READOBJ-NEXT: Name type: export as
74 READOBJ-NEXT: Export name: mangledfunc
75 READOBJ-NEXT: Symbol: __imp_mangledfunc
76 READOBJ-NEXT: Symbol: mangledfunc
77 READOBJ-NEXT: Symbol: __imp_aux_mangledfunc
78 READOBJ-NEXT: Symbol: #mangledfunc
79 READOBJ-EMPTY:
80 READOBJ-NEXT: File: test.dll
81 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
82 READOBJ-NEXT: Type: code
83 READOBJ-NEXT: Name type: export as
84 READOBJ-NEXT: Export name: ?test_cpp_func@@YAHPEAX@Z
85 READOBJ-NEXT: Symbol: __imp_?test_cpp_func@@YAHPEAX@Z
86 READOBJ-NEXT: Symbol: ?test_cpp_func@@YAHPEAX@Z
87 READOBJ-NEXT: Symbol: __imp_aux_?test_cpp_func@@YAHPEAX@Z
88 READOBJ-NEXT: Symbol: ?test_cpp_func@@$$hYAHPEAX@Z
89 READOBJ-EMPTY:
90 READOBJ-NEXT: File: test.dll
91 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
92 READOBJ-NEXT: Type: code
93 READOBJ-NEXT: Name type: export as
94 READOBJ-NEXT: Export name: expname
95 READOBJ-NEXT: Symbol: __imp_expname
96 READOBJ-NEXT: Symbol: expname
97 READOBJ-NEXT: Symbol: __imp_aux_expname
98 READOBJ-NEXT: Symbol: #expname
99 READOBJ-EMPTY:
100 READOBJ-NEXT: File: test.dll
101 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
102 READOBJ-NEXT: Type: data
103 READOBJ-NEXT: Name type: name
104 READOBJ-NEXT: Export name: dataexp
105 READOBJ-NEXT: Symbol: __imp_dataexp
106 READOBJ-EMPTY:
107 READOBJ-NEXT: File: test.dll
108 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
109 READOBJ-NEXT: Type: code
110 READOBJ-NEXT: Name type: ordinal
111 READOBJ-NEXT: Symbol: __imp_nonamefunc
112 READOBJ-NEXT: Symbol: nonamefunc
113 READOBJ-NEXT: Symbol: __imp_aux_nonamefunc
114 READOBJ-NEXT: Symbol: #nonamefunc
115 READOBJ-EMPTY:
116 READOBJ-NEXT: File: test.dll
117 READOBJ-NEXT: Format: COFF-import-file-ARM64EC
118 READOBJ-NEXT: Type: code
119 READOBJ-NEXT: Name type: ordinal
120 READOBJ-NEXT: Symbol: __imp_manglednonamefunc
121 READOBJ-NEXT: Symbol: manglednonamefunc
122 READOBJ-NEXT: Symbol: __imp_aux_manglednonamefunc
123 READOBJ-NEXT: Symbol: #manglednonamefunc
126 Using -machine:arm64x gives the same output.
127 RUN: llvm-lib -machine:arm64x -def:test.def -out:testx.lib
128 RUN: llvm-nm --print-armap testx.lib | FileCheck -check-prefix=ARMAP %s
129 RUN: llvm-readobj testx.lib | FileCheck -check-prefix=READOBJ %s
132 RUN: llvm-lib -machine:arm64ec test.lib -out:test2.lib
133 RUN: llvm-nm --print-armap test2.lib | FileCheck -check-prefix=ARMAP %s
136 RUN: llvm-lib -machine:arm64ec -def:test.def -defArm64Native:test.def -out:testx.lib
138 RUN: llvm-nm --print-armap testx.lib | FileCheck -check-prefix=ARMAPX %s
141 ARMAPX-NEXT: #mangledfunc in test.dll
142 ARMAPX-NEXT: #manglednonamefunc in test.dll
143 ARMAPX-NEXT: ?test_cpp_func@@YAHPEAX@Z in test.dll
144 ARMAPX-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
145 ARMAPX-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
146 ARMAPX-NEXT: __imp_#mangledfunc in test.dll
147 ARMAPX-NEXT: __imp_#manglednonamefunc in test.dll
148 ARMAPX-NEXT: __imp_?test_cpp_func@@YAHPEAX@Z in test.dll
149 ARMAPX-NEXT: __imp_dataexp in test.dll
150 ARMAPX-NEXT: __imp_expname in test.dll
151 ARMAPX-NEXT: __imp_funcexp in test.dll
152 ARMAPX-NEXT: __imp_nonamefunc in test.dll
153 ARMAPX-NEXT: expname in test.dll
154 ARMAPX-NEXT: funcexp in test.dll
155 ARMAPX-NEXT: nonamefunc in test.dll
156 ARMAPX-NEXT: test_NULL_THUNK_DATA in test.dll
157 ARMAPX-EMPTY:
158 ARMAPX-NEXT: Archive EC map
159 ARMAPX-NEXT: #expname in test.dll
160 ARMAPX-NEXT: #funcexp in test.dll
161 ARMAPX-NEXT: #mangledfunc in test.dll
162 ARMAPX-NEXT: #manglednonamefunc in test.dll
163 ARMAPX-NEXT: #nonamefunc in test.dll
164 ARMAPX-NEXT: ?test_cpp_func@@$$hYAHPEAX@Z in test.dll
165 ARMAPX-NEXT: ?test_cpp_func@@YAHPEAX@Z in test.dll
166 ARMAPX-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
167 ARMAPX-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
168 ARMAPX-NEXT: __imp_?test_cpp_func@@YAHPEAX@Z in test.dll
169 ARMAPX-NEXT: __imp_aux_?test_cpp_func@@YAHPEAX@Z in test.dll
170 ARMAPX-NEXT: __imp_aux_expname in test.dll
171 ARMAPX-NEXT: __imp_aux_funcexp in test.dll
172 ARMAPX-NEXT: __imp_aux_mangledfunc in test.dll
173 ARMAPX-NEXT: __imp_aux_manglednonamefunc in test.dll
174 ARMAPX-NEXT: __imp_aux_nonamefunc in test.dll
175 ARMAPX-NEXT: __imp_dataexp in test.dll
176 ARMAPX-NEXT: __imp_expname in test.dll
177 ARMAPX-NEXT: __imp_funcexp in test.dll
178 ARMAPX-NEXT: __imp_mangledfunc in test.dll
179 ARMAPX-NEXT: __imp_manglednonamefunc in test.dll
180 ARMAPX-NEXT: __imp_nonamefunc in test.dll
181 ARMAPX-NEXT: expname in test.dll
182 ARMAPX-NEXT: funcexp in test.dll
183 ARMAPX-NEXT: mangledfunc in test.dll
184 ARMAPX-NEXT: manglednonamefunc in test.dll
185 ARMAPX-NEXT: nonamefunc in test.dll
186 ARMAPX-NEXT: test_NULL_THUNK_DATA in test.dll
188 RUN: llvm-readobj testx.lib | FileCheck -check-prefix=READOBJX %s
190 READOBJX: File: testx.lib(test.dll)
191 READOBJX-NEXT: Format: COFF-ARM64
192 READOBJX-NEXT: Arch: aarch64
193 READOBJX-NEXT: AddressSize: 64bit
194 READOBJX-EMPTY:
195 READOBJX-NEXT: File: testx.lib(test.dll)
196 READOBJX-NEXT: Format: COFF-ARM64
197 READOBJX-NEXT: Arch: aarch64
198 READOBJX-NEXT: AddressSize: 64bit
199 READOBJX-EMPTY:
200 READOBJX-NEXT: File: testx.lib(test.dll)
201 READOBJX-NEXT: Format: COFF-ARM64
202 READOBJX-NEXT: Arch: aarch64
203 READOBJX-NEXT: AddressSize: 64bit
204 READOBJX-EMPTY:
205 READOBJX-NEXT: File: test.dll
206 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
207 READOBJX-NEXT: Type: code
208 READOBJX-NEXT: Name type: export as
209 READOBJX-NEXT: Export name: funcexp
210 READOBJX-NEXT: Symbol: __imp_funcexp
211 READOBJX-NEXT: Symbol: funcexp
212 READOBJX-NEXT: Symbol: __imp_aux_funcexp
213 READOBJX-NEXT: Symbol: #funcexp
214 READOBJX-EMPTY:
215 READOBJX-NEXT: File: test.dll
216 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
217 READOBJX-NEXT: Type: code
218 READOBJX-NEXT: Name type: export as
219 READOBJX-NEXT: Export name: mangledfunc
220 READOBJX-NEXT: Symbol: __imp_mangledfunc
221 READOBJX-NEXT: Symbol: mangledfunc
222 READOBJX-NEXT: Symbol: __imp_aux_mangledfunc
223 READOBJX-NEXT: Symbol: #mangledfunc
224 READOBJX-EMPTY:
225 READOBJX-NEXT: File: test.dll
226 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
227 READOBJX-NEXT: Type: code
228 READOBJX-NEXT: Name type: export as
229 READOBJX-NEXT: Export name: ?test_cpp_func@@YAHPEAX@Z
230 READOBJX-NEXT: Symbol: __imp_?test_cpp_func@@YAHPEAX@Z
231 READOBJX-NEXT: Symbol: ?test_cpp_func@@YAHPEAX@Z
232 READOBJX-NEXT: Symbol: __imp_aux_?test_cpp_func@@YAHPEAX@Z
233 READOBJX-NEXT: Symbol: ?test_cpp_func@@$$hYAHPEAX@Z
234 READOBJX-EMPTY:
235 READOBJX-NEXT: File: test.dll
236 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
237 READOBJX-NEXT: Type: code
238 READOBJX-NEXT: Name type: export as
239 READOBJX-NEXT: Export name: expname
240 READOBJX-NEXT: Symbol: __imp_expname
241 READOBJX-NEXT: Symbol: expname
242 READOBJX-NEXT: Symbol: __imp_aux_expname
243 READOBJX-NEXT: Symbol: #expname
244 READOBJX-EMPTY:
245 READOBJX-NEXT: File: test.dll
246 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
247 READOBJX-NEXT: Type: data
248 READOBJX-NEXT: Name type: name
249 READOBJX-NEXT: Export name: dataexp
250 READOBJX-NEXT: Symbol: __imp_dataexp
251 READOBJX-EMPTY:
252 READOBJX-NEXT: File: test.dll
253 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
254 READOBJX-NEXT: Type: code
255 READOBJX-NEXT: Name type: ordinal
256 READOBJX-NEXT: Symbol: __imp_nonamefunc
257 READOBJX-NEXT: Symbol: nonamefunc
258 READOBJX-NEXT: Symbol: __imp_aux_nonamefunc
259 READOBJX-NEXT: Symbol: #nonamefunc
260 READOBJX-EMPTY:
261 READOBJX-NEXT: File: test.dll
262 READOBJX-NEXT: Format: COFF-import-file-ARM64EC
263 READOBJX-NEXT: Type: code
264 READOBJX-NEXT: Name type: ordinal
265 READOBJX-NEXT: Symbol: __imp_manglednonamefunc
266 READOBJX-NEXT: Symbol: manglednonamefunc
267 READOBJX-NEXT: Symbol: __imp_aux_manglednonamefunc
268 READOBJX-NEXT: Symbol: #manglednonamefunc
269 READOBJX-EMPTY:
270 READOBJX-NEXT: File: test.dll
271 READOBJX-NEXT: Format: COFF-import-file-ARM64
272 READOBJX-NEXT: Type: code
273 READOBJX-NEXT: Name type: name
274 READOBJX-NEXT: Export name: funcexp
275 READOBJX-NEXT: Symbol: __imp_funcexp
276 READOBJX-NEXT: Symbol: funcexp
277 READOBJX-EMPTY:
278 READOBJX-NEXT: File: test.dll
279 READOBJX-NEXT: Format: COFF-import-file-ARM64
280 READOBJX-NEXT: Type: code
281 READOBJX-NEXT: Name type: name
282 READOBJX-NEXT: Export name: #mangledfunc
283 READOBJX-NEXT: Symbol: __imp_#mangledfunc
284 READOBJX-NEXT: Symbol: #mangledfunc
285 READOBJX-EMPTY:
286 READOBJX-NEXT: File: test.dll
287 READOBJX-NEXT: Format: COFF-import-file-ARM64
288 READOBJX-NEXT: Type: code
289 READOBJX-NEXT: Name type: name
290 READOBJX-NEXT: Export name: ?test_cpp_func@@YAHPEAX@Z
291 READOBJX-NEXT: Symbol: __imp_?test_cpp_func@@YAHPEAX@Z
292 READOBJX-NEXT: Symbol: ?test_cpp_func@@YAHPEAX@Z
293 READOBJX-EMPTY:
294 READOBJX-NEXT: File: test.dll
295 READOBJX-NEXT: Format: COFF-import-file-ARM64
296 READOBJX-NEXT: Type: code
297 READOBJX-NEXT: Name type: name
298 READOBJX-NEXT: Export name: expname
299 READOBJX-NEXT: Symbol: __imp_expname
300 READOBJX-NEXT: Symbol: expname
301 READOBJX-EMPTY:
302 READOBJX-NEXT: File: test.dll
303 READOBJX-NEXT: Format: COFF-import-file-ARM64
304 READOBJX-NEXT: Type: data
305 READOBJX-NEXT: Name type: name
306 READOBJX-NEXT: Export name: dataexp
307 READOBJX-NEXT: Symbol: __imp_dataexp
308 READOBJX-EMPTY:
309 READOBJX-NEXT: File: test.dll
310 READOBJX-NEXT: Format: COFF-import-file-ARM64
311 READOBJX-NEXT: Type: code
312 READOBJX-NEXT: Name type: ordinal
313 READOBJX-NEXT: Symbol: __imp_nonamefunc
314 READOBJX-NEXT: Symbol: nonamefunc
315 READOBJX-EMPTY:
316 READOBJX-NEXT: File: test.dll
317 READOBJX-NEXT: Format: COFF-import-file-ARM64
318 READOBJX-NEXT: Type: code
319 READOBJX-NEXT: Name type: ordinal
320 READOBJX-NEXT: Symbol: __imp_#manglednonamefunc
321 READOBJX-NEXT: Symbol: #manglednonamefunc
324 RUN: llvm-lib -machine:arm64ec -def:test.def -defArm64Native:test2.def -out:test2.lib
325 RUN: llvm-lib -machine:arm64ec -def:test.def -defArm64Native:test2.def -out:test2x.lib
326 RUN: llvm-nm --print-armap test2.lib | FileCheck -check-prefix=ARMAPX2 %s
327 RUN: llvm-nm --print-armap test2x.lib | FileCheck -check-prefix=ARMAPX2 %s
330 ARMAPX2-NEXT: __IMPORT_DESCRIPTOR_test2 in test2.dll
331 ARMAPX2-NEXT: __NULL_IMPORT_DESCRIPTOR in test2.dll
332 ARMAPX2-NEXT: __imp_otherfunc in test2.dll
333 ARMAPX2-NEXT: otherfunc in test2.dll
334 ARMAPX2-NEXT: test2_NULL_THUNK_DATA in test2.dll
335 ARMAPX2-EMPTY:
336 ARMAPX2-NEXT: Archive EC map
337 ARMAPX2-NEXT: #expname in test2.dll
338 ARMAPX2-NEXT: #funcexp in test2.dll
339 ARMAPX2-NEXT: #mangledfunc in test2.dll
340 ARMAPX2-NEXT: #manglednonamefunc in test2.dll
341 ARMAPX2-NEXT: #nonamefunc in test2.dll
342 ARMAPX2-NEXT: ?test_cpp_func@@$$hYAHPEAX@Z in test2.dll
343 ARMAPX2-NEXT: ?test_cpp_func@@YAHPEAX@Z in test2.dll
344 ARMAPX2-NEXT: __IMPORT_DESCRIPTOR_test2 in test2.dll
345 ARMAPX2-NEXT: __NULL_IMPORT_DESCRIPTOR in test2.dll
346 ARMAPX2-NEXT: __imp_?test_cpp_func@@YAHPEAX@Z in test2.dll
347 ARMAPX2-NEXT: __imp_aux_?test_cpp_func@@YAHPEAX@Z in test2.dll
348 ARMAPX2-NEXT: __imp_aux_expname in test2.dll
349 ARMAPX2-NEXT: __imp_aux_funcexp in test2.dll
350 ARMAPX2-NEXT: __imp_aux_mangledfunc in test2.dll
351 ARMAPX2-NEXT: __imp_aux_manglednonamefunc in test2.dll
352 ARMAPX2-NEXT: __imp_aux_nonamefunc in test2.dll
353 ARMAPX2-NEXT: __imp_dataexp in test2.dll
354 ARMAPX2-NEXT: __imp_expname in test2.dll
355 ARMAPX2-NEXT: __imp_funcexp in test2.dll
356 ARMAPX2-NEXT: __imp_mangledfunc in test2.dll
357 ARMAPX2-NEXT: __imp_manglednonamefunc in test2.dll
358 ARMAPX2-NEXT: __imp_nonamefunc in test2.dll
359 ARMAPX2-NEXT: expname in test2.dll
360 ARMAPX2-NEXT: funcexp in test2.dll
361 ARMAPX2-NEXT: mangledfunc in test2.dll
362 ARMAPX2-NEXT: manglednonamefunc in test2.dll
363 ARMAPX2-NEXT: nonamefunc in test2.dll
364 ARMAPX2-NEXT: test2_NULL_THUNK_DATA in test2.dll
368 ARMAPX2-NEXT: 00000000 T __imp_aux_funcexp
369 ARMAPX2-NEXT: 00000000 T __imp_funcexp
370 ARMAPX2-NEXT: 00000000 T funcexp
371 ARMAPX2-EMPTY:
372 ARMAPX2-NEXT: test2.dll:
373 ARMAPX2-NEXT: 00000000 T #mangledfunc
374 ARMAPX2-NEXT: 00000000 T __imp_aux_mangledfunc
375 ARMAPX2-NEXT: 00000000 T __imp_mangledfunc
376 ARMAPX2-NEXT: 00000000 T mangledfunc
377 ARMAPX2-EMPTY:
378 ARMAPX2-NEXT: test2.dll:
379 ARMAPX2-NEXT: 00000000 T ?test_cpp_func@@$$hYAHPEAX@Z
380 ARMAPX2-NEXT: 00000000 T ?test_cpp_func@@YAHPEAX@Z
381 ARMAPX2-NEXT: 00000000 T __imp_?test_cpp_func@@YAHPEAX@Z
382 ARMAPX2-NEXT: 00000000 T __imp_aux_?test_cpp_func@@YAHPEAX@Z
383 ARMAPX2-EMPTY:
384 ARMAPX2-NEXT: test2.dll:
385 ARMAPX2-NEXT: 00000000 T #expname
386 ARMAPX2-NEXT: 00000000 T __imp_aux_expname
387 ARMAPX2-NEXT: 00000000 T __imp_expname
388 ARMAPX2-NEXT: 00000000 T expname
389 ARMAPX2-EMPTY:
390 ARMAPX2-NEXT: test2.dll:
391 ARMAPX2-NEXT: 00000000 D __imp_dataexp
392 ARMAPX2-EMPTY:
393 ARMAPX2-NEXT: test2.dll:
394 ARMAPX2-NEXT: 00000000 T #nonamefunc
395 ARMAPX2-NEXT: 00000000 T __imp_aux_nonamefunc
396 ARMAPX2-NEXT: 00000000 T __imp_nonamefunc
397 ARMAPX2-NEXT: 00000000 T nonamefunc
398 ARMAPX2-EMPTY:
399 ARMAPX2-NEXT: test2.dll:
400 ARMAPX2-NEXT: 00000000 T #manglednonamefunc
401 ARMAPX2-NEXT: 00000000 T __imp_aux_manglednonamefunc
402 ARMAPX2-NEXT: 00000000 T __imp_manglednonamefunc
403 ARMAPX2-NEXT: 00000000 T manglednonamefunc
404 ARMAPX2-EMPTY:
405 ARMAPX2-NEXT: test2.dll:
406 ARMAPX2-NEXT: 00000000 T __imp_otherfunc
407 ARMAPX2-NEXT: 00000000 T otherfunc
410 RUN: llvm-lib -machine:arm64ec -def:exportas.def -out:exportas.lib
411 RUN: llvm-nm --print-armap exportas.lib | FileCheck -check-prefix=EXPAS-ARMAP %s
412 RUN: llvm-readobj exportas.lib | FileCheck -check-prefix=EXPAS-READOBJ %s
414 EXPAS-ARMAP: Archive EC map
415 EXPAS-ARMAP-NEXT: #func1 in test.dll
416 EXPAS-ARMAP-NEXT: #func2 in test.dll
417 EXPAS-ARMAP-NEXT: #func3 in test.dll
418 EXPAS-ARMAP-NEXT: #func4 in test.dll
419 EXPAS-ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
420 EXPAS-ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
421 EXPAS-ARMAP-NEXT: __imp_aux_func1 in test.dll
422 EXPAS-ARMAP-NEXT: __imp_aux_func2 in test.dll
423 EXPAS-ARMAP-NEXT: __imp_aux_func3 in test.dll
424 EXPAS-ARMAP-NEXT: __imp_aux_func4 in test.dll
425 EXPAS-ARMAP-NEXT: __imp_data1 in test.dll
426 EXPAS-ARMAP-NEXT: __imp_data2 in test.dll
427 EXPAS-ARMAP-NEXT: __imp_func1 in test.dll
428 EXPAS-ARMAP-NEXT: __imp_func2 in test.dll
429 EXPAS-ARMAP-NEXT: __imp_func3 in test.dll
430 EXPAS-ARMAP-NEXT: __imp_func4 in test.dll
431 EXPAS-ARMAP-NEXT: func1 in test.dll
432 EXPAS-ARMAP-NEXT: func2 in test.dll
433 EXPAS-ARMAP-NEXT: func3 in test.dll
434 EXPAS-ARMAP-NEXT: func4 in test.dll
435 EXPAS-ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll
437 EXPAS-READOBJ: File: test.dll
438 EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
439 EXPAS-READOBJ-NEXT: Type: code
440 EXPAS-READOBJ-NEXT: Name type: export as
441 EXPAS-READOBJ-NEXT: Export name: func1
442 EXPAS-READOBJ-NEXT: Symbol: __imp_func1
443 EXPAS-READOBJ-NEXT: Symbol: func1
444 EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func1
445 EXPAS-READOBJ-NEXT: Symbol: #func1
446 EXPAS-READOBJ-EMPTY:
447 EXPAS-READOBJ-NEXT: File: test.dll
448 EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
449 EXPAS-READOBJ-NEXT: Type: code
450 EXPAS-READOBJ-NEXT: Name type: export as
451 EXPAS-READOBJ-NEXT: Export name: func2
452 EXPAS-READOBJ-NEXT: Symbol: __imp_func2
453 EXPAS-READOBJ-NEXT: Symbol: func2
454 EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func2
455 EXPAS-READOBJ-NEXT: Symbol: #func2
456 EXPAS-READOBJ-EMPTY:
457 EXPAS-READOBJ-NEXT: File: test.dll
458 EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
459 EXPAS-READOBJ-NEXT: Type: code
460 EXPAS-READOBJ-NEXT: Name type: export as
461 EXPAS-READOBJ-NEXT: Export name: #func3
462 EXPAS-READOBJ-NEXT: Symbol: __imp_func3
463 EXPAS-READOBJ-NEXT: Symbol: func3
464 EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func3
465 EXPAS-READOBJ-NEXT: Symbol: #func3
466 EXPAS-READOBJ-EMPTY:
467 EXPAS-READOBJ-NEXT: File: test.dll
468 EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
469 EXPAS-READOBJ-NEXT: Type: code
470 EXPAS-READOBJ-NEXT: Name type: export as
471 EXPAS-READOBJ-NEXT: Export name: #func4
472 EXPAS-READOBJ-NEXT: Symbol: __imp_func4
473 EXPAS-READOBJ-NEXT: Symbol: func4
474 EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func4
475 EXPAS-READOBJ-NEXT: Symbol: #func4
476 EXPAS-READOBJ-EMPTY:
477 EXPAS-READOBJ-NEXT: File: test.dll
478 EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
479 EXPAS-READOBJ-NEXT: Type: data
480 EXPAS-READOBJ-NEXT: Name type: export as
481 EXPAS-READOBJ-NEXT: Export name: #data1
482 EXPAS-READOBJ-NEXT: Symbol: __imp_data1
483 EXPAS-READOBJ-EMPTY:
484 EXPAS-READOBJ-NEXT: File: test.dll
485 EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
486 EXPAS-READOBJ-NEXT: Type: data
487 EXPAS-READOBJ-NEXT: Name type: export as
488 EXPAS-READOBJ-NEXT: Export name: data2
489 EXPAS-READOBJ-NEXT: Symbol: __imp_data2
492 #--- test.def
493 LIBRARY test.dll
503 #--- test2.def
508 #--- exportas.def
509 LIBRARY test.dll