This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Fix PR19927: Avoid unwinder recursion if sniffer uses calls parse_and_eval
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Mon, 5 Sep 2016 18:48:17 +0100
- Subject: Re: [PATCH] Fix PR19927: Avoid unwinder recursion if sniffer uses calls parse_and_eval
- Authentication-results: sourceware.org; auth=none
- References: <1471977949-10539-1-git-send-email-palves@redhat.com>
On 08/23/2016 07:45 PM, Pedro Alves wrote:
>
> gdb/ChangeLog:
> 2016-08-23 Pedro Alves <palves@redhat.com>
>
> PR backtrace/19927
> * frame.c (get_frame_id): Compute the frame id if not computed
> yet.
> (unwind_to_current_frame): Delete.
> (get_current_frame): Use get_prev_frame_always_1 to get the
> current frame and assert that that always succeeds.
> (get_prev_frame_if_no_cycle): Skip cycle detection if returning
> the current frame.
>
> gdb/testsuite/ChangeLog:
> 2016-08-23 Pedro Alves <palves@redhat.com>
>
> PR backtrace/19927
> * gdb.python/py-unwind-maint.exp: Adjust tests to not expect that
> unwinders are immediately called as side effect of "source" or
> "disable unwinder" commands.
I've now pushed this to master, amended to remove the setup_kfail
calls in py-recurse-unwind.exp, with:
diff --git a/gdb/testsuite/gdb.python/py-recurse-unwind.exp b/gdb/testsuite/gdb.python/py-recurse-unwind.exp
index fe17d3f..9629a97 100644
--- a/gdb/testsuite/gdb.python/py-recurse-unwind.exp
+++ b/gdb/testsuite/gdb.python/py-recurse-unwind.exp
@@ -61,7 +61,6 @@ gdb_test_no_output "python TestUnwinder.reset_count()"
# get hung up in potentially infinite recursion when invoking the
# Python-based unwinder.
-setup_kfail "gdb/19927" "*-*-*"
gdb_test_sequence "bt" "backtrace" {
"\\r\\n#0 .* ccc \\(arg=789\\) at "
"\\r\\n#1 .* bbb \\(arg=456\\) at "
@@ -71,5 +70,4 @@ gdb_test_sequence "bt" "backtrace" {
# Test that the python-based unwinder / sniffer was actually called
# during generation of the backtrace.
-setup_kfail "gdb/19927" "*-*-*"
gdb_test "python print(TestUnwinder.count > 0)" "True"