aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/ppc/ChangeLog5
-rw-r--r--sim/ppc/sim_calls.c12
2 files changed, 15 insertions, 2 deletions
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index 5586cc8..d8198e1 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,8 @@
+2002-04-15 Elena Zannoni <ezannoni@redhat.com>
+
+ * sim_calls.c (sim_fetch_register, sim_store_register): Return -1 for
+ AltiVec registers as a temporary stopgap.
+
2002-03-24 David O'Brien <obrien@FreeBSD.org>
* ppc/hw_disk.c: Export a disk device property.
diff --git a/sim/ppc/sim_calls.c b/sim/ppc/sim_calls.c
index 72f90d2..47af5b1 100644
--- a/sim/ppc/sim_calls.c
+++ b/sim/ppc/sim_calls.c
@@ -194,7 +194,11 @@ sim_fetch_register (SIM_DESC sd, int regno, unsigned char *buf, int length)
But there are loops that just walk through the entire list of
names and try to get everything. */
regname = gdbarch_register_name (current_gdbarch, regno);
- if (! regname || regname[0] == '\0')
+ /* FIXME: ezannoni 2002/04/15 Remove the 'vr' and 'vscr' check
+ once AltiVec support is committed. */
+ if (! regname || regname[0] == '\0'
+ || (regname[0] == 'v' && regname[1] == 'r')
+ || (strcmp (regname, "vscr") == 0))
return -1;
TRACE(trace_gdb, ("sim_fetch_register(regno=%d(%s), buf=0x%lx)\n",
@@ -215,7 +219,11 @@ sim_store_register (SIM_DESC sd, int regno, unsigned char *buf, int length)
/* See comments in sim_fetch_register, above. */
regname = gdbarch_register_name (current_gdbarch, regno);
- if (! regname || regname[0] == '\0')
+ /* FIXME: ezannoni 2002/04/15 Remove the 'vr' and 'vscr' check
+ once AltiVec support is committed. */
+ if (! regname || regname[0] == '\0'
+ || (regname[0] == 'v' && regname[1] == 'r')
+ || (strcmp (regname, "vscr") == 0))
return -1;
TRACE(trace_gdb, ("sim_store_register(regno=%d(%s), buf=0x%lx)\n",