Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/llvm/llvm-project.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lld/COFF
diff options
context:
space:
mode:
Diffstat (limited to 'lld/COFF')
-rw-r--r--lld/COFF/Driver.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp
index bde1a6c56001..b07cb995249c 100644
--- a/lld/COFF/Driver.cpp
+++ b/lld/COFF/Driver.cpp
@@ -580,6 +580,16 @@ bool LinkerDriver::link(llvm::ArrayRef<const char *> ArgsArr) {
break;
}
+ // Windows specific -- if entry point is not found,
+ // search for its mangled names.
+ if (!Config->EntryName.empty() && !Symtab.find(Config->EntryName)) {
+ StringRef Name;
+ Symbol *Sym;
+ std::tie(Name, Sym) = Symtab.findMangled(Config->EntryName);
+ if (Sym)
+ Symtab.rename(Config->EntryName, Name);
+ }
+
// Windows specific -- resolve dllexported symbols.
for (Export &E : Config->Exports) {
StringRef Name;