This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] exec.c: print_section_info() format string fixes


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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]