aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/dwarf2expr.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index fb99958..66166b0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2004-01-17 Daniel Jacobowitz <drow@mvista.com>
+
+ Suggested by George Anzinger.
+ * dwarf2expr.c (execute_stack_op): Fetch the second item from the
+ correct stack offset. Include unknown opcode numbers in the error
+ message.
+
2004-01-17 Andrew Cagney <cagney@redhat.com>
* x86-64-tdep.c (x86_64_init_abi): No need to clear
diff --git a/gdb/dwarf2expr.c b/gdb/dwarf2expr.c
index cf00929..50baced 100644
--- a/gdb/dwarf2expr.c
+++ b/gdb/dwarf2expr.c
@@ -562,7 +562,7 @@ execute_stack_op (struct dwarf_expr_context *ctx, unsigned char *op_ptr,
second = dwarf_expr_fetch (ctx, 0);
dwarf_expr_pop (ctx);
- first = dwarf_expr_fetch (ctx, 1);
+ first = dwarf_expr_fetch (ctx, 0);
dwarf_expr_pop (ctx);
val1 = value_from_longest (unsigned_address_type (), first);
@@ -660,7 +660,7 @@ execute_stack_op (struct dwarf_expr_context *ctx, unsigned char *op_ptr,
goto no_push;
default:
- error ("Unhandled dwarf expression opcode");
+ error ("Unhandled dwarf expression opcode 0x%x", op);
}
/* Most things push a result value. */