* dwarf2read.c (dwarf2_read_addr_index): Fix handling the case where
authorDoug Evans <dje@google.com>
Wed, 12 Sep 2012 18:57:40 +0000 (18:57 +0000)
committerDoug Evans <dje@google.com>
Wed, 12 Sep 2012 18:57:40 +0000 (18:57 +0000)
cu == NULL.

gdb/ChangeLog
gdb/dwarf2read.c

index 037ff2940342e098a5a33f4ed263500bd237a227..1e9b76e3fa1f11d64baabd4411dbf6431b926380 100644 (file)
@@ -1,3 +1,8 @@
+2012-09-12  Doug Evans  <dje@google.com>
+
+       * dwarf2read.c (dwarf2_read_addr_index): Fix handling the case where
+       cu == NULL.
+
 2012-09-11  Doug Evans  <dje@google.com>
 
        * dwarf2read.c (dw2_do_expand_symtabs_matching): Don't examine
index 5541b692b59b52a89ad6eed8744b0fce584c9d21..0009ff810c96e61ba08cc7c802641ef0b4009821 100644 (file)
@@ -13728,8 +13728,9 @@ dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu,
 
      We don't need to read the entire CU(/TU).
      We just need the header and top level die.
+
      IWBN to use the aging mechanism to let us lazily later discard the CU.
-     See however init_cutu_and_read_dies_simple.  */
+     For now we skip this optimization.  */
 
   if (cu != NULL)
     {
@@ -13740,8 +13741,10 @@ dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu,
     {
       struct dwarf2_read_addr_index_data aidata;
 
-      init_cutu_and_read_dies_simple (per_cu, dwarf2_read_addr_index_reader,
-                                     &aidata);
+      /* Note: We can't use init_cutu_and_read_dies_simple here,
+        we need addr_base.  */
+      init_cutu_and_read_dies (per_cu, NULL, 0, 0,
+                              dwarf2_read_addr_index_reader, &aidata);
       addr_base = aidata.addr_base;
       addr_size = aidata.addr_size;
     }