llvm/lib/Object
Reid Kleckner 8147ef1372 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;

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@304573 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-02 17:53:06 +00:00
..
Archive.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-19 23:02:10 +00:00
ArchiveWriter.cpp ArchiveWriter: Remove unused variables. NFC. 2017-03-16 20:35:07 +00:00
Binary.cpp Add functionality to cvtres to parse all entries in res file. 2017-05-20 01:49:19 +00:00
CMakeLists.txt Re-land "COFF: migrate def parser from LLD to LLVM" 2017-06-02 17:53:06 +00:00
COFFImportFile.cpp Re-land "COFF: migrate def parser from LLD to LLVM" 2017-06-02 17:53:06 +00:00
COFFModuleDefinition.cpp Re-land "COFF: migrate def parser from LLD to LLVM" 2017-06-02 17:53:06 +00:00
COFFObjectFile.cpp Recommit "[DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC" 2017-05-27 18:10:23 +00:00
Decompressor.cpp [lib/Object] - Minor API update for llvm::Decompressor. 2017-05-18 08:00:01 +00:00
ELF.cpp Add llvm::object::getELFSectionTypeName(). 2017-05-02 14:04:52 +00:00
ELFObjectFile.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-24 23:21:38 +00:00
Error.cpp Make the Error class constructor protected 2016-11-11 04:28:40 +00:00
IRObjectFile.cpp [ThinLTO] Import composite types as declarations 2016-12-16 21:25:01 +00:00
IRSymtab.cpp LTO: Mark undefined module asm symbols as used. 2017-04-26 17:53:39 +00:00
LLVMBuild.txt Object/LLVMBuild.txt: Sort required_libraries by alphabetical order. 2014-07-14 02:52:08 +00:00
MachOObjectFile.cpp [MachOObject] Fix bind opcode parser error on valid opcode sequence 2017-05-31 22:17:43 +00:00
MachOUniversal.cpp Fix a bugs with using some Mach-O command line flags like "-arch armv7m". 2016-12-16 22:54:02 +00:00
ModuleSymbolTable.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-24 23:21:38 +00:00
Object.cpp Thread Expected<...> up from libObject’s getSymbolAddress() for symbols to allow 2016-06-24 18:24:42 +00:00
ObjectFile.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-19 23:02:10 +00:00
RecordStreamer.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-24 23:21:38 +00:00
RecordStreamer.h [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-24 23:21:38 +00:00
SymbolicFile.cpp [Object] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC). 2017-04-19 23:02:10 +00:00
SymbolSize.cpp Fix llvm-symbolizer to correctly sort a symbol array and calculate symbol sizes 2016-11-15 21:07:03 +00:00
WasmObjectFile.cpp Recommit "[DWARF] - Make collectAddressRanges() return section index in addition to Low/High PC" 2017-05-27 18:10:23 +00:00
WindowsResource.cpp Fix bug on Big-Endian system, due to reference to vector out of scope. 2017-05-30 23:10:57 +00:00