aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2015-02-10 19:13:31 +0000
committerPedro Alves <palves@redhat.com>2015-02-10 19:13:31 +0000
commitb052c4fbf5e64a2e96452642adf433f60b185245 (patch)
tree3c82670d102425aa50b6b1a2888825c1414aa521 /gdb/ChangeLog
parentb05ec7a53f8a3b0cbcb2b42772ca0e70a319d2ab (diff)
downloadgdb-b052c4fbf5e64a2e96452642adf433f60b185245.zip
gdb-b052c4fbf5e64a2e96452642adf433f60b185245.tar.gz
gdb-b052c4fbf5e64a2e96452642adf433f60b185245.tar.bz2
displaced_step_fixup may access memory from the wrong inferior/thread
displaced_step_fixup takes an thread to work with, as argument. OTOH, gdbarch_displaced_step_fixup fixes up the current thread. The former calls the latter without making sure the current thread is the one that was passed in. If it is not, then gdbarch_displaced_step_fixup may e.g., try reading from a running thread, which doesn't work on some targets, or worse, read memory from the wrong inferior and succeed. This is mostly a latent problem currently, as non-stop switches the current thread to the event thread early in fetch_inferior_event. Tested on x86_64 Fedora 20. gdb/ 2015-02-10 Pedro Alves <palves@redhat.com> * infrun.c (displaced_step_fixup): Switch to the event thread before calling gdbarch_displaced_step_fixup.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog5
1 files changed, 5 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 08575ff..58df0ca 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2015-02-10 Pedro Alves <palves@redhat.com>
+
+ * infrun.c (displaced_step_fixup): Switch to the event thread
+ before calling gdbarch_displaced_step_fixup.
+
2015-02-10 Antoine Tremblay <antoine.tremblay@ericsson.com>
* MAINTAINERS (Write After Approval): Add Antoine Tremblay.