gdb/ Fix occasional crash of CTRL-C during DWARF read in. * dwarf2read.c (dwarf2_mark_helper): Return on NULL CU.
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dffd058..60452ba 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog
@@ -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.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index a5bf1f7..fde5b6a 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c
@@ -15455,6 +15455,13 @@ 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;