Skip to content

Commit 2f640ad

Browse files
dpaoliellotstellar
authored andcommitted
Remove support for EXPORTAS in def files to maintain ABI compatibility for COFFShortExport
1 parent 207ecd6 commit 2f640ad

File tree

5 files changed

+1
-206
lines changed

5 files changed

+1
-206
lines changed

llvm/include/llvm/Object/COFFImportFile.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,6 @@ struct COFFShortExport {
120120
/// file, this is "baz" in "EXPORTS\nfoo = bar == baz".
121121
std::string AliasTarget;
122122

123-
/// Specifies EXPORTAS name. In a .def file, this is "bar" in
124-
/// "EXPORTS\nfoo EXPORTAS bar".
125-
std::string ExportAs;
126-
127123
uint16_t Ordinal = 0;
128124
bool Noname = false;
129125
bool Data = false;

llvm/lib/Object/COFFImportFile.cpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -675,9 +675,6 @@ Error writeImportLibrary(StringRef ImportName, StringRef Path,
675675
std::string ExportName;
676676
if (E.Noname) {
677677
NameType = IMPORT_ORDINAL;
678-
} else if (!E.ExportAs.empty()) {
679-
NameType = IMPORT_NAME_EXPORTAS;
680-
ExportName = E.ExportAs;
681678
} else {
682679
NameType = getNameType(SymbolName, E.Name, Machine, MinGW);
683680
}

llvm/lib/Object/COFFModuleDefinition.cpp

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ enum Kind {
3939
KwConstant,
4040
KwData,
4141
KwExports,
42-
KwExportAs,
4342
KwHeapsize,
4443
KwLibrary,
4544
KwName,
@@ -119,7 +118,6 @@ class Lexer {
119118
.Case("CONSTANT", KwConstant)
120119
.Case("DATA", KwData)
121120
.Case("EXPORTS", KwExports)
122-
.Case("EXPORTAS", KwExportAs)
123121
.Case("HEAPSIZE", KwHeapsize)
124122
.Case("LIBRARY", KwLibrary)
125123
.Case("NAME", KwName)
@@ -288,16 +286,7 @@ class Parser {
288286
E.AliasTarget = std::string("_").append(E.AliasTarget);
289287
continue;
290288
}
291-
// EXPORTAS must be at the end of export definition
292-
if (Tok.K == KwExportAs) {
293-
read();
294-
if (Tok.K == Eof)
295-
return createError(
296-
"unexpected end of file, EXPORTAS identifier expected");
297-
E.ExportAs = std::string(Tok.Value);
298-
} else {
299-
unget();
300-
}
289+
unget();
301290
Info.Exports.push_back(E);
302291
return Error::success();
303292
}

llvm/test/tools/llvm-lib/arm64ec-implib.test

Lines changed: 0 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -100,89 +100,6 @@ Creating a new lib containing the existing lib:
100100
RUN: llvm-lib -machine:arm64ec test.lib -out:test2.lib
101101
RUN: llvm-nm --print-armap test2.lib | FileCheck -check-prefix=ARMAP %s
102102

103-
104-
RUN: llvm-lib -machine:arm64ec -def:exportas.def -out:exportas.lib
105-
RUN: llvm-nm --print-armap exportas.lib | FileCheck -check-prefix=EXPAS-ARMAP %s
106-
RUN: llvm-readobj exportas.lib | FileCheck -check-prefix=EXPAS-READOBJ %s
107-
108-
EXPAS-ARMAP: Archive EC map
109-
EXPAS-ARMAP-NEXT: #func1 in test.dll
110-
EXPAS-ARMAP-NEXT: #func2 in test.dll
111-
EXPAS-ARMAP-NEXT: #func3 in test.dll
112-
EXPAS-ARMAP-NEXT: #func4 in test.dll
113-
EXPAS-ARMAP-NEXT: __IMPORT_DESCRIPTOR_test in test.dll
114-
EXPAS-ARMAP-NEXT: __NULL_IMPORT_DESCRIPTOR in test.dll
115-
EXPAS-ARMAP-NEXT: __imp_aux_func1 in test.dll
116-
EXPAS-ARMAP-NEXT: __imp_aux_func2 in test.dll
117-
EXPAS-ARMAP-NEXT: __imp_aux_func3 in test.dll
118-
EXPAS-ARMAP-NEXT: __imp_aux_func4 in test.dll
119-
EXPAS-ARMAP-NEXT: __imp_data1 in test.dll
120-
EXPAS-ARMAP-NEXT: __imp_data2 in test.dll
121-
EXPAS-ARMAP-NEXT: __imp_func1 in test.dll
122-
EXPAS-ARMAP-NEXT: __imp_func2 in test.dll
123-
EXPAS-ARMAP-NEXT: __imp_func3 in test.dll
124-
EXPAS-ARMAP-NEXT: __imp_func4 in test.dll
125-
EXPAS-ARMAP-NEXT: func1 in test.dll
126-
EXPAS-ARMAP-NEXT: func2 in test.dll
127-
EXPAS-ARMAP-NEXT: func3 in test.dll
128-
EXPAS-ARMAP-NEXT: func4 in test.dll
129-
EXPAS-ARMAP-NEXT: test_NULL_THUNK_DATA in test.dll
130-
131-
EXPAS-READOBJ: File: test.dll
132-
EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
133-
EXPAS-READOBJ-NEXT: Type: code
134-
EXPAS-READOBJ-NEXT: Name type: export as
135-
EXPAS-READOBJ-NEXT: Export name: func1
136-
EXPAS-READOBJ-NEXT: Symbol: __imp_func1
137-
EXPAS-READOBJ-NEXT: Symbol: func1
138-
EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func1
139-
EXPAS-READOBJ-NEXT: Symbol: #func1
140-
EXPAS-READOBJ-EMPTY:
141-
EXPAS-READOBJ-NEXT: File: test.dll
142-
EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
143-
EXPAS-READOBJ-NEXT: Type: code
144-
EXPAS-READOBJ-NEXT: Name type: export as
145-
EXPAS-READOBJ-NEXT: Export name: func2
146-
EXPAS-READOBJ-NEXT: Symbol: __imp_func2
147-
EXPAS-READOBJ-NEXT: Symbol: func2
148-
EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func2
149-
EXPAS-READOBJ-NEXT: Symbol: #func2
150-
EXPAS-READOBJ-EMPTY:
151-
EXPAS-READOBJ-NEXT: File: test.dll
152-
EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
153-
EXPAS-READOBJ-NEXT: Type: code
154-
EXPAS-READOBJ-NEXT: Name type: export as
155-
EXPAS-READOBJ-NEXT: Export name: #func3
156-
EXPAS-READOBJ-NEXT: Symbol: __imp_func3
157-
EXPAS-READOBJ-NEXT: Symbol: func3
158-
EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func3
159-
EXPAS-READOBJ-NEXT: Symbol: #func3
160-
EXPAS-READOBJ-EMPTY:
161-
EXPAS-READOBJ-NEXT: File: test.dll
162-
EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
163-
EXPAS-READOBJ-NEXT: Type: code
164-
EXPAS-READOBJ-NEXT: Name type: export as
165-
EXPAS-READOBJ-NEXT: Export name: #func4
166-
EXPAS-READOBJ-NEXT: Symbol: __imp_func4
167-
EXPAS-READOBJ-NEXT: Symbol: func4
168-
EXPAS-READOBJ-NEXT: Symbol: __imp_aux_func4
169-
EXPAS-READOBJ-NEXT: Symbol: #func4
170-
EXPAS-READOBJ-EMPTY:
171-
EXPAS-READOBJ-NEXT: File: test.dll
172-
EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
173-
EXPAS-READOBJ-NEXT: Type: data
174-
EXPAS-READOBJ-NEXT: Name type: export as
175-
EXPAS-READOBJ-NEXT: Export name: #data1
176-
EXPAS-READOBJ-NEXT: Symbol: __imp_data1
177-
EXPAS-READOBJ-EMPTY:
178-
EXPAS-READOBJ-NEXT: File: test.dll
179-
EXPAS-READOBJ-NEXT: Format: COFF-import-file-ARM64EC
180-
EXPAS-READOBJ-NEXT: Type: data
181-
EXPAS-READOBJ-NEXT: Name type: export as
182-
EXPAS-READOBJ-NEXT: Export name: data2
183-
EXPAS-READOBJ-NEXT: Symbol: __imp_data2
184-
185-
186103
#--- test.def
187104
LIBRARY test.dll
188105
EXPORTS
@@ -191,13 +108,3 @@ EXPORTS
191108
?test_cpp_func@@YAHPEAX@Z
192109
expname=impname
193110
dataexp DATA
194-
195-
#--- exportas.def
196-
LIBRARY test.dll
197-
EXPORTS
198-
#func1 EXPORTAS func1
199-
func2 EXPORTAS func2
200-
func3 EXPORTAS #func3
201-
#func4 EXPORTAS #func4
202-
data1 DATA EXPORTAS #data1
203-
#data2 DATA EXPORTAS data2

llvm/test/tools/llvm-lib/exportas.test

Lines changed: 0 additions & 94 deletions
This file was deleted.

0 commit comments

Comments
 (0)