Index: llvm/trunk/include/llvm/Object/COFFImportFile.h =================================================================== --- llvm/trunk/include/llvm/Object/COFFImportFile.h +++ llvm/trunk/include/llvm/Object/COFFImportFile.h @@ -73,6 +73,7 @@ struct COFFShortExport { std::string Name; std::string ExtName; + std::string SymbolName; uint16_t Ordinal = 0; bool Noname = false; Index: llvm/trunk/lib/Object/COFFImportFile.cpp =================================================================== --- llvm/trunk/lib/Object/COFFImportFile.cpp +++ llvm/trunk/lib/Object/COFFImportFile.cpp @@ -590,7 +590,7 @@ if (E.Constant) ImportType = IMPORT_CONST; - StringRef SymbolName = E.isWeak() ? E.ExtName : E.Name; + StringRef SymbolName = E.SymbolName.empty() ? E.Name : E.SymbolName; ImportNameType NameType = getNameType(SymbolName, E.Name, Machine); Expected Name = E.ExtName.empty() ? SymbolName