[PATCH] Allow DW_OP_GNU_uninit in dwarf_expr_require_composition

Pedro Alves palves@redhat.com
Tue Oct 4 17:33:00 GMT 2016


On 04/27/2016 06:38 PM, Andreas Arnez wrote:
> In DWARF expression handling, some operators are required to be either
> at the end of an expression or followed by a composition operator.  So
> far only the operators DW_OP_reg0-31 were allowed to be followed by
> DW_OP_GNU_uninit instead, and particularly DW_OP_regx was not, which is
> obviously inconsistent.
> 
> This patch allows DW_OP_GNU_uninit after all operators requiring a
> composition, to simplify the code and make it more consistent.  This
> policy may be more permissive than necessary, but in the worst case just
> leads to a DWARF location description resulting in an uninitialized
> value instead of an error message.

Fine with me.  DW_OP_GNU_uninit is underspecified, anyway.

> 
> gdb/ChangeLog:
> 
> 	* dwarf2expr.c (dwarf_expr_require_composition): Allow
> 	DW_OP_GNU_uninit.
> 	(execute_stack_op): Use dwarf_expr_require_composition instead of
> 	copying its logic.

OK.

Thanks,
Pedro Alves



More information about the Gdb-patches mailing list