Index: lld/trunk/wasm/InputChunks.h =================================================================== --- lld/trunk/wasm/InputChunks.h +++ lld/trunk/wasm/InputChunks.h @@ -96,10 +96,6 @@ 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; } Index: lld/trunk/wasm/InputChunks.cpp =================================================================== --- lld/trunk/wasm/InputChunks.cpp +++ lld/trunk/wasm/InputChunks.cpp @@ -27,12 +27,6 @@ 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; Index: lld/trunk/wasm/Symbols.cpp =================================================================== --- lld/trunk/wasm/Symbols.cpp +++ lld/trunk/wasm/Symbols.cpp @@ -157,7 +157,9 @@ 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) {