From 6ec232c4c61e5840042109ac119b8f284ff3f7b4 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Sat, 19 Jan 2013 19:13:14 +0400 Subject: [PATCH] Rework GDB PR c++/14999 gdb/ChangeLog: PR c++/14999: * dwarf2_compile_expr_to_ax (dwarf2_compile_expr_to_ax): Add a call to ax_reg for DW_OP_reg* opcodes. : Remove call to require_rvalue. --- gdb/dwarf2loc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 2282feb..b540ef5 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -2765,6 +2765,7 @@ dwarf2_compile_expr_to_ax (struct agent_expr *expr, struct axs_value *loc, dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx"); loc->u.reg = translate_register (arch, op - DW_OP_reg0); loc->kind = axs_lvalue_register; + ax_reg (expr, loc->u.reg); break; case DW_OP_regx: @@ -2772,6 +2773,7 @@ dwarf2_compile_expr_to_ax (struct agent_expr *expr, struct axs_value *loc, dwarf_expr_require_composition (op_ptr, op_end, "DW_OP_regx"); loc->u.reg = translate_register (arch, reg); loc->kind = axs_lvalue_register; + ax_reg (expr, loc->u.reg); break; case DW_OP_implicit_value: @@ -2878,7 +2880,6 @@ dwarf2_compile_expr_to_ax (struct agent_expr *expr, struct axs_value *loc, op_ptr = safe_read_sleb128 (op_ptr, op_end, &offset); dwarf2_compile_expr_to_ax (expr, loc, arch, addr_size, datastart, datastart + datalen, per_cu); - require_rvalue (expr, loc); if (offset != 0) { -- 1.7.10.4