* serial.h (SERIAL_SET_TTY_STATE): Comment return value.
[deliverable/binutils-gdb.git] / gdb / i386aix-nat.c
index 6b4297f9cb462d7d844f72300adcb4279d473e9d..15e02b0fb401b6e0125a74a77a077050c1f85649 100644 (file)
@@ -127,46 +127,46 @@ print_387_status (status, ep)
   if (status != 0) 
     {
       if (bothstatus)
-       printf ("u: ");
+       printf_unfiltered ("u: ");
       print_387_status_word (status);
     }
   
   if (ep->status != 0) 
     {
       if (bothstatus)
-       printf ("e: ");
+       printf_unfiltered ("e: ");
       print_387_status_word (ep->status);
     }
   
   print_387_control_word (ep->control);
-  printf ("last exception: ");
-  printf ("opcode %s; ", local_hex_string(ep->opcode));
-  printf ("pc %s:", local_hex_string(ep->code_seg));
-  printf ("%s; ", local_hex_string(ep->eip));
-  printf ("operand %s", local_hex_string(ep->operand_seg));
-  printf (":%s\n", local_hex_string(ep->operand));
-  
-  top = 7- ((ep->status >> 11) & 7);
-  
-  printf ("regno  tag  msb              lsb  value\n");
+  printf_unfiltered ("last exception: ");
+  printf_unfiltered ("opcode %s; ", local_hex_string(ep->opcode));
+  printf_unfiltered ("pc %s:", local_hex_string(ep->code_seg));
+  printf_unfiltered ("%s; ", local_hex_string(ep->eip));
+  printf_unfiltered ("operand %s", local_hex_string(ep->operand_seg));
+  printf_unfiltered (":%s\n", local_hex_string(ep->operand));
+
+  top = ((ep->status >> 11) & 7);
+
+  printf_unfiltered ("regno  tag  msb              lsb  value\n");
   for (fpreg = 7; fpreg >= 0; fpreg--) 
     {
       double val;
-      
-      printf ("%s %d: ", fpreg == top ? "=>" : "  ", fpreg);
-      
+
+      printf_unfiltered ("%s %d: ", fpreg == top ? "=>" : "  ", fpreg);
+
       switch ((ep->tag >> ((7 - fpreg) * 2)) & 3) 
        {
-       case 0: printf ("valid "); break;
-       case 1: printf ("zero  "); break;
-       case 2: printf ("trap  "); break;
-       case 3: printf ("empty "); break;
+       case 0: printf_unfiltered ("valid "); break;
+       case 1: printf_unfiltered ("zero  "); break;
+       case 2: printf_unfiltered ("trap  "); break;
+       case 3: printf_unfiltered ("empty "); break;
        }
       for (i = 9; i >= 0; i--)
-       printf ("%02x", ep->regs[fpreg][i]);
+       printf_unfiltered ("%02x", ep->regs[fpreg][i]);
       
       i387_to_double ((char *)ep->regs[fpreg], (char *)&val);
-      printf ("  %#g\n", val);
+      printf_unfiltered ("  %#g\n", val);
     }
 }
 
@@ -177,6 +177,10 @@ i386_float_info ()
 {
   struct env387 fps;
   int fpsaved = 0;
+  /* We need to reverse the order of the registers.  Apparently AIX stores
+     the highest-numbered ones first.  */
+  struct env387 fps_fixed;
+  int i;
 
   if (inferior_pid)
     {
@@ -195,7 +199,7 @@ i386_float_info ()
   
   if (fpsaved == 0) 
     {
-      printf ("no floating point status saved\n");
+      printf_unfiltered ("no floating point status saved\n");
       return;
     }
 
@@ -210,8 +214,10 @@ i386_float_info ()
                  MIN(10, sizeof(fps) - offset));
        }
     } 
-
-  print_387_status (0, (struct env387 *)&fps);
+  fps_fixed = fps;
+  for (i = 0; i < 8; ++i)
+    memcpy (fps_fixed.regs[i], fps.regs[7 - i], 10);
+  print_387_status (0, &fps_fixed);
 }
 
 /* Fetch one register.  */
@@ -333,6 +339,6 @@ fetch_core_registers (core_reg_sect, core_reg_size, which, reg_addr)
       if (core_reg_size >= sizeof (core_env387))
        memcpy (&core_env387, core_reg_sect, core_reg_size);
       else
-       fprintf (stderr, "Couldn't read float regs from core file\n");
+       fprintf_unfiltered (gdb_stderr, "Couldn't read float regs from core file\n");
     }
 }
This page took 0.02482 seconds and 4 git commands to generate.