This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 1/2] avoid infinite loop with bad debuginfo
- From: Tom Tromey <tromey at redhat dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 19 Nov 2013 08:43:23 -0700
- Subject: Re: [PATCH 1/2] avoid infinite loop with bad debuginfo
- Authentication-results: sourceware.org; auth=none
- References: <1384375873-32160-1-git-send-email-tromey at redhat dot com> <1384375873-32160-2-git-send-email-tromey at redhat dot com> <52850730 dot 1060109 at redhat dot com> <87d2lxpo1l dot fsf at fleche dot redhat dot com> <528B7F15 dot 7040605 at redhat dot com>
>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
Pedro> Hmm, I don't think that's the same issue. I'm just talking about
Pedro> something like moving the frame_id_eq check to the end of
Pedro> get_prev_frame_1, after calling get_prev_frame_raw. Something
Pedro> like:
Ok, I see now.
I think the issue is moot because your dwarf2_frame_cache-recursion
branch makes the problem disappear, and because the problem, as I
understand it, is that the DWARF unwinding code violates the unwinder
contract in a subtle way (this is what your patch fixes).
That said, even once your change is in, I think both of these patches
should go in. Patch #1 still prevents an infinite loop -- I can
probably find another test case -- and patch #2 seems like a
straightforward correctness fix.
I'll fix up the tests and see what happens.
Tom