diff --git a/crates/debug/src/transform/expression.rs b/crates/debug/src/transform/expression.rs index c5386d11e4..601be39bf6 100644 --- a/crates/debug/src/transform/expression.rs +++ b/crates/debug/src/transform/expression.rs @@ -64,6 +64,10 @@ impl ExpressionWriter { write::Writer::write_u8(&mut self.0, b) } + pub fn write_u32(&mut self, b: u32) -> write::Result<()> { + write::Writer::write_u32(&mut self.0, b) + } + pub fn write_uleb128(&mut self, i: u64) -> write::Result<()> { write::Writer::write_uleb128(&mut self.0, i) } @@ -196,8 +200,8 @@ fn append_memory_deref( } writer.write_op(gimli::constants::DW_OP_deref)?; writer.write_op(gimli::constants::DW_OP_swap)?; - writer.write_op(gimli::constants::DW_OP_constu)?; - writer.write_uleb128(0xffff_ffff)?; + writer.write_op(gimli::constants::DW_OP_const4u)?; + writer.write_u32(0xffff_ffff)?; writer.write_op(gimli::constants::DW_OP_and)?; writer.write_op(gimli::constants::DW_OP_plus)?; buf.extend(writer.into_vec());