diff options
Diffstat (limited to 'sim/ppc')
-rw-r--r-- | sim/ppc/ChangeLog | 5 | ||||
-rw-r--r-- | sim/ppc/sim_calls.c | 12 |
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", |