The comment in address_of_int_loc_descriptor doesn't make a lot of sense to me.
In any case of a value no larger than address size, you can use
DW_OP_stack_value to get the same size or smaller. When the size is the same,
such as DW_OP_implicit_value(address-sized block) vs
DW_OP_addr(address-consant) DW_OP_stack_value (both address-size + 2 bytes), I
think DW_OP_stack_value is preferable because consumers do not have to involve
overly-general variable-sized-stuff-with-relocs logic that the general case of
constant blocks involves. There is no need for a DW_OP_{bit_,}piece in these
cases when the expressed value is in the low bits of the value computed on the
stack.
--
Summary: choose DW_OP_stack_value over DW_OP_implicit_value more
often, please
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: debug
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: roland at redhat dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41439