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.
This commit is contained in:
Nick Clifton 2017-07-25 09:35:36 +01:00
parent d4aaa2a074
commit c6b78c965a

View File

@ -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;