yann@570: Original patch from gentoo: gentoo/src/patchsets/gdb/6.7.1/50_all_gdb-deleted-children.patch yann@570: -= BEGIN original header =- yann@570: http://bugs.gentoo.org/210636 yann@570: http://sourceware.org/ml/gdb-patches/2007-11/msg00136.html yann@570: yann@570: 2007-11-07 Vladimir Prus yann@570: yann@570: Fix crash when a variable object being deleted yann@570: has any of its children deleted previously. yann@570: yann@570: * varobj.c (delete_variable_1): Don't recurse yann@570: into deleted children. yann@570: yann@570: -= END original header =- yann@570: diff -durN gdb-6.7.1.orig/gdb/varobj.c gdb-6.7.1/gdb/varobj.c yann@570: --- gdb-6.7.1.orig/gdb/varobj.c 2007-08-31 21:01:17.000000000 +0200 yann@570: +++ gdb-6.7.1/gdb/varobj.c 2008-06-17 23:27:45.000000000 +0200 yann@570: @@ -1295,6 +1295,8 @@ yann@570: for (i = 0; i < VEC_length (varobj_p, var->children); ++i) yann@570: { yann@570: varobj_p child = VEC_index (varobj_p, var->children, i); yann@570: + if (!child) yann@570: + continue; yann@570: if (!remove_from_parent_p) yann@570: child->parent = NULL; yann@570: delete_variable_1 (resultp, delcountp, child, 0, only_children_p);