This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: supporting DW_OP_{implicit,stack}_value


On Tue, 2009-07-21 at 16:56 -0700, Roland McGrath wrote:
> > I must admit to not really see when you need the information "it got
> > changed, but I put it back as is" versus "unchanged and in same place".
> 
> Well, I think of "same_value" as meaning "that's not my register".

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 says the
> > 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 location",
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.

Cheers,

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]