[Dwarf-Discuss] DW_OP_regX vs. DW_OP_bregX 0

Roland McGrath roland@redhat.com
Thu Feb 12 22:56:55 GMT 2009

> Roland, I suppose  you mean  "gcc overloads DW_OP_addr
> in a similar non-standard way". ?  What else could you mean?

No.  I mean the specified meaning of DW_OP_addr could be described this way
just as well as the proposed meaning of DW_OP_reg*.  It's just playing
semantics to call one "overloaded" and the other not.

> DW_OP_addr is not overloaded in the DWARF3 spec.  Either alone or
> any other way it means 'push this address on the expression stack'.
> Nothing else.

In location expressions, all operations are overloaded.  Either they mean
"push this address on the expression stack" (when not the last op), or they
mean "yield the location of the quantity in question" (when the last op).

We can play word games all day and I don't think it helps us at all.
Either it's ambiguous how to interpret a given location expression, 
or it's not.


More information about the Dwarf-discuss mailing list