From c80944f2a5613b1071a6485f9a9466d26c6a8777 Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Sun, 6 Sep 1998 23:17:06 +0000 Subject: [PATCH] do not try to dump empty sections --- binutils/ChangeLog | 5 +++++ binutils/readelf.c | 14 +++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 4eea91e..fa229f6 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 698cdb4..1a80e5c 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 *, -- 2.7.4