www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1999/06/17/03:36:46

Date: Thu, 17 Jun 1999 10:33:59 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Robert Hoehne <robert DOT hoehne AT gmx DOT net>
cc: djgpp-workers AT delorie DOT com
Subject: "info float" in GDB
Message-ID: <Pine.SUN.3.91.990617103301.22717O-100000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com

These changes make some minor improvements in the way float info is
displayed by GDB.


*** gdb/go32-nat.c~9	Sat Jun 12 12:16:54 1999
--- gdb/go32-nat.c	Wed Jun 16 22:42:26 1999
*************** print_387_status (unsigned short status,
*** 224,231 ****
      }
  
    print_387_control_word (ep->control & 0xffff);
!   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));
--- 224,237 ----
      }
  
    print_387_control_word (ep->control & 0xffff);
!   /* Other platforms say "last exception", but that's not true: the
!      FPU stores the last non-control instruction there.  */
!   printf_unfiltered ("last FP instruction: ");
!   /* The ORing with D800h restores the upper 5 bits of the opcode that
!      are not stored by the FPU (since these bits are the same for all
!      floating-point instructions).  */
!   printf_unfiltered ("opcode %s; ",
! 		     local_hex_string (ep->opcode ? (ep->opcode|0xd800) : 0));
    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));
*************** print_387_status (unsigned short status,
*** 270,276 ****
        REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM+regno, builtin_type_long_double,
  				   &ep->regs[regno], &val);
  
!       printf_unfiltered ("  %LG\n", val);
      }
  }
  
--- 276,282 ----
        REGISTER_CONVERT_TO_VIRTUAL (FP0_REGNUM+regno, builtin_type_long_double,
  				   &ep->regs[regno], &val);
  
!       printf_unfiltered ("  %.19LG\n", val);
      }
  }
  
*** gdb/i387-tdep.c~0	Fri Oct 16 21:45:04 1998
--- gdb/i387-tdep.c	Wed Jun 16 22:20:34 1999
*************** void
*** 88,97 ****
  print_387_status_word (status)
       unsigned int status;
  {
!   printf_unfiltered ("status %s: ", local_hex_string (status));
    if (status & 0xff) 
      {
!       printf_unfiltered ("exceptions:");
        if (status & 0x0001) printf_unfiltered (" INVALID");
        if (status & 0x0002) printf_unfiltered (" DENORM");
        if (status & 0x0004) printf_unfiltered (" DIVZ");
--- 88,97 ----
  print_387_status_word (status)
       unsigned int status;
  {
!   printf_unfiltered ("status %s", local_hex_string (status));
    if (status & 0xff) 
      {
!       printf_unfiltered (": exceptions:");
        if (status & 0x0001) printf_unfiltered (" INVALID");
        if (status & 0x0002) printf_unfiltered (" DENORM");
        if (status & 0x0004) printf_unfiltered (" DIVZ");
*************** print_387_status_word (status)
*** 99,106 ****
        if (status & 0x0010) printf_unfiltered (" UNDERF");
        if (status & 0x0020) printf_unfiltered (" LOS");
        if (status & 0x0040) printf_unfiltered (" FPSTACK");
-       printf_unfiltered ("; ");
      }
    printf_unfiltered ("flags: %d%d%d%d; ",
  	  (status & 0x4000) != 0,
  	  (status & 0x0400) != 0,
--- 99,106 ----
        if (status & 0x0010) printf_unfiltered (" UNDERF");
        if (status & 0x0020) printf_unfiltered (" LOS");
        if (status & 0x0040) printf_unfiltered (" FPSTACK");
      }
+   printf_unfiltered ("; ");
    printf_unfiltered ("flags: %d%d%d%d; ",
  	  (status & 0x4000) != 0,
  	  (status & 0x0400) != 0,

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019