On Tue, 2009-07-21 at 16:56 -0700, Roland McGrath wrote:
> I must admit to not really see when you need the information
> changed, but I put it back as is" versus "unchanged and in same
Well, I think of "same_value" as meaning "that's not my
That is a nice way to think about it. That also makes more clear the
idea of "changing it is for real".
> I admit to liking the return value 0 with *NOPS zero means CFI
> caller's REGNO is same_value" here of the original better than using
> DW_CFA_same_value as special marker.
Do you like DW_CFA_nop any better? ;-)
Bah, I meant DW_OP_same_value of course. And no, not really. Because
like you said, that isn't a valid location expression.
But it clearly depends on your preference. If you don't want to use "out
of band signaling" then putting something, anything, in the returned
Dwarf_Ops array is the way to go. But I actually prefer my Dwarf_Ops
array to consist of only valid expressions. So I would use
DW_OP_stack_value to indicate the "is a value" versus "is a
but use length zero for undefined (since that is a valid expression with
that meaning) and NULL for same_value (since it isn't expressible
otherwise in a valid way).
That said, if it would be a single DW_OP_nop or DW_OP_stack_value I
would definitely cope.