diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/infrun.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 977590a..a43e36e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2014-10-15 Andreas Arnez <arnez@linux.vnet.ibm.com> + + * gdb/infrun.c (process_event_stop_test): Apply + gdbarch_addr_bits_remove to longjmp resume address. + 2014-10-15 Pedro Alves <palves@redhat.com> * regformats/microblaze.dat: Delete file. diff --git a/gdb/infrun.c b/gdb/infrun.c index 5536350..6132274 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -4596,7 +4596,10 @@ process_event_stop_test (struct execution_control_state *ecs) is the third argument to the probe. */ arg_value = probe_safe_evaluate_at_pc (frame, 2); if (arg_value) - jmp_buf_pc = value_as_address (arg_value); + { + jmp_buf_pc = value_as_address (arg_value); + jmp_buf_pc = gdbarch_addr_bits_remove (gdbarch, jmp_buf_pc); + } else if (!gdbarch_get_longjmp_target_p (gdbarch) || !gdbarch_get_longjmp_target (gdbarch, frame, &jmp_buf_pc)) |