diff options
Diffstat (limited to 'lld/wasm')
-rw-r--r-- | lld/wasm/InputFiles.cpp | 10 | ||||
-rw-r--r-- | lld/wasm/Writer.cpp | 1 |
2 files changed, 5 insertions, 6 deletions
diff --git a/lld/wasm/InputFiles.cpp b/lld/wasm/InputFiles.cpp index b4945469f93..33ae3325c74 100644 --- a/lld/wasm/InputFiles.cpp +++ b/lld/wasm/InputFiles.cpp @@ -380,22 +380,20 @@ Symbol *ObjFile::createDefined(const WasmSymbol &sym) { case WASM_SYMBOL_TYPE_FUNCTION: { InputFunction *func = functions[sym.Info.ElementIndex - wasmObj->getNumImportedFunctions()]; - if (func->discarded) - return nullptr; if (sym.isBindingLocal()) return make<DefinedFunction>(name, flags, this, func); + if (func->discarded) + return nullptr; return symtab->addDefinedFunction(name, flags, this, func); } case WASM_SYMBOL_TYPE_DATA: { InputSegment *seg = segments[sym.Info.DataRef.Segment]; - if (seg->discarded) - return nullptr; - uint32_t offset = sym.Info.DataRef.Offset; uint32_t size = sym.Info.DataRef.Size; - if (sym.isBindingLocal()) return make<DefinedData>(name, flags, this, seg, offset, size); + if (seg->discarded) + return nullptr; return symtab->addDefinedData(name, flags, this, seg, offset, size); } case WASM_SYMBOL_TYPE_GLOBAL: { diff --git a/lld/wasm/Writer.cpp b/lld/wasm/Writer.cpp index 23a63edee7c..4ad91ab1117 100644 --- a/lld/wasm/Writer.cpp +++ b/lld/wasm/Writer.cpp @@ -821,6 +821,7 @@ void Writer::calculateInitFunctions() { assert(sym->isLive()); if (*sym->signature != WasmSignature{{}, {}}) error("invalid signature for init func: " + toString(*sym)); + LLVM_DEBUG(dbgs() << "initFunctions: " << toString(*sym) << "\n"); initFunctions.emplace_back(WasmInitEntry{sym, f.Priority}); } } |