diff --git a/libevmasm/Assembly.cpp b/libevmasm/Assembly.cpp index f1c239574..45b95d552 100644 --- a/libevmasm/Assembly.cpp +++ b/libevmasm/Assembly.cpp @@ -680,7 +680,7 @@ LinkerObject const& Assembly::assemble(bool eof) const size_t tagId = static_cast(i.data()); assertThrow(ret.bytecode.size() < 0xffffffffL, AssemblyException, "Tag too large."); assertThrow(m_tagPositionsInBytecode[tagId] == numeric_limits::max(), AssemblyException, "Duplicate tag position."); - m_tagPositionsInBytecode[tagId] = ret.bytecode.size(); + m_tagPositionsInBytecode[tagId] = ret.bytecode.size() - codeStart; ret.bytecode.push_back(static_cast(Instruction::JUMPDEST)); break; }