This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH 4/5] remove section-group code from check_section


 libdw/ChangeLog         |    5 +++++
 libdw/dwarf_begin_elf.c |   16 +++-------------
 2 files changed, 8 insertions(+), 13 deletions(-)

diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index c3dbda9..60f9ae0 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,5 +1,10 @@
 2012-03-20  Tom Tromey  <tromey@redhat.com>
 
+	* dwarf_begin_elf.c (check_section): Remove 'inscngrp' argument.
+	(global_read, scngrp_read): Update.
+
+2012-03-20  Tom Tromey  <tromey@redhat.com>
+
 	* libdwP.h (struct Dwarf) [n_sections]: New field.
 	[sectiondata]: Change type.
 	* dwarf_end.c (__libdw_free_zdata): Use n_sections.
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index def8ed6..4a726ce 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -88,7 +88,7 @@ static const char dwarf_scnnames[IDX_last][17] =
 
 
 static Dwarf *
-check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
+check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn)
 {
   GElf_Shdr shdr_mem;
   GElf_Shdr *shdr;
@@ -106,16 +106,6 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
   if (unlikely (shdr->sh_type == SHT_NOBITS))
     return result;
 
-  /* Make sure the section is part of a section group only iff we
-     really need it.  If we are looking for the global (= non-section
-     group debug info) we have to ignore all the info in section
-     groups.  If we are looking into a section group we cannot look at
-     a section which isn't part of the section group.  */
-  if (! inscngrp && (shdr->sh_flags & SHF_GROUP) != 0)
-    /* Ignore the section.  */
-    return result;
-
-
   /* We recognize the DWARF section by their names.  This is not very
      safe and stable but the best we can do.  */
   const char *scnname = elf_strptr (result->elf, ehdr->e_shstrndx,
@@ -255,7 +245,7 @@ global_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr)
   Elf_Scn *scn = NULL;
 
   while (result != NULL && (scn = elf_nextscn (elf, scn)) != NULL)
-    result = check_section (result, ehdr, scn, false);
+    result = check_section (result, ehdr, scn);
 
   return valid_p (result);
 }
@@ -294,7 +284,7 @@ scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp)
 	  return NULL;
 	}
 
-      result = check_section (result, ehdr, scn, true);
+      result = check_section (result, ehdr, scn);
       if (result == NULL)
 	break;
     }
-- 
1.7.7.6


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]