From f6d64e73ff2d60178ea0684ec948a17baf3dcf1c Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Thu, 19 Aug 2010 11:02:06 +0200 Subject: [PATCH] - Fix crash on MI variable calling inferior function (BZ 610986). --- gdb-7.0-upstream.patch | 49 ++++++++++++++++++++++++++++++++++++++++++ gdb.spec | 5 ++++- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/gdb-7.0-upstream.patch b/gdb-7.0-upstream.patch index 669de91..2f2fc2b 100644 --- a/gdb-7.0-upstream.patch +++ b/gdb-7.0-upstream.patch @@ -512,3 +512,52 @@ http://sourceware.org/ml/gdb-cvs/2010-02/msg00142.html public int dothat (int x) { int y = x + 3; System.out.println ("new value is " + y); + + + +https://bugzilla.redhat.com/show_bug.cgi?id=610986 +http://sourceware.org/ml/gdb-cvs/2010-08/msg00112.html + +### src/gdb/ChangeLog 2010/08/18 22:57:45 1.12097 +### src/gdb/ChangeLog 2010/08/19 07:34:26 1.12098 +## -1,3 +1,9 @@ ++2010-08-19 Jan Kratochvil ++ ++ * varobj.c (varobj_create): Replace variable old_fi with old_id, ++ initialize it by null_frame_id, wrap its usage by get_frame_id, ++ frame_id_p and frame_find_by_id. ++ + 2010-08-18 Tom Tromey + + PR python/11900: +--- src/gdb/varobj.c 2010/08/06 14:17:56 1.159 ++++ src/gdb/varobj.c 2010/08/19 07:34:27 1.160 +@@ -524,7 +524,7 @@ varobj_create (char *objname, + { + struct varobj *var; + struct frame_info *fi; +- struct frame_info *old_fi = NULL; ++ struct frame_id old_id = null_frame_id; + struct block *block; + struct cleanup *old_chain; + +@@ -611,7 +611,7 @@ + + var->root->frame = get_frame_id (fi); + var->root->thread_id = pid_to_thread_id (inferior_ptid); +- old_fi = get_selected_frame (NULL); ++ old_id = get_frame_id (get_selected_frame (NULL)); + select_frame (fi); + } + +@@ -639,8 +639,8 @@ + var->root->rootvar = var; + + /* Reset the selected frame */ +- if (old_fi != NULL) +- select_frame (old_fi); ++ if (frame_id_p (old_id)) ++ select_frame (frame_find_by_id (old_id)); + } + + /* If the variable object name is null, that means this diff --git a/gdb.spec b/gdb.spec index 25bc51d..444075b 100644 --- a/gdb.spec +++ b/gdb.spec @@ -36,7 +36,7 @@ Version: 7.0.1 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 49%{?_with_upstream:.upstream}%{dist} +Release: 50%{?_with_upstream:.upstream}%{dist} License: GPLv3+ Group: Development/Debuggers @@ -1108,6 +1108,9 @@ fi %endif %changelog +* Thu Aug 19 2010 Jan Kratochvil - 7.0.1-50.fc12 +- Fix crash on MI variable calling inferior function (BZ 610986). + * Tue Jul 20 2010 Jan Kratochvil - 7.0.1-49.fc12 - Fix prelinked executables with sepdebug and copy relocations (BZ 614659). - [delayed-symfile] Fix a backtrace regression on CFIs without DIE (BZ 614604).