* configure: Regenerate with proper autoconf 2.13.
[deliverable/binutils-gdb.git] / gdb / go32-nat.c
index 2cf3e29379f4a679ecbebf3331a4393e9ce3fc7a..6ff2710c22d3faf68d46285431936edcd0334940 100644 (file)
@@ -29,7 +29,8 @@
 #include "gdbcmd.h"
 #include "floatformat.h"
 #include "buildsym.h"
-#include "i387-nat.h"
+#include "i387-tdep.h"
+#include "i386-tdep.h"
 #include "value.h"
 #include "regcache.h"
 #include "gdb_string.h"
 #include <unistd.h>
 #include <sys/utsname.h>
 #include <io.h>
-/* breakpoint.h defines `disable' which is an enum member.  */
-#define disable interrup_disable
 #include <dos.h>
-#undef disable
 #include <dpmi.h>
 #include <go32.h>
 #include <sys/farptr.h>
@@ -93,16 +91,16 @@ static void load_npx (void);        /* Restore the FPU of the debugged program */
 static void
 save_npx (void)
 {
-  asm ("inb    $0xa0, %%al
-       testb $0x20, %%al
-       jz 1f
-       xorb %% al, %%al
-       outb %% al, $0xf0
-       movb $0x20, %%al
-       outb %% al, $0xa0
-       outb %% al, $0x20
-1:
-       fnsave % 0
+  asm ("inb    $0xa0, %%al  \n\
+       testb $0x20, %%al    \n\
+       jz 1f               \n\
+       xorb %%al, %%al     \n\
+       outb %%al, $0xf0     \n\
+       movb $0x20, %%al            \n\
+       outb %%al, $0xa0     \n\
+       outb %%al, $0x20     \n\
+1:                                 \n\
+       fnsave %0           \n\
        fwait "
 :     "=m" (npx)
 :                              /* No input */
@@ -112,9 +110,6 @@ save_npx (void)
 /* *INDENT-ON* */
 
 
-
-
-
 /* ------------------------------------------------------------------------- */
 /* Reload the contents of the NPX from the global variable `npx'.  */
 
@@ -472,7 +467,7 @@ fetch_register (int regno)
 {
   if (regno < FP0_REGNUM)
     supply_register (regno, (char *) &a_tss + regno_mapping[regno].tss_ofs);
-  else if (regno <= LAST_FPU_CTRL_REGNUM)
+  else if (i386_fp_regnum_p (regno) || i386_fpc_regnum_p (regno))
     i387_supply_register (regno, (char *) &npx);
   else
     internal_error (__FILE__, __LINE__,
@@ -495,14 +490,10 @@ go32_fetch_registers (int regno)
 static void
 store_register (int regno)
 {
-  void *rp;
-  void *v = (void *) register_buffer (regno);
-
   if (regno < FP0_REGNUM)
-    memcpy ((char *) &a_tss + regno_mapping[regno].tss_ofs,
-           v, regno_mapping[regno].size);
-  else if (regno <= LAST_FPU_CTRL_REGNUM)
-    i387_fill_fsave ((char *)&npx, regno);
+    regcache_collect (regno, (char *) &a_tss + regno_mapping[regno].tss_ofs);
+  else if (i386_fp_regnum_p (regno) || i386_fpc_regnum_p (regno))
+    i387_fill_fsave ((char *) &npx, regno);
   else
     internal_error (__FILE__, __LINE__,
                    "Invalid register no. %d in store_register.", regno);
@@ -652,7 +643,7 @@ go32_create_inferior (char *exec_file, char *args, char **env)
       exit (1);
     }
   environ = env_save;
-  free (cmdline);
+  xfree (cmdline);
 
   edi_init (start_state);
 #if __DJGPP_MINOR__ < 3
@@ -813,7 +804,7 @@ go32_terminal_inferior (void)
   {
     redir_to_debugger (&child_cmd);
     error ("Cannot redirect standard handles for program: %s.",
-          strerror (errno));
+          safe_strerror (errno));
   }
   /* set the console device of the inferior to whatever mode
      (raw or cooked) we found it last time */
@@ -847,7 +838,7 @@ go32_terminal_ours (void)
     {
       redir_to_child (&child_cmd);
       error ("Cannot redirect standard handles for debugger: %s.",
-            strerror (errno));
+            safe_strerror (errno));
     }
   }
 }
@@ -1703,7 +1694,7 @@ get_cr3 (void)
   cr3 = _farnspeekl (taskbase + 0x1c) & ~0xfff;
   if (cr3 > 0xfffff)
     {
-#if 0  /* not fully supported yet */
+#if 0  /* not fullly supported yet */
       /* The Page Directory is in UMBs.  In that case, CWSDPMI puts
         the first Page Table right below the Page Directory.  Thus,
         the first Page Table's entry for its own address and the Page
@@ -1914,7 +1905,7 @@ _initialize_go32_nat (void)
   add_target (&go32_ops);
 
   add_prefix_cmd ("dos", class_info, go32_info_dos_command,
-                 "Print information specific to DJGPP (a.k.a. MS-DOS) debugging.",
+                 "Print information specific to DJGPP (aka MS-DOS) debugging.",
                  &info_dos_cmdlist, "info dos ", 0, &infolist);
 
   add_cmd ("sysinfo", class_info, go32_sysinfo,
This page took 0.025775 seconds and 4 git commands to generate.