From dc75acf5a3653c9945ee390d239058c2df0ecddd Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Tue, 12 Jul 2011 21:12:56 +0000 Subject: [PATCH] gdb/ Fix occasional crash of CTRL-C during DWARF read in. * dwarf2read.c (dwarf2_mark_helper): Return on NULL CU. --- gdb/ChangeLog | 5 +++++ gdb/dwarf2read.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1f518ca0d63..d765ba7e4a4 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Jan Kratochvil + + Fix occasional crash of CTRL-C during DWARF read in. + * dwarf2read.c (dwarf2_mark_helper): Return on NULL CU. + 2011-07-06 Joel Brobecker * version.in: Set version to 7.2.91.20110706-cvs. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 7a2632b79b2..5bc9d0edc92 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -15277,6 +15277,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; -- 2.47.2