aboutsummaryrefslogtreecommitdiff
path: root/gdb/symfile.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/symfile.c')
-rw-r--r--gdb/symfile.c20
1 files changed, 10 insertions, 10 deletions
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;
}