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