* i386fbsd-nat.c: Include "i386-tdep.h".
[binutils-gdb.git] / gdb / i386fbsd-nat.c
index a80d0a0af8935b7c82df645ac3e7f244c1447045..f5845e309b3db685ab594e1c5a7ca33e47578f5d 100644 (file)
@@ -26,6 +26,8 @@
 #include <sys/ptrace.h>
 #include <sys/sysctl.h>
 
+#include "i386-tdep.h"
+
 /* Prevent warning from -Wmissing-prototypes.  */
 void _initialize_i386fbsd_nat (void);
 
@@ -47,7 +49,7 @@ child_resume (ptid_t ptid, int step, enum target_signal signal)
 
   if (!step)
     {
-      unsigned int eflags;
+      ULONGEST eflags;
 
       /* Workaround for a bug in FreeBSD.  Make sure that the trace
         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
         normally clear it.  */
 
-      eflags = read_register (PS_REGNUM);
+      regcache_cooked_read_unsigned (current_regcache, I386_EFLAGS_REGNUM,
+                                    &eflags);
       if (eflags & 0x0100)
-       write_register (PS_REGNUM, eflags & ~0x0100);
+       regcache_cooked_write_unsigned (current_regcache, I386_EFLAGS_REGNUM,
+                                       eflags & ~0x0100);
 
       request = PT_CONTINUE;
     }