@@ -14,6 +14,8 @@ ARMAP-NEXT: Archive EC map
14
14
ARMAP-NEXT: #expname in test.dll
15
15
ARMAP-NEXT: #funcexp in test.dll
16
16
ARMAP-NEXT: #mangledfunc in test.dll
17
+ ARMAP-NEXT: #manglednonamefunc in test.dll
18
+ ARMAP-NEXT: #nonamefunc in test.dll
17
19
ARMAP-NEXT: ?test_cpp_func@@$$hYAHPEAX@Z in test.dll
18
20
ARMAP-NEXT: ?test_cpp_func@@YAHPEAX@Z in test.dll
19
21
ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
@@ -23,13 +25,19 @@ ARMAP-NEXT: __imp_aux_?test_cpp_func@@YAHPEAX@Z in test.dll
23
25
ARMAP-NEXT: __imp_aux_expname in test.dll
24
26
ARMAP-NEXT: __imp_aux_funcexp in test.dll
25
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
26
30
ARMAP-NEXT: __imp_dataexp in test.dll
27
31
ARMAP-NEXT: __imp_expname in test.dll
28
32
ARMAP-NEXT: __imp_funcexp in test.dll
29
33
ARMAP-NEXT: __imp_mangledfunc in test.dll
34
+ ARMAP-NEXT: __imp_manglednonamefunc in test.dll
35
+ ARMAP-NEXT: __imp_nonamefunc in test.dll
30
36
ARMAP-NEXT: expname in test.dll
31
37
ARMAP-NEXT: funcexp in test.dll
32
38
ARMAP-NEXT: mangledfunc in test.dll
39
+ ARMAP-NEXT: manglednonamefunc in test.dll
40
+ ARMAP-NEXT: nonamefunc in test.dll
33
41
ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll
34
42
35
43
RUN: llvm-readobj test.lib | FileCheck -check-prefix=READOBJ %s
@@ -95,6 +103,25 @@ READOBJ-NEXT: Type: data
95
103
READOBJ-NEXT: Name type: name
96
104
READOBJ-NEXT: Export name: dataexp
97
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
124
+
98
125
99
126
Using -machine:arm64x gives the same output.
100
127
RUN: llvm-lib -machine:arm64x -def:test.def -out:testx.lib
@@ -112,22 +139,28 @@ RUN: llvm-nm --print-armap testx.lib | FileCheck -check-prefix=ARMAPX %s
112
139
113
140
ARMAPX: Archive map
114
141
ARMAPX-NEXT: #mangledfunc in test.dll
142
+ ARMAPX-NEXT: #manglednonamefunc in test.dll
115
143
ARMAPX-NEXT: ?test_cpp_func@@YAHPEAX@Z in test.dll
116
144
ARMAPX-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
117
145
ARMAPX-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
118
146
ARMAPX-NEXT: __imp_#mangledfunc in test.dll
147
+ ARMAPX-NEXT: __imp_#manglednonamefunc in test.dll
119
148
ARMAPX-NEXT: __imp_?test_cpp_func@@YAHPEAX@Z in test.dll
120
149
ARMAPX-NEXT: __imp_dataexp in test.dll
121
150
ARMAPX-NEXT: __imp_expname in test.dll
122
151
ARMAPX-NEXT: __imp_funcexp in test.dll
152
+ ARMAPX-NEXT: __imp_nonamefunc in test.dll
123
153
ARMAPX-NEXT: expname in test.dll
124
154
ARMAPX-NEXT: funcexp in test.dll
155
+ ARMAPX-NEXT: nonamefunc in test.dll
125
156
ARMAPX-NEXT: test_NULL_THUNK_DATA in test.dll
126
157
ARMAPX-EMPTY:
127
158
ARMAPX-NEXT: Archive EC map
128
159
ARMAPX-NEXT: #expname in test.dll
129
160
ARMAPX-NEXT: #funcexp in test.dll
130
161
ARMAPX-NEXT: #mangledfunc in test.dll
162
+ ARMAPX-NEXT: #manglednonamefunc in test.dll
163
+ ARMAPX-NEXT: #nonamefunc in test.dll
131
164
ARMAPX-NEXT: ?test_cpp_func@@$$hYAHPEAX@Z in test.dll
132
165
ARMAPX-NEXT: ?test_cpp_func@@YAHPEAX@Z in test.dll
133
166
ARMAPX-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
@@ -137,13 +170,19 @@ ARMAPX-NEXT: __imp_aux_?test_cpp_func@@YAHPEAX@Z in test.dll
137
170
ARMAPX-NEXT: __imp_aux_expname in test.dll
138
171
ARMAPX-NEXT: __imp_aux_funcexp in test.dll
139
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
140
175
ARMAPX-NEXT: __imp_dataexp in test.dll
141
176
ARMAPX-NEXT: __imp_expname in test.dll
142
177
ARMAPX-NEXT: __imp_funcexp in test.dll
143
178
ARMAPX-NEXT: __imp_mangledfunc in test.dll
179
+ ARMAPX-NEXT: __imp_manglednonamefunc in test.dll
180
+ ARMAPX-NEXT: __imp_nonamefunc in test.dll
144
181
ARMAPX-NEXT: expname in test.dll
145
182
ARMAPX-NEXT: funcexp in test.dll
146
183
ARMAPX-NEXT: mangledfunc in test.dll
184
+ ARMAPX-NEXT: manglednonamefunc in test.dll
185
+ ARMAPX-NEXT: nonamefunc in test.dll
147
186
ARMAPX-NEXT: test_NULL_THUNK_DATA in test.dll
148
187
149
188
RUN: llvm-readobj testx.lib | FileCheck -check-prefix=READOBJX %s
@@ -211,6 +250,24 @@ READOBJX-NEXT: Export name: dataexp
211
250
READOBJX-NEXT: Symbol: __imp_dataexp
212
251
READOBJX-EMPTY:
213
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
214
271
READOBJX-NEXT: Format: COFF-import-file-ARM64
215
272
READOBJX-NEXT: Type: code
216
273
READOBJX-NEXT: Name type: name
@@ -248,6 +305,20 @@ READOBJX-NEXT: Type: data
248
305
READOBJX-NEXT: Name type: name
249
306
READOBJX-NEXT: Export name: dataexp
250
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
251
322
252
323
253
324
RUN: llvm-lib -machine:arm64ec -def:test.def -defArm64Native:test2.def -out:test2.lib
@@ -266,6 +337,8 @@ ARMAPX2-NEXT: Archive EC map
266
337
ARMAPX2-NEXT: #expname in test2.dll
267
338
ARMAPX2-NEXT: #funcexp in test2.dll
268
339
ARMAPX2-NEXT: #mangledfunc in test2.dll
340
+ ARMAPX2-NEXT: #manglednonamefunc in test2.dll
341
+ ARMAPX2-NEXT: #nonamefunc in test2.dll
269
342
ARMAPX2-NEXT: ?test_cpp_func@@$$hYAHPEAX@Z in test2.dll
270
343
ARMAPX2-NEXT: ?test_cpp_func@@YAHPEAX@Z in test2.dll
271
344
ARMAPX2-NEXT: __IMPORT_DESCRIPTOR_test2 in test2.dll
@@ -275,13 +348,19 @@ ARMAPX2-NEXT: __imp_aux_?test_cpp_func@@YAHPEAX@Z in test2.dll
275
348
ARMAPX2-NEXT: __imp_aux_expname in test2.dll
276
349
ARMAPX2-NEXT: __imp_aux_funcexp in test2.dll
277
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
278
353
ARMAPX2-NEXT: __imp_dataexp in test2.dll
279
354
ARMAPX2-NEXT: __imp_expname in test2.dll
280
355
ARMAPX2-NEXT: __imp_funcexp in test2.dll
281
356
ARMAPX2-NEXT: __imp_mangledfunc in test2.dll
357
+ ARMAPX2-NEXT: __imp_manglednonamefunc in test2.dll
358
+ ARMAPX2-NEXT: __imp_nonamefunc in test2.dll
282
359
ARMAPX2-NEXT: expname in test2.dll
283
360
ARMAPX2-NEXT: funcexp in test2.dll
284
361
ARMAPX2-NEXT: mangledfunc in test2.dll
362
+ ARMAPX2-NEXT: manglednonamefunc in test2.dll
363
+ ARMAPX2-NEXT: nonamefunc in test2.dll
285
364
ARMAPX2-NEXT: test2_NULL_THUNK_DATA in test2.dll
286
365
287
366
ARMAPX2: test2.dll:
@@ -312,6 +391,18 @@ ARMAPX2-NEXT: test2.dll:
312
391
ARMAPX2-NEXT: 00000000 D __imp_dataexp
313
392
ARMAPX2-EMPTY:
314
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:
315
406
ARMAPX2-NEXT: 00000000 T __imp_otherfunc
316
407
ARMAPX2-NEXT: 00000000 T otherfunc
317
408
@@ -406,6 +497,8 @@ EXPORTS
406
497
?test_cpp_func@@YAHPEAX@Z
407
498
expname=impname
408
499
dataexp DATA
500
+ nonamefunc @1 NONAME
501
+ #manglednonamefunc @2 NONAME
409
502
410
503
#--- test2.def
411
504
LIBRARY test2.dll
0 commit comments