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"));