[WebAssembly] Remove special handling of entry point export.
Its much easier to export it via setHidden(false), now that
that is a thing.
As a side effect the start function is not longer always exports first
(becuase its being exported just like all the other function).
Differential Revision: https://reviews.llvm.org/D42321
llvm-svn: 323025
diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp
index a6d21c1..dd3288e 100644
--- a/lld/wasm/Writer.cpp
+++ b/lld/wasm/Writer.cpp
@@ -617,8 +617,6 @@
}
void Writer::calculateExports() {
- Symbol *EntrySym = Symtab->find(Config->Entry);
- bool ExportEntry = !Config->Relocatable && EntrySym && EntrySym->isDefined();
bool ExportHidden = Config->EmitRelocs;
StringSet<> UsedNames;
auto BudgeLocalName = [&](const Symbol *Sym) {
@@ -640,11 +638,7 @@
}
};
- if (ExportEntry)
- ExportedSymbols.emplace_back(WasmExportEntry{EntrySym, EntrySym->getName()});
-
- if (Config->CtorSymbol && ExportHidden &&
- !(ExportEntry && Config->CtorSymbol == EntrySym))
+ if (Config->CtorSymbol && (!Config->CtorSymbol->isHidden() || ExportHidden))
ExportedSymbols.emplace_back(
WasmExportEntry{Config->CtorSymbol, Config->CtorSymbol->getName()});
@@ -659,8 +653,6 @@
if ((Sym->isHidden() || Sym->isLocal()) && !ExportHidden)
continue;
- if (ExportEntry && Sym == EntrySym)
- continue;
ExportedSymbols.emplace_back(WasmExportEntry{Sym, BudgeLocalName(Sym)});
}
}