summaryrefslogtreecommitdiff
path: root/gdb/dwarf2loc.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-01-22 15:57:26 +0000
committerTom Tromey <tromey@redhat.com>2013-01-22 15:57:26 +0000
commit512d7fc3cb7fb2a258cbf09a7647bdb70abb9f2f (patch)
treed4d7a5e5ec5cd9ba2ae40e62a7e33725a3641905 /gdb/dwarf2loc.c
parentf15e2d9cbb8e0aaab415a88455225007887862c0 (diff)
downloadgdb-512d7fc3cb7fb2a258cbf09a7647bdb70abb9f2f.tar.gz
* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>: Only
require_rvalue for a register location.
Diffstat (limited to 'gdb/dwarf2loc.c')
-rw-r--r--gdb/dwarf2loc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index 2282febba23..3688425f2c5 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)
{