[PATCH] exec.c: print_section_info() format string fixes
Andrew Cagney
ac131313@redhat.com
Fri Jan 3 21:38:00 GMT 2003
> On Dec 20, 6:51pm, Andrew Cagney wrote:
>
>
>> I don't think the problem is fixed, just improved. The 08l / 016l test
>> assumes that the address is <= 64 bits. Hence, I think some sort of
>> FIXME should remain [...]
>
>
> With regard to the FIXME comments, I've just committed the following:
>
> * exec.c (print_section_info): Add FIXME comments regarding format
> string choices.
thanks!
Andrew
> Index: exec.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/exec.c,v
> retrieving revision 1.25
> diff -u -p -r1.25 exec.c
> --- exec.c 19 Dec 2002 19:02:57 -0000 1.25
> +++ exec.c 23 Dec 2002 23:34:24 -0000
> @@ -545,6 +545,7 @@ void
> print_section_info (struct target_ops *t, bfd *abfd)
> {
> struct section_table *p;
> + /* FIXME: "016l" is not wide enough when TARGET_ADDR_BIT > 64. */
> char *fmt = TARGET_ADDR_BIT <= 32 ? "08l" : "016l";
>
> printf_filtered ("\t`%s', ", bfd_get_filename (abfd));
> @@ -560,6 +561,12 @@ print_section_info (struct target_ops *t
> {
> printf_filtered ("\t%s", local_hex_string_custom (p->addr, fmt));
> printf_filtered (" - %s", local_hex_string_custom (p->endaddr, fmt));
> +
> + /* FIXME: A format of "08l" is not wide enough for file offsets
> + larger than 4GB. OTOH, making it "016l" isn't desirable either
> + since most output will then be much wider than necessary. It
> + may make sense to test the size of the file and choose the
> + format string accordingly. */
> if (info_verbose)
> printf_filtered (" @ %s",
> local_hex_string_custom (p->the_bfd_section->filepos, "08l"));
>
>
More information about the Gdb-patches
mailing list