aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/infrun.c14
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)