aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2010-09-08 19:49:28 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2010-09-08 19:49:28 +0000
commit824308520bc62a9a5f72d89c7c821183e34f39f6 (patch)
tree8b9f52d18cd9a64061a91366f5a4d4412b031a81
parentc767944bf25ae52241366d9bdc7ba14b493f17eb (diff)
downloadfsf-binutils-gdb-824308520bc62a9a5f72d89c7c821183e34f39f6.zip
fsf-binutils-gdb-824308520bc62a9a5f72d89c7c821183e34f39f6.tar.gz
fsf-binutils-gdb-824308520bc62a9a5f72d89c7c821183e34f39f6.tar.bz2
gdb/
* dwarf2read.c (dwarf2_read_index): Return on no SEC_HAS_CONTENTS.
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/dwarf2read.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 45eb3e7..71a63f0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,7 @@
+2010-09-08 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * dwarf2read.c (dwarf2_read_index): Return on no SEC_HAS_CONTENTS.
+
2010-09-08 Daniel Jacobowitz <dan@codesourcery.com>
* dwarf2read.c (read_structure_type): Move processing of
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index b7d3b21..1379f72 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -1904,6 +1904,13 @@ dwarf2_read_index (struct objfile *objfile)
if (dwarf2_per_objfile->gdb_index.asection == NULL
|| dwarf2_per_objfile->gdb_index.size == 0)
return 0;
+
+ /* Older elfutils strip versions could keep the section in the main
+ executable while splitting it for the separate debug info file. */
+ if ((bfd_get_file_flags (dwarf2_per_objfile->gdb_index.asection)
+ & SEC_HAS_CONTENTS) == 0)
+ return 0;
+
dwarf2_read_section (objfile, &dwarf2_per_objfile->gdb_index);
addr = dwarf2_per_objfile->gdb_index.buffer;