From: Jan Kratochvil Date: Wed, 17 Feb 2010 20:54:52 +0000 (+0000) Subject: gdb/ X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=012836ea499d870d8d52a6b4dea3c9b3e8eb85c9;p=binutils-gdb.git gdb/ * symfile.c (build_section_addr_info_from_objfile): Include sections only if they are SEC_ALLOC or SEC_LOAD. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4605fc1b7ff..70d1c205c9d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2010-02-17 Jan Kratochvil + + * symfile.c (build_section_addr_info_from_objfile): Include sections + only if they are SEC_ALLOC or SEC_LOAD. + 2010-02-17 H.J. Lu PR shlibs/11293 diff --git a/gdb/symfile.c b/gdb/symfile.c index ca4d788f37a..6f455a21865 100644 --- a/gdb/symfile.c +++ b/gdb/symfile.c @@ -371,16 +371,16 @@ build_section_addr_info_from_objfile (const struct objfile *objfile) mask = ((CORE_ADDR) 1 << addr_bit) - 1; sap = alloc_section_addr_info (objfile->num_sections); - for (i = 0, sec = objfile->obfd->sections; - i < objfile->num_sections; - i++, sec = sec->next) - { - gdb_assert (sec != NULL); - sap->other[i].addr = (bfd_get_section_vma (objfile->obfd, sec) - + objfile->section_offsets->offsets[i]) & mask; - sap->other[i].name = xstrdup (bfd_get_section_name (objfile->obfd, sec)); - sap->other[i].sectindex = sec->index; - } + for (i = 0, sec = objfile->obfd->sections; sec != NULL; sec = sec->next) + if (bfd_get_section_flags (objfile->obfd, sec) & (SEC_ALLOC | SEC_LOAD)) + { + sap->other[i].addr = (bfd_get_section_vma (objfile->obfd, sec) + + objfile->section_offsets->offsets[i]) & mask; + sap->other[i].name = xstrdup (bfd_get_section_name (objfile->obfd, + sec)); + sap->other[i].sectindex = sec->index; + i++; + } return sap; }