diff options
author | Martin Storsjo <martin@martin.st> | 2019-08-23 11:18:11 +0000 |
---|---|---|
committer | Martin Storsjo <martin@martin.st> | 2019-08-23 11:18:11 +0000 |
commit | 8dbdb1c2a2cb9bd22db271fd14350de1486a9b49 (patch) | |
tree | 75e4cf918cbb6501c48275de0bb592b3103f2089 /llvm/lib/ToolDrivers/llvm-dlltool | |
parent | 04906ef1f2f443a2ff31a919dc67576f593ad891 (diff) | |
download | bcm5719-llvm-8dbdb1c2a2cb9bd22db271fd14350de1486a9b49.tar.gz bcm5719-llvm-8dbdb1c2a2cb9bd22db271fd14350de1486a9b49.zip |
[llvm-dlltool] Make sure to strip decorations from ExtName for renamed exports
ExtName should not be decorated, just like Name.
This avoids double decoration on symbols in import libraries
that use = for renaming functions. (Weak aliases, which use ==,
worked fine with respect to decoration.)
Differential Revision: https://reviews.llvm.org/D66617
llvm-svn: 369747
Diffstat (limited to 'llvm/lib/ToolDrivers/llvm-dlltool')
-rw-r--r-- | llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp b/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp index 603ba826e5e..3b8b25d7eca 100644 --- a/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp +++ b/llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp @@ -171,6 +171,7 @@ int llvm::dlltoolDriverMain(llvm::ArrayRef<const char *> ArgsArr) { // By making sure E.SymbolName != E.Name for decorated symbols, // writeImportLibrary writes these symbols with the type // IMPORT_NAME_UNDECORATE. + E.ExtName = E.ExtName.substr(0, E.ExtName.find('@', 1)); } } |