gdb/
authorJan Kratochvil <jan.kratochvil@redhat.com>
Tue, 12 Jul 2011 20:59:03 +0000 (20:59 +0000)
committerJan Kratochvil <jan.kratochvil@redhat.com>
Tue, 12 Jul 2011 20:59:03 +0000 (20:59 +0000)
Fix occasional crash of CTRL-C during DWARF read in.
* dwarf2read.c (dwarf2_mark_helper): Return on NULL CU.

gdb/ChangeLog
gdb/dwarf2read.c

index dffd058e641ebf15366d2ef3d838d7385e9c2285..60452ba730e490b8519a691ee3fa05b57ec480a1 100644 (file)
@@ -1,3 +1,8 @@
+2011-07-12  Jan Kratochvil  <jan.kratochvil@redhat.com>
+
+       Fix occasional crash of CTRL-C during DWARF read in.
+       * dwarf2read.c (dwarf2_mark_helper): Return on NULL CU.
+
 2011-07-11  Tom Tromey  <tromey@redhat.com>
 
        * regcache.c (struct regcache_descr): Fix typo.
index a5bf1f7eb3fd09d9eb6003fbc4cd8b6ebd396130..fde5b6a1153ea812aa6cfbc82b0ed66b227dcf45 100644 (file)
@@ -15455,6 +15455,13 @@ dwarf2_mark_helper (void **slot, void *data)
   struct dwarf2_per_cu_data *per_cu;
 
   per_cu = (struct dwarf2_per_cu_data *) *slot;
+
+  /* cu->dependencies references may not yet have been ever read if QUIT aborts
+     reading of the chain.  As such dependencies remain valid it is not much
+     useful to track and undo them during QUIT cleanups.  */
+  if (per_cu->cu == NULL)
+    return 1;
+
   if (per_cu->cu->mark)
     return 1;
   per_cu->cu->mark = 1;