From f0ef85a5af6ee9a1ee2a66026582cbfda57a3379 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Fri, 9 Apr 2004 23:24:05 +0000 Subject: * amd64-tdep.c (amd64_supply_fxsave): Only fiddle with I387_FISEG_REGNUM and I387_FOSEG_REGNUM in 64-bit mode. (amd64_collect_fxsave): Likewise. --- gdb/amd64-tdep.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'gdb/amd64-tdep.c') diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c index 0bec555..d165714 100644 --- a/gdb/amd64-tdep.c +++ b/gdb/amd64-tdep.c @@ -1171,7 +1171,7 @@ amd64_supply_fxsave (struct regcache *regcache, int regnum, { i387_supply_fxsave (regcache, regnum, fxsave); - if (fxsave) + if (fxsave && gdbarch_ptr_bit (get_regcache_arch (regcache)) == 64) { const char *regs = fxsave; @@ -1195,8 +1195,11 @@ amd64_collect_fxsave (const struct regcache *regcache, int regnum, i387_collect_fxsave (regcache, regnum, fxsave); - if (regnum == -1 || regnum == I387_FISEG_REGNUM) - regcache_raw_collect (regcache, I387_FISEG_REGNUM, regs + 12); - if (regnum == -1 || regnum == I387_FOSEG_REGNUM) - regcache_raw_collect (regcache, I387_FOSEG_REGNUM, regs + 20); + if (gdbarch_ptr_bit (get_regcache_arch (regcache)) == 64) + { + if (regnum == -1 || regnum == I387_FISEG_REGNUM) + regcache_raw_collect (regcache, I387_FISEG_REGNUM, regs + 12); + if (regnum == -1 || regnum == I387_FOSEG_REGNUM) + regcache_raw_collect (regcache, I387_FOSEG_REGNUM, regs + 20); + } } -- cgit v1.1