From aacd3e8c4f5ac00f1ee41c082c2f10eb7457d04c Mon Sep 17 00:00:00 2001 From: Catalin Udma Date: Mon, 15 Dec 2014 16:41:29 +0200 Subject: [PATCH] Fix info mem command for 32 bits host/64 bits target 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 --- gdb/ChangeLog | 5 +++++ gdb/memattr.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f3a358e66a..b897516a7d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-12-15 Catalin Udma + + PR gdb/15684 + * memattr.c (mem_info_command): Remove "unsigned long" casts. + 2014-12-13 Doug Evans * utils.c (make_hex_string): Fix off-by-one error. diff --git a/gdb/memattr.c b/gdb/memattr.c index 25e455495e..9d2a2d452b 100644 --- a/gdb/memattr.c +++ b/gdb/memattr.c @@ -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); -- 2.34.1