From 012836ea499d870d8d52a6b4dea3c9b3e8eb85c9 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Wed, 17 Feb 2010 20:54:52 +0000 Subject: [PATCH] gdb/ * symfile.c (build_section_addr_info_from_objfile): Include sections only if they are SEC_ALLOC or SEC_LOAD. --- gdb/ChangeLog | 5 +++++ gdb/symfile.c | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4605fc1..70d1c20 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 ca4d788..6f455a2 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; } -- 2.7.4