* i386fbsd-nat.c: Include "i386-tdep.h".
(child_resume): Make `eflags' an ULONGEST. Use regcache_cooked_read_unsigned and regcache_cooked_write_unsigned instead of register_read and register_write.
This commit is contained in:
parent
a144416fe3
commit
f0925262c7
2 changed files with 12 additions and 3 deletions
|
@ -1,5 +1,10 @@
|
||||||
2003-08-10 Mark Kettenis <kettenis@gnu.org>
|
2003-08-10 Mark Kettenis <kettenis@gnu.org>
|
||||||
|
|
||||||
|
* i386fbsd-nat.c: Include "i386-tdep.h".
|
||||||
|
(child_resume): Make `eflags' an ULONGEST. Use
|
||||||
|
regcache_cooked_read_unsigned and regcache_cooked_write_unsigned
|
||||||
|
instead of register_read and register_write.
|
||||||
|
|
||||||
* i386bsd-nat.c (fetch_inferior_registers,
|
* i386bsd-nat.c (fetch_inferior_registers,
|
||||||
store_inferior_registers): Don't use && at the end of a line.
|
store_inferior_registers): Don't use && at the end of a line.
|
||||||
(_initialize_i386bsd_nat): Fix typo.
|
(_initialize_i386bsd_nat): Fix typo.
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
#include <sys/ptrace.h>
|
#include <sys/ptrace.h>
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
|
|
||||||
|
#include "i386-tdep.h"
|
||||||
|
|
||||||
/* Prevent warning from -Wmissing-prototypes. */
|
/* Prevent warning from -Wmissing-prototypes. */
|
||||||
void _initialize_i386fbsd_nat (void);
|
void _initialize_i386fbsd_nat (void);
|
||||||
|
|
||||||
|
@ -47,7 +49,7 @@ child_resume (ptid_t ptid, int step, enum target_signal signal)
|
||||||
|
|
||||||
if (!step)
|
if (!step)
|
||||||
{
|
{
|
||||||
unsigned int eflags;
|
ULONGEST eflags;
|
||||||
|
|
||||||
/* Workaround for a bug in FreeBSD. Make sure that the trace
|
/* Workaround for a bug in FreeBSD. Make sure that the trace
|
||||||
flag is off when doing a continue. There is a code path
|
flag is off when doing a continue. There is a code path
|
||||||
|
@ -59,9 +61,11 @@ child_resume (ptid_t ptid, int step, enum target_signal signal)
|
||||||
never goes through the kernel's trap() function which would
|
never goes through the kernel's trap() function which would
|
||||||
normally clear it. */
|
normally clear it. */
|
||||||
|
|
||||||
eflags = read_register (PS_REGNUM);
|
regcache_cooked_read_unsigned (current_regcache, I386_EFLAGS_REGNUM,
|
||||||
|
&eflags);
|
||||||
if (eflags & 0x0100)
|
if (eflags & 0x0100)
|
||||||
write_register (PS_REGNUM, eflags & ~0x0100);
|
regcache_cooked_write_unsigned (current_regcache, I386_EFLAGS_REGNUM,
|
||||||
|
eflags & ~0x0100);
|
||||||
|
|
||||||
request = PT_CONTINUE;
|
request = PT_CONTINUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue