From d84cf7eb3ef329f79b6484070dcb2a24e64e6be6 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 22 Jan 2013 15:57:28 +0000 Subject: [PATCH] * dwarf2loc.c (dwarf2_compile_expr_to_ax) : Only require_rvalue for a register location. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2loc.c | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index bc2b587716..eb02b37d01 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2013-01-22 Tom Tromey + + * dwarf2loc.c (dwarf2_compile_expr_to_ax) : Only + require_rvalue for a register location. + 2013-01-21 Marc Khouzam * breakpoint.c (print_one_breakpoint_location): Add MI diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c index 2282febba2..3688425f2c 100644 --- a/gdb/dwarf2loc.c +++ b/gdb/dwarf2loc.c @@ -2878,7 +2878,8 @@ 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 (loc->kind == axs_lvalue_register) + require_rvalue (expr, loc); if (offset != 0) {