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