From: Nick Clifton Date: Thu, 28 May 2009 11:02:22 +0000 (+0000) Subject: * readelf.c (display_debug_section): Do not display debug sections X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5dff79d83d209d48f13ad385ae8dc3e690bf9295;p=binutils-gdb.git * readelf.c (display_debug_section): Do not display debug sections with the NOBITS section type. --- diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ed09c83fd34..cf3eaecece9 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2009-05-28 Nick Clifton + + * readelf.c (display_debug_section): Do not display debug sections + with the NOBITS section type. + 2009-05-27 Nathan Sidwell * sysdump.c (tab): Use puts rather than two printfs. diff --git a/binutils/readelf.c b/binutils/readelf.c index 30bcf6672b0..4727a840cbc 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -8539,6 +8539,15 @@ display_debug_section (Elf_Internal_Shdr * section, FILE * file) printf (_("\nSection '%s' has no debugging data.\n"), name); return 0; } + if (section->sh_type == SHT_NOBITS) + { + /* There is no point in dumping the contents of a debugging section + which has the NOBITS type - the bits in the file will be random. + This can happen when a file containing a .eh_frame section is + stripped with the --only-keep-debug command line option. */ + printf (_("section '%s' has the NOBITS type - its contents are unreliable.\n"), name); + return 0; + } if (const_strneq (name, ".gnu.linkonce.wi.")) name = ".debug_info";