diff --git a/lld/wasm/InputChunks.cpp b/lld/wasm/InputChunks.cpp index c67c1c7ca44e..546fb516b4a7 100644 --- a/lld/wasm/InputChunks.cpp +++ b/lld/wasm/InputChunks.cpp @@ -27,12 +27,6 @@ std::string lld::toString(const InputChunk *C) { return (toString(C->File) + ":(" + C->getName() + ")").str(); } -uint32_t InputSegment::translateVA(uint32_t Offset) const { - assert(Offset <= getSize()); - DEBUG(dbgs() << "translateVA: " << getName() << " Offset=" << Offset << "\n"); - return OutputSeg->StartVA + OutputSegmentOffset + Offset; -} - void InputChunk::copyRelocations(const WasmSection &Section) { if (Section.Relocations.empty()) return; diff --git a/lld/wasm/InputChunks.h b/lld/wasm/InputChunks.h index 1a1eae0c38c6..29a35069904a 100644 --- a/lld/wasm/InputChunks.h +++ b/lld/wasm/InputChunks.h @@ -96,10 +96,6 @@ public: static bool classof(const InputChunk *C) { return C->kind() == DataSegment; } - // Translate an offset in the input segment to an offset in the output - // segment. - uint32_t translateVA(uint32_t Offset) const; - uint32_t getAlignment() const { return Segment.Data.Alignment; } StringRef getName() const override { return Segment.Data.Name; } StringRef getComdat() const override { return Segment.Data.Comdat; } diff --git a/lld/wasm/Symbols.cpp b/lld/wasm/Symbols.cpp index 95f9fe815452..7f3775cc8222 100644 --- a/lld/wasm/Symbols.cpp +++ b/lld/wasm/Symbols.cpp @@ -157,7 +157,9 @@ DefinedFunction::DefinedFunction(StringRef Name, uint32_t Flags, InputFile *F, uint32_t DefinedData::getVirtualAddress() const { DEBUG(dbgs() << "getVirtualAddress: " << getName() << "\n"); - return Segment ? Segment->translateVA(Offset) : Offset; + if (Segment) + return Segment->OutputSeg->StartVA + Segment->OutputSegmentOffset + Offset; + return Offset; } void DefinedData::setVirtualAddress(uint32_t Value) {