This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH] exec.c: print_section_info() format string fixes
- From: Kevin Buettner <kevinb at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Thu, 19 Dec 2002 12:01:22 -0700
- Subject: [PATCH] exec.c: print_section_info() format string fixes
On 64-bit targets, I found that the values printed by print_section_info()
were not being printed in their entirety. I've just committed the patch
below to fix this problem.
As I look at it now, I see that the FIXME comment can go. I'll zap it
in a moment.
* exec.c (print_section_info): Select a format string to use with
local_hex_string_custom() based upon the value of TARGET_ADDR_BIT.
Index: exec.c
===================================================================
RCS file: /cvs/src/src/gdb/exec.c,v
retrieving revision 1.23
diff -u -p -r1.23 exec.c
--- exec.c 12 Dec 2002 01:39:34 -0000 1.23
+++ exec.c 19 Dec 2002 18:44:40 -0000
@@ -545,6 +545,7 @@ void
print_section_info (struct target_ops *t, bfd *abfd)
{
struct section_table *p;
+ char *fmt = TARGET_ADDR_BIT <= 32 ? "08l" : "016l";
printf_filtered ("\t`%s', ", bfd_get_filename (abfd));
wrap_here (" ");
@@ -558,11 +559,11 @@ print_section_info (struct target_ops *t
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%s", local_hex_string_custom (p->addr, fmt));
+ printf_filtered (" - %s", local_hex_string_custom (p->endaddr, fmt));
if (info_verbose)
printf_filtered (" @ %s",
- local_hex_string_custom ((unsigned long) p->the_bfd_section->filepos, "08l"));
+ local_hex_string_custom (p->the_bfd_section->filepos, "08l"));
printf_filtered (" is %s", bfd_section_name (p->bfd, p->the_bfd_section));
if (p->bfd != abfd)
{