* i386-tdep.c (i386_supply_fpregset): Support floating-point

registers in `fxsave' format.
(i386_regset_from_core_section): Deal with ".reg-xfp" sections.
This commit is contained in:
Mark Kettenis 2003-10-30 23:03:36 +00:00
parent 3084807aa6
commit 66a72d250d
2 changed files with 15 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2003-10-31 Mark Kettenis <kettenis@gnu.org>
* i386-tdep.c (i386_supply_fpregset): Support floating-point
registers in `fxsave' format.
(i386_regset_from_core_section): Deal with ".reg-xfp" sections.
2003-10-30 Mark Kettenis <kettenis@gnu.org>
* i386-linux-tdep.c (i386_linux_gregset_reg_offset): New variable.

View File

@ -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)
{