diff options
author | Reid Kleckner <rnk@google.com> | 2017-06-02 17:53:06 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2017-06-02 17:53:06 +0000 |
commit | 146eb7a65f5cb8f977e16b07b0137a73d5360801 (patch) | |
tree | ae61c6d5a3cd5c14b481158595d29e44fb930ccb /llvm/lib/Bitcode/Writer/BitcodeWriter.cpp | |
parent | 5a1ed789e19a9630711b0d23415bc598c9981b80 (diff) | |
download | llvm-146eb7a65f5cb8f977e16b07b0137a73d5360801.zip llvm-146eb7a65f5cb8f977e16b07b0137a73d5360801.tar.gz llvm-146eb7a65f5cb8f977e16b07b0137a73d5360801.tar.bz2 |
Re-land "COFF: migrate def parser from LLD to LLVM"
This reverts commit r304561 and re-lands r303490 & co.
The fix was to use "SymbolName" when translating LLD's internal export
list to lib/Object's short export struct. The SymbolName reflects the
actual symbol name, which may include fastcall and stdcall mangling bits
not included in the /EXPORT or .def file EXPORTS name:
@@ -434,8 +434,7 @@ std::vector<COFFShortExport> createCOFFShortExportFromConfig() {
std::vector<COFFShortExport> Exports;
for (Export &E1 : Config->Exports) {
COFFShortExport E2;
- E2.Name = E1.Name;
+ // Use SymbolName, which will have any stdcall or fastcall qualifiers.
+ E2.Name = E1.SymbolName;
E2.ExtName = E1.ExtName;
E2.Ordinal = E1.Ordinal;
E2.Noname = E1.Noname;
llvm-svn: 304573
Diffstat (limited to 'llvm/lib/Bitcode/Writer/BitcodeWriter.cpp')
0 files changed, 0 insertions, 0 deletions