From fcf3daefe6e48a4f3b802f0adad2a16639cef126 Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Mon, 28 Oct 2013 16:39:06 +0000 Subject: infrun.c:handle_inferior_event: Move process_event_stop_test goto label. We only ever call "goto process_event_stop_test;" right after checking that ecs->random_signal is clear. The code at the process_event_stop_test label looks like: /* For the program's own signals, act according to the signal handling tables. */ if (ecs->random_signal) { ... random signal handling ... return; } else { ... the stop tests that actually matter for the goto callers. } So this moves the label into the else branch. It'll make converting process_event_stop_test into a function a bit clearer. gdb/ 2013-10-28 Pedro Alves * infrun.c (handle_inferior_event): Move process_event_stop_test goto label to the else branch of the ecs->random_signal check, along with FRAME and GDBARCH re-fetching. --- gdb/ChangeLog | 6 ++++++ gdb/infrun.c | 14 +++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index baf9a11..26f749c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2013-10-28 Pedro Alves + * infrun.c (handle_inferior_event): Move process_event_stop_test + goto label to the else branch of the ecs->random_signal check, + along with FRAME and GDBARCH re-fetching. + +2013-10-28 Pedro Alves + * infrun.c (switch_back_to_stepped_thread): New function, factored out from handle_inferior_event. (handle_inferior_event): Adjust to call diff --git a/gdb/infrun.c b/gdb/infrun.c index 0da90ec..4f22456 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4288,13 +4288,6 @@ Cannot fill $_exitsignal with the correct signal number.\n")); ecs->event_thread->suspend.stop_signal = GDB_SIGNAL_TRAP; } -process_event_stop_test: - - /* Re-fetch current thread's frame in case we did a - "goto process_event_stop_test" above. */ - frame = get_current_frame (); - gdbarch = get_frame_arch (frame); - /* For the program's own signals, act according to the signal handling tables. */ @@ -4417,6 +4410,13 @@ process_event_stop_test: CORE_ADDR jmp_buf_pc; struct bpstat_what what; +process_event_stop_test: + + /* Re-fetch current thread's frame in case we did a + "goto process_event_stop_test" above. */ + frame = get_current_frame (); + gdbarch = get_frame_arch (frame); + what = bpstat_what (ecs->event_thread->control.stop_bpstat); if (what.call_dummy) -- cgit v1.1