[Dwarf-Discuss] question about DW_OP_*_value

Tom Tromey tromey at redhat.com
Fri Jun 19 09:50:09 PDT 2009

We've been experimenting with adding support for DW_OP_stack_value and
DW_OP_implicit_value to gcc and gdb.  These will be new in Dwarf 4.

While doing so, we've run into a few oddities.

About DW_OP_stack_value, the text says:

  This operation may only be followed by DW_OP_piece or DW_OP_bit_piece.

However, later there is an example showing DW_OP_stack_value without a
following piece operator.

We had some disagreement about the proper interpretation of this
sentence: should it mean that DW_OP_stack_value *must* be followed by
a piece operator, or should it mean that DW_OP_stack_value should
follow the DW_OP_reg* rules and either be followed by a piece operator
or occur at the end of an expression?

Also, I am curious about a couple cases involving
DW_OP_implicit_value.  What is the meaning of these two cases:

  DW_OP_implicit_value[length=10, ...] DW_OP_piece[length=5]

  DW_OP_implicit_value[length=5, ...] DW_OP_piece[length=10]

I suspect this is addressed somewhere in the text but I am simply not
finding it.


More information about the Dwarf-Discuss mailing list