From: Nick Clifton Date: Sun, 6 Sep 1998 23:17:06 +0000 (+0000) Subject: do not try to dump empty sections X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=c80944f2a5613b1071a6485f9a9466d26c6a8777;p=deliverable%2Fbinutils-gdb.git do not try to dump empty sections --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 4eea91e987..fa229f6a82 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +Sun Sep 6 16:15:47 1998 Nick Clifton + + * readelf.c (process_section_contents): Do not try to dump empty + sections. + Sat Sep 5 19:17:10 1998 Mumit Khan * dlltool.c (scan_all_symbols): Don't re-export symbols exported diff --git a/binutils/readelf.c b/binutils/readelf.c index 698cdb4091..1a80e5c2b9 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -1023,6 +1023,7 @@ struct option options [] = {"sections", no_argument, 0, 'S'}, {"section-headers", no_argument, 0, 'S'}, {"symbols", no_argument, 0, 's'}, + {"syms", no_argument, 0, 's'}, {"relocs", no_argument, 0, 'r'}, {"dynamic", no_argument, 0, 'd'}, {"version-info", no_argument, 0, 'V'}, @@ -1051,7 +1052,7 @@ usage () fprintf (stdout, _(" -S or --section-headers or --sections\n")); fprintf (stdout, _(" Display the sections' header\n")); fprintf (stdout, _(" -e or --headers Equivalent to: -h -l -S\n")); - fprintf (stdout, _(" -s or --symbols Display the symbol table\n")); + fprintf (stdout, _(" -s or --syms or --symbols Display the symbol table\n")); fprintf (stdout, _(" -r or --relocs Display the relocations (if present)\n")); fprintf (stdout, _(" -d or --dynamic Display the dynamic segment (if present)\n")); fprintf (stdout, _(" -V or --version-info Display the version sections (if present)\n")); @@ -3200,9 +3201,16 @@ process_section_contents (file) unsigned char * data; char * start; - printf (_("\nHex dump of section '%s':\n"), SECTION_NAME (section)); - bytes = section->sh_size; + + if (bytes == 0) + { + printf (_("\nSection %d has no data to dump.\n"), i); + continue; + } + else + printf (_("\nHex dump of section '%s':\n"), SECTION_NAME (section)); + addr = section->sh_addr; GET_DATA_ALLOC (section->sh_offset, bytes, start, char *,