From: John Gilmore Date: Sat, 28 Sep 1991 11:26:43 +0000 (+0000) Subject: * infrun.c (wait_for_inferior): Don't check if the PC is in a X-Git-Tag: gdb-4_18~23618 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b7f81b5781a5288094865e02e029bc72cb67fe27;p=platform%2Fupstream%2Fbinutils.git * infrun.c (wait_for_inferior): Don't check if the PC is in a call_dummy if we were stopped by a random signal that is being passed to the program. This produced wierd results when calling functions in the inferior and signals (e.g. SIGALRM) were in use. --- diff --git a/gdb/infrun.c b/gdb/infrun.c index 8bf50ec..e81c1fd 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -1005,6 +1005,11 @@ wait_for_inferior () if we took it away. */ else if (printed) target_terminal_inferior (); + + /* Note that virtually all the code below does `if !random_signal'. + Perhaps this code should end with a goto or continue. At least + one (now fixed) bug was caused by this -- a !random_signal was + missing in one of the tests below. */ } /* Handle cases caused by hitting a breakpoint. */ @@ -1066,7 +1071,8 @@ wait_for_inferior () /* If this is the breakpoint at the end of a stack dummy, just stop silently. */ - if (PC_IN_CALL_DUMMY (stop_pc, stop_sp, stop_frame_address)) + if (!random_signal + && PC_IN_CALL_DUMMY (stop_pc, stop_sp, stop_frame_address)) { stop_print_frame = 0; stop_stack_dummy = 1;