summaryrefslogtreecommitdiffstats
path: root/lld/wasm/MarkLive.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/wasm/MarkLive.cpp')
-rw-r--r--lld/wasm/MarkLive.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/lld/wasm/MarkLive.cpp b/lld/wasm/MarkLive.cpp
index a53c4727311..b3dce23bcaa 100644
--- a/lld/wasm/MarkLive.cpp
+++ b/lld/wasm/MarkLive.cpp
@@ -52,8 +52,11 @@ void lld::wasm::markLive() {
if (Sym == WasmSym::CallCtors) {
for (const ObjFile *Obj : Symtab->ObjectFiles) {
const WasmLinkingData &L = Obj->getWasmObj()->linkingData();
- for (const WasmInitFunc &F : L.InitFunctions)
- Enqueue(Obj->getFunctionSymbol(F.Symbol));
+ for (const WasmInitFunc &F : L.InitFunctions) {
+ auto* InitSym = Obj->getFunctionSymbol(F.Symbol);
+ if (!InitSym->isDiscarded())
+ Enqueue(InitSym);
+ }
}
}
};
OpenPOWER on IntegriCloud