This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 1/2] avoid infinite loop with bad debuginfo


>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:

>> +	    error (_("infinite loop while fetching a register; "
>> +		     "probably bad debug info"));

Pedro> What swallows this error?

Just getting back to answering this question...

It is caught in dwarf2_tailcall_sniffer_first.  The straightforward idea
here of removing the TRY_CATCH from this function (and fixing up
cleanups in dwarf2_frame_cache) fails because something (I didn't try to
find what) modifies the frame before the sniffer fails; causing
frame_cleanup_after_sniffer to fail an assertion.

This is all moot if I apply your patches in this area, because they move
the call to dwarf2_tailcall_sniffer_first out of the spot where it can
cause trouble.

Tom


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]