Version: 5.0
Platform: any 32-bit with 64-bit target

`gdb/exec.c' cuts higher 32 bits of target addr when printing it.
Comment says that this is due to absense of CORE_ADDR printing
function with field width.  I think that non- pretty output formatting
is less harmful than lack of data in output.  I patch gdb like this.

--- gdb/exec.c  2000/06/23 12:57:22     1.1
+++ gdb/exec.c  2000/06/23 13:23:40     1.2
@@ -589,8 +589,10 @@
   for (p = t->to_sections; p < t->to_sections_end; p++)
     {
       /* FIXME-32x64 need a print_address_numeric with field width */
-      printf_filtered ("\t%s", local_hex_string_custom ((unsigned long) p->addr, 
"08l"));
-      printf_filtered (" - %s", local_hex_string_custom ((unsigned long) p->endaddr, 
"08l"));
+      printf_filtered ("\t");
+      print_address_numeric (p->addr, 1, gdb_stdout);
+      printf_filtered (" - ");
+      print_address_numeric (p->endaddr, 1, gdb_stdout);
       if (info_verbose)
        printf_filtered (" @ %s",
                         local_hex_string_custom ((unsigned long) 
p->the_bfd_section->filepos, "08l"));

Reply via email to