diff options
-rw-r--r-- | gdb/ChangeLog | 8 | ||||
-rw-r--r-- | gdb/i386-linux-nat.c | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 9c7250c..7b8a0e4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2002-09-02 Mark Kettenis <kettenis@gnu.org> + + * i386-linux-nat.c (dummy_sse_values): Only try to fill in the SSE + registers if the target really has them. + 2002-08-31 Jason Thorpe <thorpej@wasabisystems.com> * Makefile.in (mipsnbsd-tdep.o): Use $(nbsd_tdep_h) rather @@ -150,6 +155,9 @@ 2002-08-26 Mark Kettenis <kettenis@gnu.org> + * defs.h: Move inclusion of "ansidecl.h" before "gdb_locale.h". + Fix some whitespace problems. + * i386-tdep.c (i386_store_return_value): Undeprecate. Convert to use regcache_* functions. (i386_gdbarch_init): Set store_return_value instead of diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c index 74c70db..8458879 100644 --- a/gdb/i386-linux-nat.c +++ b/gdb/i386-linux-nat.c @@ -541,15 +541,17 @@ store_fpxregs (int tid, int regno) static void dummy_sse_values (void) { + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); /* C doesn't have a syntax for NaN's, so write it out as an array of longs. */ static long dummy[4] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff }; static long mxcsr = 0x1f80; int reg; - for (reg = 0; reg < 8; reg++) + for (reg = 0; reg < tdep->num_xmm_regs; reg++) supply_register (XMM0_REGNUM + reg, (char *) dummy); - supply_register (MXCSR_REGNUM, (char *) &mxcsr); + if (tdep->num_xmm_regs > 0) + supply_register (MXCSR_REGNUM, (char *) &mxcsr); } #else |