diff options
author | John Baldwin <jhb@FreeBSD.org> | 2021-06-01 14:22:20 -0700 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2021-06-01 14:22:20 -0700 |
commit | aeeb758df5a61a323de0095c28b3de1ee7b00db3 (patch) | |
tree | d94fb1f1b24af5434a2a3e98a2860e217a2633ae /gdb/ChangeLog | |
parent | 906f72d454d159f0a116d0a1039616361d2160cb (diff) | |
download | gdb-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/ChangeLog | 6 |
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. |