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