@@ -76,18 +76,45 @@ SYMTAB: exportfn3 in export.test.tmp.DLL
76
76
77
77
# RUN: lld-link /out:%t.dll /dll %t.obj /export:foo=kernel32.foobar
78
78
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=FORWARDER %s
79
+ # RUN: llvm-nm -M %t.lib | FileCheck --check-prefix=SYMTAB-FWD %s
79
80
80
81
# RUN: echo "EXPORTS foo=kernel32.foobar" > %t.def
81
- # RUN: lld-link /out:%t.dll /dll %t.obj /def:%t.def
82
- # RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=FORWARDER %s
82
+ # RUN: lld-link /out:%t-def.dll /dll %t.obj /def:%t.def
83
+ # RUN: llvm-objdump -p %t-def.dll | FileCheck --check-prefix=FORWARDER %s
84
+ # RUN: llvm-nm -M %t-def.lib | FileCheck --check-prefix=SYMTAB-FWD %s
83
85
84
86
FORWARDER: Export Table:
85
- FORWARDER: DLL name: export.test.tmp.dll
87
+ FORWARDER: DLL name: export.test.tmp
86
88
FORWARDER: Ordinal base: 1
87
89
FORWARDER: Ordinal RVA Name
88
90
FORWARDER: 1 0x1010 exportfn
89
91
FORWARDER: 2 foo (forwarded to kernel32.foobar)
90
92
93
+ SYMTAB-FWD: __imp_exportfn3 in export.test.tmp
94
+ SYMTAB-FWD: __imp_foo in export.test.tmp
95
+ SYMTAB-FWD: exportfn3 in export.test.tmp
96
+ SYMTAB-FWD: foo in export.test.tmp
97
+
98
+ # RUN: lld-link /out:%t-fwd-priv.dll /dll %t.obj /export:foo=kernel32.foobar,DATA,PRIVATE
99
+ # RUN: llvm-objdump -p %t-fwd-priv.dll | FileCheck --check-prefix=FORWARDER %s
100
+ # RUN: llvm-nm -M %t-fwd-priv.lib | FileCheck --check-prefix=SYMTAB-FWD-PRIV %s
101
+
102
+ SYMTAB-FWD-PRIV: __imp_exportfn3 in export.test.tmp-fwd-priv
103
+ SYMTAB-FWD-PRIV-NOT: __imp_foo
104
+ SYMTAB-FWD-PRIV: exportfn3 in export.test.tmp-fwd-priv
105
+ SYMTAB-FWD-PRIV-NOT: foo
106
+
107
+ # RUN: lld-link /out:%t-fwd-ord.dll /dll %t.obj /export:foo=kernel32.foobar,@3,NONAME
108
+ # RUN: llvm-objdump -p %t-fwd-ord.dll | FileCheck --check-prefix=FORWARDER-ORD %s
109
+ # RUN: llvm-nm -M %t-fwd-ord.lib | FileCheck --check-prefix=SYMTAB-FWD %s
110
+
111
+ FORWARDER-ORD: Export Table:
112
+ FORWARDER-ORD: DLL name: export.test.tmp-fwd-ord.dll
113
+ FORWARDER-ORD: Ordinal base: 3
114
+ FORWARDER-ORD: Ordinal RVA Name
115
+ FORWARDER-ORD: 3 (forwarded to kernel32.foobar)
116
+ FORWARDER-ORD: 4 0x1010 exportfn3
117
+
91
118
# RUN: lld-link /out:%t.dll /dll %t.obj /merge:.rdata=.text /export:exportfn1 /export:exportfn2
92
119
# RUN: llvm-objdump -p %t.dll | FileCheck --check-prefix=MERGE --match-full-lines %s
93
120
0 commit comments