mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2025-02-28 05:16:01 +00:00
* amd64-tdep.h: (amd64_collect_fxsave): New prototype.
* amd64-tdep.c (amd64_collect_fxsave): New function. (amd64_fill_fxsave): Simply call amd64_collect_fxsave.
This commit is contained in:
parent
80571bffe3
commit
3c017e4024
@ -1,5 +1,9 @@
|
||||
2004-02-28 Mark Kettenis <kettenis@gnu.org>
|
||||
|
||||
* amd64-tdep.h: (amd64_collect_fxsave): New prototype.
|
||||
* amd64-tdep.c (amd64_collect_fxsave): New function.
|
||||
(amd64_fill_fxsave): Simply call amd64_collect_fxsave.
|
||||
|
||||
* i387-tdep.h: Update copyright year.
|
||||
(i387_collect_fxsave): New prototype.
|
||||
* i387-tdep.c: Update copyright year.
|
||||
|
@ -1168,6 +1168,25 @@ amd64_supply_fxsave (struct regcache *regcache, int regnum,
|
||||
}
|
||||
}
|
||||
|
||||
/* Fill register REGNUM (if it is a floating-point or SSE register) in
|
||||
*FXSAVE with the value from REGCACHE. If REGNUM is -1, do this for
|
||||
all registers. This function doesn't touch any of the reserved
|
||||
bits in *FXSAVE. */
|
||||
|
||||
void
|
||||
amd64_collect_fxsave (const struct regcache *regcache, int regnum,
|
||||
void *fxsave)
|
||||
{
|
||||
char *regs = fxsave;
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
/* Fill register REGNUM (if it is a floating-point or SSE register) in
|
||||
*FXSAVE with the value in GDB's register cache. If REGNUM is -1, do
|
||||
this for all registers. This function doesn't touch any of the
|
||||
@ -1176,10 +1195,5 @@ amd64_supply_fxsave (struct regcache *regcache, int regnum,
|
||||
void
|
||||
amd64_fill_fxsave (char *fxsave, int regnum)
|
||||
{
|
||||
i387_fill_fxsave (fxsave, regnum);
|
||||
|
||||
if (regnum == -1 || regnum == I387_FISEG_REGNUM)
|
||||
regcache_collect (I387_FISEG_REGNUM, fxsave + 12);
|
||||
if (regnum == -1 || regnum == I387_FOSEG_REGNUM)
|
||||
regcache_collect (I387_FOSEG_REGNUM, fxsave + 20);
|
||||
amd64_collect_fxsave (current_regcache, regnum, fxsave);
|
||||
}
|
||||
|
@ -63,6 +63,14 @@ extern void amd64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch);
|
||||
extern void amd64_supply_fxsave (struct regcache *regcache, int regnum,
|
||||
const void *fxsave);
|
||||
|
||||
/* Fill register REGNUM (if it is a floating-point or SSE register) in
|
||||
*FXSAVE with the value from REGCACHE. If REGNUM is -1, do this for
|
||||
all registers. This function doesn't touch any of the reserved
|
||||
bits in *FXSAVE. */
|
||||
|
||||
extern void amd64_collect_fxsave (const struct regcache *regcache, int regnum,
|
||||
void *fxsave);
|
||||
|
||||
/* Fill register REGNUM (if it is a floating-point or SSE register) in
|
||||
*FXSAVE with the value in GDB's register cache. If REGNUM is -1, do
|
||||
this for all registers. This function doesn't touch any of the
|
||||
|
Loading…
x
Reference in New Issue
Block a user