diff options
author | Jim Blandy <jimb@codesourcery.com> | 2008-02-05 15:54:34 +0000 |
---|---|---|
committer | Jim Blandy <jimb@codesourcery.com> | 2008-02-05 15:54:34 +0000 |
commit | 02e4669d2765f33e140f75a449db9ce8f2a3b404 (patch) | |
tree | 7fd8b7155127349f948f5beee84ff992f752d792 | |
parent | 2399638e511ccd3bdc840e904ca480f3abb6cf9a (diff) | |
download | gdb-02e4669d2765f33e140f75a449db9ce8f2a3b404.zip gdb-02e4669d2765f33e140f75a449db9ce8f2a3b404.tar.gz gdb-02e4669d2765f33e140f75a449db9ce8f2a3b404.tar.bz2 |
* ax-gdb.c (gen_expr): Yield ordinary error if asked to trace a
pseudoregister, not an internal error.
-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); |