Remove remnants of partial DIEs from DWARF reader

Message ID 20240204191646.4008184-1-tom@tromey.com
State New
Headers
Series Remove remnants of partial DIEs from DWARF reader |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Testing passed

Commit Message

Tom Tromey Feb. 4, 2024, 7:16 p.m. UTC
  When rewriting the DWARF scanner, I forgot to remove
dwarf2_cu::load_all_dies and dwarf2_cu::partial_dies.  This patch
corrects the oversight and fixes up a couple other spots that mention
partial DIEs, which no longer exist.
---
 gdb/dwarf2/cu.c   |  3 +--
 gdb/dwarf2/cu.h   | 14 ++------------
 gdb/dwarf2/read.c |  5 ++---
 3 files changed, 5 insertions(+), 17 deletions(-)
  

Comments

Tom de Vries Feb. 5, 2024, 4:22 a.m. UTC | #1
On 2/4/24 20:16, Tom Tromey wrote:
> When rewriting the DWARF scanner, I forgot to remove
> dwarf2_cu::load_all_dies and dwarf2_cu::partial_dies.  This patch
> corrects the oversight and fixes up a couple other spots that mention
> partial DIEs, which no longer exist.

LGTM.

Approved-By: Tom de Vries <tdevries@suse.de>

Thanks,
- Tom

> ---
>   gdb/dwarf2/cu.c   |  3 +--
>   gdb/dwarf2/cu.h   | 14 ++------------
>   gdb/dwarf2/read.c |  5 ++---
>   3 files changed, 5 insertions(+), 17 deletions(-)
> 
> diff --git a/gdb/dwarf2/cu.c b/gdb/dwarf2/cu.c
> index a1675b0d313..ae46dd2a9b2 100644
> --- a/gdb/dwarf2/cu.c
> +++ b/gdb/dwarf2/cu.c
> @@ -42,8 +42,7 @@ dwarf2_cu::dwarf2_cu (dwarf2_per_cu_data *per_cu,
>       producer_is_clang (false),
>       producer_is_gas_lt_2_38 (false),
>       producer_is_gas_2_39 (false),
> -    processing_has_namespace_info (false),
> -    load_all_dies (false)
> +    processing_has_namespace_info (false)
>   {
>   }
>   
> diff --git a/gdb/dwarf2/cu.h b/gdb/dwarf2/cu.h
> index d14397380de..ad89228ef8d 100644
> --- a/gdb/dwarf2/cu.h
> +++ b/gdb/dwarf2/cu.h
> @@ -136,12 +136,8 @@ struct dwarf2_cu
>        distinguish these in buildsym.c.  */
>     struct pending **list_in_scope = nullptr;
>   
> -  /* Hash table holding all the loaded partial DIEs
> -     with partial_die->offset.SECT_OFF as hash.  */
> -  htab_t partial_dies = nullptr;
> -
> -  /* Storage for things with the same lifetime as this read-in compilation
> -     unit, including partial DIEs.  */
> +  /* Storage for things with the same lifetime as this read-in
> +     compilation unit. */
>     auto_obstack comp_unit_obstack;
>   
>     /* Backlink to our per_cu entry.  */
> @@ -274,12 +270,6 @@ struct dwarf2_cu
>   
>     bool processing_has_namespace_info : 1;
>   
> -  /* This flag will be set when reading partial DIEs if we need to load
> -     absolutely all DIEs for this compilation unit, instead of just the ones
> -     we think are interesting.  It gets set if we look for a DIE in the
> -     hash table and don't find it.  */
> -  bool load_all_dies : 1;
> -
>     /* Get the buildsym_compunit for this CU.  */
>     buildsym_compunit *get_builder ();
>   };
> diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
> index e873d9cc440..c92554c929d 100644
> --- a/gdb/dwarf2/read.c
> +++ b/gdb/dwarf2/read.c
> @@ -25,8 +25,7 @@
>      along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>   
>   /* FIXME: Various die-reading functions need to be more careful with
> -   reading off the end of the section.
> -   E.g., load_partial_dies, read_partial_die.  */
> +   reading off the end of the section.  */
>   
>   #include "defs.h"
>   #include "dwarf2/read.h"
> @@ -21490,7 +21489,7 @@ dwarf2_find_containing_comp_unit (sect_offset sect_off,
>     if (this_cu->is_dwz != offset_in_dwz || this_cu->sect_off > sect_off)
>       {
>         if (low == 0 || this_cu->is_dwz != offset_in_dwz)
> -	error (_("Dwarf Error: could not find partial DIE containing "
> +	error (_("Dwarf Error: could not find CU containing "
>   	       "offset %s [in module %s]"),
>   	       sect_offset_str (sect_off),
>   	       bfd_get_filename (per_bfd->obfd));
  

Patch

diff --git a/gdb/dwarf2/cu.c b/gdb/dwarf2/cu.c
index a1675b0d313..ae46dd2a9b2 100644
--- a/gdb/dwarf2/cu.c
+++ b/gdb/dwarf2/cu.c
@@ -42,8 +42,7 @@  dwarf2_cu::dwarf2_cu (dwarf2_per_cu_data *per_cu,
     producer_is_clang (false),
     producer_is_gas_lt_2_38 (false),
     producer_is_gas_2_39 (false),
-    processing_has_namespace_info (false),
-    load_all_dies (false)
+    processing_has_namespace_info (false)
 {
 }
 
diff --git a/gdb/dwarf2/cu.h b/gdb/dwarf2/cu.h
index d14397380de..ad89228ef8d 100644
--- a/gdb/dwarf2/cu.h
+++ b/gdb/dwarf2/cu.h
@@ -136,12 +136,8 @@  struct dwarf2_cu
      distinguish these in buildsym.c.  */
   struct pending **list_in_scope = nullptr;
 
-  /* Hash table holding all the loaded partial DIEs
-     with partial_die->offset.SECT_OFF as hash.  */
-  htab_t partial_dies = nullptr;
-
-  /* Storage for things with the same lifetime as this read-in compilation
-     unit, including partial DIEs.  */
+  /* Storage for things with the same lifetime as this read-in
+     compilation unit. */
   auto_obstack comp_unit_obstack;
 
   /* Backlink to our per_cu entry.  */
@@ -274,12 +270,6 @@  struct dwarf2_cu
 
   bool processing_has_namespace_info : 1;
 
-  /* This flag will be set when reading partial DIEs if we need to load
-     absolutely all DIEs for this compilation unit, instead of just the ones
-     we think are interesting.  It gets set if we look for a DIE in the
-     hash table and don't find it.  */
-  bool load_all_dies : 1;
-
   /* Get the buildsym_compunit for this CU.  */
   buildsym_compunit *get_builder ();
 };
diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c
index e873d9cc440..c92554c929d 100644
--- a/gdb/dwarf2/read.c
+++ b/gdb/dwarf2/read.c
@@ -25,8 +25,7 @@ 
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* FIXME: Various die-reading functions need to be more careful with
-   reading off the end of the section.
-   E.g., load_partial_dies, read_partial_die.  */
+   reading off the end of the section.  */
 
 #include "defs.h"
 #include "dwarf2/read.h"
@@ -21490,7 +21489,7 @@  dwarf2_find_containing_comp_unit (sect_offset sect_off,
   if (this_cu->is_dwz != offset_in_dwz || this_cu->sect_off > sect_off)
     {
       if (low == 0 || this_cu->is_dwz != offset_in_dwz)
-	error (_("Dwarf Error: could not find partial DIE containing "
+	error (_("Dwarf Error: could not find CU containing "
 	       "offset %s [in module %s]"),
 	       sect_offset_str (sect_off),
 	       bfd_get_filename (per_bfd->obfd));