summaryrefslogtreecommitdiff
path: root/gdb/remote-sim.c
diff options
context:
space:
mode:
authoraburgess <aburgess>2011-01-11 14:19:27 +0000
committeraburgess <aburgess>2011-01-11 14:19:27 +0000
commit5a26f459fc426a89e68d9e14d3672c2a8c67b15a (patch)
tree91aedea377730d666318d46468d95d6563e34b35 /gdb/remote-sim.c
parentb83c685cd25409cd1f384da01d3cd426b2efdbe3 (diff)
downloadgdb-5a26f459fc426a89e68d9e14d3672c2a8c67b15a.tar.gz
http://sourceware.org/ml/gdb-patches/2010-11/msg00112.html
gdb/ChangeLog * remote-sim.c (gdbsim_store_register): Update API to sim_store_register to check more error conditions. include/gdb/ChangeLog * remote-sim.h (sim_store_register): Update the API documentation for this function. sim/erc32/ChangeLog sim/h8300/ChangeLog sim/m32c/ChangeLog sim/mn10300/ChangeLog sim/ppc/ChangeLog sim/rx/ChangeLog sim/v850/ChangeLog * ???.c (sim_store_register): Update return value to match new API.
Diffstat (limited to 'gdb/remote-sim.c')
-rw-r--r--gdb/remote-sim.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index f2015f02577..baaf4397a42 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -529,9 +529,13 @@ gdbsim_store_register (struct target_ops *ops,
if (nr_bytes > 0 && nr_bytes != register_size (gdbarch, regno))
internal_error (__FILE__, __LINE__,
_("Register size different to expected"));
- /* FIXME: cagney/2002-05-27: Should check `nr_bytes == 0'
- indicating that GDB and the SIM have different ideas about
- which registers are fetchable. */
+ if (nr_bytes < 0)
+ internal_error (__FILE__, __LINE__,
+ _("Register %d not updated"), regno);
+ if (nr_bytes == 0)
+ warning (_("Register %s not updated"),
+ gdbarch_register_name (gdbarch, regno));
+
if (remote_debug)
{
printf_filtered ("gdbsim_store_register: %d", regno);