Fix info mem command for 32 bits host/64 bits target
authorCatalin Udma <catalin.udma@freescale.com>
Mon, 15 Dec 2014 14:41:29 +0000 (16:41 +0200)
committerCatalin Udma <catalin.udma@freescale.com>
Mon, 15 Dec 2014 14:41:29 +0000 (16:41 +0200)
When running gdb on 32 bits host for 64 bits target, info mem command
truncates the target address to 32 bits, like in the example below
(gdb) set architecture powerpc:common64
(gdb) mem 0x100000000 0x200000000 rw
(gdb) info mem
1   y   0x0000000000000000 0x0000000000000000 rw nocache

gdb/ChangeLog:

        PR gdb/15684
        * memattr.c (mem_info_command): Remove "unsigned long" casts.

Signed-off-by: Catalin Udma <catalin.udma@freescale.com>
gdb/ChangeLog
gdb/memattr.c

index f3a358e66a34588510e37c53e90a149a0d06fd7c..b897516a7d2f9302f9aa570ed7208e8b55a050ed 100644 (file)
@@ -1,3 +1,8 @@
+2014-12-15  Catalin Udma  <catalin.udma@freescale.com>
+
+       PR gdb/15684
+       * memattr.c (mem_info_command): Remove "unsigned long" casts.
+
 2014-12-13  Doug Evans  <xdje42@gmail.com>
 
        * utils.c (make_hex_string): Fix off-by-one error.
index 25e455495eecd15ca1c995a222cf07dfc2c9e310..9d2a2d452b04219423b5b247ac294c8ba6c002be 100644 (file)
@@ -447,9 +447,9 @@ mem_info_command (char *args, int from_tty)
                       m->number,
                       m->enabled_p ? 'y' : 'n');
       if (gdbarch_addr_bit (target_gdbarch ()) <= 32)
-       tmp = hex_string_custom ((unsigned long) m->lo, 8);
+       tmp = hex_string_custom (m->lo, 8);
       else
-       tmp = hex_string_custom ((unsigned long) m->lo, 16);
+       tmp = hex_string_custom (m->lo, 16);
       
       printf_filtered ("%s ", tmp);
 
@@ -458,14 +458,14 @@ mem_info_command (char *args, int from_tty)
          if (m->hi == 0)
            tmp = "0x100000000";
          else
-           tmp = hex_string_custom ((unsigned long) m->hi, 8);
+           tmp = hex_string_custom (m->hi, 8);
        }
       else
        {
          if (m->hi == 0)
            tmp = "0x10000000000000000";
          else
-           tmp = hex_string_custom ((unsigned long) m->hi, 16);
+           tmp = hex_string_custom (m->hi, 16);
        }
 
       printf_filtered ("%s ", tmp);