aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/i387-nat.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3e11259..1ea3b1b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2001-12-13 Kevin Buettner <kevinb@redhat.com>
+
+ * i387-nat.c (i387_fill_fxsave): Change type of ``val'' from char
+ to short so that we don't memcpy() beyond the end of this buffer.
+ Also, change shift value used in computing val to account for the
+ fact that only eight bits are used.
+
2001-12-13 Corinna Vinschen <vinschen@redhat.com>
* Makefile.in: Add support for xstormy16.
diff --git a/gdb/i387-nat.c b/gdb/i387-nat.c
index b15184e..f792336 100644
--- a/gdb/i387-nat.c
+++ b/gdb/i387-nat.c
@@ -270,7 +270,7 @@ i387_fill_fxsave (char *fxsave, int regnum)
{
/* Converting back is much easier. */
- unsigned char val = 0;
+ unsigned short val = 0;
unsigned short ftag;
int fpreg;
@@ -281,7 +281,7 @@ i387_fill_fxsave (char *fxsave, int regnum)
int tag = (ftag >> (fpreg * 2)) & 3;
if (tag != 3)
- val |= (1 << (fpreg * 2));
+ val |= (1 << fpreg);
}
memcpy (FXSAVE_ADDR (fxsave, i), &val, 2);