aboutsummaryrefslogtreecommitdiff
path: root/gdb/dwarf2loc.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-01-22 15:57:28 +0000
committerTom Tromey <tromey@redhat.com>2013-01-22 15:57:28 +0000
commitd84cf7eb3ef329f79b6484070dcb2a24e64e6be6 (patch)
tree7136b03799530f4b785d6c11957663be32092038 /gdb/dwarf2loc.c
parentea3aedcb6bbf6114d19bb4136b52d3f8b0b3090f (diff)
downloadgdb-d84cf7eb3ef329f79b6484070dcb2a24e64e6be6.zip
gdb-d84cf7eb3ef329f79b6484070dcb2a24e64e6be6.tar.gz
gdb-d84cf7eb3ef329f79b6484070dcb2a24e64e6be6.tar.bz2
* 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 2282feb..3688425 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)
{