diff options
author | Pedro Alves <palves@redhat.com> | 2013-10-28 16:39:06 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2013-10-28 16:46:23 +0000 |
commit | fcf3daefe6e48a4f3b802f0adad2a16639cef126 (patch) | |
tree | 3d066b26fb6496fd6e237ba2697f5ed4d28c915e | |
parent | c447ac0bfb51568d4c239dd11e016dc0281ee358 (diff) | |
download | gdb-fcf3daefe6e48a4f3b802f0adad2a16639cef126.zip gdb-fcf3daefe6e48a4f3b802f0adad2a16639cef126.tar.gz gdb-fcf3daefe6e48a4f3b802f0adad2a16639cef126.tar.bz2 |
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 <palves@redhat.com>
* 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.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | 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 <palves@redhat.com> + * 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 <palves@redhat.com> + * 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) |