aboutsummaryrefslogtreecommitdiff
path: root/gdb/ChangeLog
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2021-06-01 14:22:20 -0700
committerJohn Baldwin <jhb@FreeBSD.org>2021-06-01 14:22:20 -0700
commitaeeb758df5a61a323de0095c28b3de1ee7b00db3 (patch)
treed94fb1f1b24af5434a2a3e98a2860e217a2633ae /gdb/ChangeLog
parent906f72d454d159f0a116d0a1039616361d2160cb (diff)
downloadgdb-aeeb758df5a61a323de0095c28b3de1ee7b00db3.zip
gdb-aeeb758df5a61a323de0095c28b3de1ee7b00db3.tar.gz
gdb-aeeb758df5a61a323de0095c28b3de1ee7b00db3.tar.bz2
Conditionally restore displaced stepping state after fork.
There is no default method for gdbarch_displaced_step_restore_all_in_ptid, so calling it unconditionally for fork events triggered an assertion failure on platforms that do not support displaced stepping. To fix, only invoke the method if the gdbarch supports displaced stepping. Note that not all gdbarches support both displaced stepping and fork events, so gdbarch validation does not require gdbarch_displaced_step_restore_all_in_ptid for any gdbarch supporting displaced stepping. However, the internal assertion in gdbarch_displaced_step_restore_all_in_ptid should catch any gdbarches which do support both but fail to provide this method. gdb/ChangeLog: * infrun.c (handle_inferior_event): Only call gdbarch_displaced_step_restore_all_in_ptid if gdbarch_supports_displaced_stepping is true.
Diffstat (limited to 'gdb/ChangeLog')
-rw-r--r--gdb/ChangeLog6
1 files changed, 6 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 1ca03b4..6e5e88f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,9 @@
+2021-06-01 John Baldwin <jhb@FreeBSD.org>
+
+ * infrun.c (handle_inferior_event): Only call
+ gdbarch_displaced_step_restore_all_in_ptid if
+ gdbarch_supports_displaced_stepping is true.
+
2021-06-01 Tom Tromey <tromey@adacore.com>
* Makefile.in (all-data-directory): Remove.