diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/ax-gdb.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8e06da0..8c16a08 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2008-02-05 Jim Blandy <jimb@red-bean.com> + + * ax-gdb.c (gen_expr): Yield ordinary error if asked to trace a + pseudoregister, not an internal error. + 2008-02-04 Vladimir Prus <vladimir@codesourcery.com> * varobj.c (c_value_of_variable): Use xstrdup. diff --git a/gdb/ax-gdb.c b/gdb/ax-gdb.c index b527663..571c3e7 100644 --- a/gdb/ax-gdb.c +++ b/gdb/ax-gdb.c @@ -1607,6 +1607,10 @@ gen_expr (union exp_element **pc, struct agent_expr *ax, if (reg == -1) internal_error (__FILE__, __LINE__, _("Register $%s not available"), name); + if (reg >= gdbarch_num_regs (current_gdbarch)) + error (_("'%s' is a pseudo-register; " + "GDB cannot yet trace pseudoregister contents."), + name); value->kind = axs_lvalue_register; value->u.reg = reg; value->type = register_type (current_gdbarch, reg); |