This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[RFC] Another 64 bit CORE_ADDR & 32 bit target address printing botch


I found another place where 32 bit addresses with the MSB set are printed 
as 0xffffffffxxxxxxxx.  I hacked around the problem with this patch,
but it might not be the best place to do it.  Any better ideas?

-Fred

Index: ui-out.c
===================================================================
RCS file: /mips/newtools/fsf/gdb/gdb/ui-out.c,v
retrieving revision 1.1.1.3
diff -c -r1.1.1.3 ui-out.c
*** ui-out.c	2002/08/31 02:49:14	1.1.1.3
--- ui-out.c	2002/09/08 04:29:28
***************
*** 491,506 ****
  			CORE_ADDR address)
  {
    char addstr[20];
  
    /* FIXME: cagney/2002-05-03: Need local_address_string() function
       that returns the language localized string formatted to a width
       based on TARGET_ADDR_BIT.  */
    /* print_address_numeric (address, 1, local_stream); */
    if (TARGET_ADDR_BIT <= 32)
!     strcpy (addstr, local_hex_string_custom (address, "08l"));
    else
!     strcpy (addstr, local_hex_string_custom (address, "016l"));
! 
    ui_out_field_string (uiout, fldname, addstr);
  }
  
--- 491,510 ----
  			CORE_ADDR address)
  {
    char addstr[20];
+   char *fmt;
  
    /* FIXME: cagney/2002-05-03: Need local_address_string() function
       that returns the language localized string formatted to a width
       based on TARGET_ADDR_BIT.  */
    /* print_address_numeric (address, 1, local_stream); */
+ 
    if (TARGET_ADDR_BIT <= 32)
!     fmt = "08l";
    else
!     fmt = "016l";
!   if (TARGET_ADDR_BIT < (sizeof (CORE_ADDR) * HOST_CHAR_BIT))
!     address &= ((CORE_ADDR) 1 << TARGET_ADDR_BIT) - 1;
!   strcpy (addstr, local_hex_string_custom (address, fmt));
    ui_out_field_string (uiout, fldname, addstr);
  }
  


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]