diff options
Diffstat (limited to 'gdb/gdbserver')
-rw-r--r-- | gdb/gdbserver/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/gdbserver/i387-fp.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog index 5efef46..602dae0 100644 --- a/gdb/gdbserver/ChangeLog +++ b/gdb/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2007-03-30 Daniel Jacobowitz <dan@codesourcery.com> + + * i387-fp.c (i387_cache_to_fxsave): Reinitialize val2 before use. + (i387_fxsave_to_cache): Check fp->ftag while building ftag value. + 2007-03-29 Pedro Alves <pedro_alves@portugalmail.pt> * configure.srv (arm*-*-mingw32ce*): Move near the other diff --git a/gdb/gdbserver/i387-fp.c b/gdb/gdbserver/i387-fp.c index cce8790..e0b460f 100644 --- a/gdb/gdbserver/i387-fp.c +++ b/gdb/gdbserver/i387-fp.c @@ -174,6 +174,7 @@ i387_cache_to_fxsave (void *buf) /* Convert to the simplifed tag form stored in fxsave data. */ collect_register_by_name ("ftag", &val); val &= 0xFFFF; + val2 = 0; for (i = 7; i >= 0; i--) { int tag = (val >> (i * 2)) & 3; @@ -270,7 +271,7 @@ i387_fxsave_to_cache (const void *buf) for (i = 7; i >= 0; i--) { int tag; - if (val & (1 << i)) + if (fp->ftag & (1 << i)) tag = i387_ftag (fp, (i + 8 - top) % 8); else tag = 3; |