From 16b2f0246349665f3fa02e6ad08c1e07dbae8ce5 Mon Sep 17 00:00:00 2001 From: Mark Kettenis Date: Thu, 30 Oct 2003 23:03:36 +0000 Subject: * i386-tdep.c (i386_supply_fpregset): Support floating-point registers in `fxsave' format. (i386_regset_from_core_section): Deal with ".reg-xfp" sections. --- gdb/i386-tdep.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'gdb/i386-tdep.c') diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index e8d42a12b97..69db1fa820e 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -1576,6 +1576,12 @@ i386_supply_fpregset (const struct regset *regset, struct regcache *regcache, { const struct gdbarch_tdep *tdep = regset->descr; + if (len == I387_SIZEOF_FXSAVE) + { + i387_supply_fxsave (regcache, regnum, fpregs); + return; + } + gdb_assert (len == tdep->sizeof_fpregset); i387_supply_fsave (regcache, regnum, fpregs); } @@ -1600,7 +1606,9 @@ i386_regset_from_core_section (struct gdbarch *gdbarch, return tdep->gregset; } - if (strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset) + if ((strcmp (sect_name, ".reg2") == 0 && sect_size == tdep->sizeof_fpregset) + || (strcmp (sect_name, ".reg-xfp") == 0 + && sect_size == I387_SIZEOF_FXSAVE)) { if (tdep->fpregset == NULL) { -- cgit v1.2.1