From: Zoran Zaric Date: Mon, 7 Dec 2020 19:00:26 +0000 (+0000) Subject: Add frame info check to DW_OP_reg operations X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b96b71276e5078fc5c03fc6e077fab548f0d3e9a;p=thirdparty%2Fbinutils-gdb.git Add frame info check to DW_OP_reg operations After enabling location description to be on a DWARF stack, it is now needed to check the frame context information validity when creating a register location description. gdb/ChangeLog: * dwarf2/expr.c (dwarf_expr_context::execute_stack_op): Add check_frame_info call for DW_OP_reg operations. Change-Id: I3e4a4d1eaba10b3b34be3c3bdbd1010a46ba4cd0 --- diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index 9f2c77197a6..ee3732a6d97 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -2972,6 +2972,7 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr, case DW_OP_reg30: case DW_OP_reg31: dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_reg"); + ensure_have_frame (this->frame, "DW_OP_reg"); result = op - DW_OP_reg0; result_entry = entry_factory->create_register (result); @@ -2980,6 +2981,7 @@ dwarf_expr_context::execute_stack_op (const gdb_byte *op_ptr, case DW_OP_regx: op_ptr = safe_read_uleb128 (op_ptr, op_end, ®); dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx"); + ensure_have_frame (this->frame, "DW_OP_regx"); result = reg; result_entry = entry_factory->create_register (reg);