| ... | @@ -638,18 +638,10 @@ void fixupExports() { | ... | @@ -638,18 +638,10 @@ void fixupExports() { |
| 638 | | 638 | |
| 639 | if (config->killAt && config->machine == I386) { | 639 | if (config->killAt && config->machine == I386) { |
| 640 | for (Export &e : config->exports) { | 640 | for (Export &e : config->exports) { |
| 641 | if (!e.name.empty() && e.name[0] == '?') | 641 | e.name = killAt(e.name, true); |
| 642 | continue; | 642 | e.exportName = killAt(e.exportName, false); |
| 643 | e.symbolName = e.name; | 643 | e.extName = killAt(e.extName, true); |
| 644 | // Trim off the trailing decoration. Symbols will always have a | 644 | e.symbolName = killAt(e.symbolName, true); |
| 645 | // starting prefix here (either _ for cdecl/stdcall, @ for fastcall | | |
| 646 | // or ? for C++ functions). Vectorcall functions won't have any | | |
| 647 | // fixed prefix, but the function base name will still be at least | | |
| 648 | // one char. | | |
| 649 | e.name = e.name.substr(0, e.name.find('@', 1)); | | |
| 650 | // By making sure E.SymbolName != E.Name for decorated symbols, | | |
| 651 | // writeImportLibrary writes these symbols with the type | | |
| 652 | // IMPORT_NAME_UNDECORATE. | | |
| 653 | } | 645 | } |
| 654 | } | 646 | } |
| 655 | | 647 | |