From: Nick Clifton Date: Tue, 25 Jul 2017 08:35:36 +0000 (+0100) Subject: Stop readelf from returning an error status if asked to dump an emoty section. X-Git-Tag: users/ARM/embedded-binutils-master-2017q4~1557 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c6b78c965a96fb152fbd58926edccb5dee2707a5;p=external%2Fbinutils.git Stop readelf from returning an error status if asked to dump an emoty section. PR 21820 * readelf.c (dump_section_as_strings): Do not fail if the section was empty. (dump_section_as_bytes): Likewise. --- diff --git a/binutils/readelf.c b/binutils/readelf.c index 50055a9..67c44f5 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -12760,7 +12760,7 @@ get_section_contents (Elf_Internal_Shdr * section, FILE * file) if (num_bytes == 0 || section->sh_type == SHT_NOBITS) { - printf (_("\nSection '%s' has no data to dump.\n"), + printf (_("Section '%s' has no data to dump.\n"), printable_section_name (section)); return NULL; } @@ -12834,10 +12834,11 @@ dump_section_as_strings (Elf_Internal_Shdr * section, FILE * file) unsigned char * start; bfd_boolean some_strings_shown; - real_start = start = (unsigned char *) get_section_contents (section, - file); + real_start = start = (unsigned char *) get_section_contents (section, file); if (start == NULL) - return FALSE; + /* PR 21820: Do not fail if the section was empty. */ + return (section->sh_size == 0 || section->sh_type == SHT_NOBITS) ? TRUE : FALSE; + num_bytes = section->sh_size; printf (_("\nString dump of section '%s':\n"), printable_section_name (section)); @@ -12983,7 +12984,8 @@ dump_section_as_bytes (Elf_Internal_Shdr * section, real_start = start = (unsigned char *) get_section_contents (section, file); if (start == NULL) - return FALSE; + /* PR 21820: Do not fail if the section was empty. */ + return (section->sh_size == 0 || section->sh_type == SHT_NOBITS) ? TRUE : FALSE; section_size = section->sh_size;