diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2024-08-13 21:23:20 +0100 |
---|---|---|
committer | Alex Bennée <alex.bennee@linaro.org> | 2024-08-16 14:04:19 +0100 |
commit | 9dbab31d9eb710b433f93e9e35962fbfd29f4c3f (patch) | |
tree | 6e67a45ed855a8c8a256dbcaeffeda1ff77d5005 /replay | |
parent | 4926b6e6444ffcfcea6f60b855debca88bf9db2e (diff) |
replay: allow runstate shutdown->running when replaying trace
When replaying a trace, it is possible to go from shutdown to running
with a reverse-debugging step. This can be useful if the problem being
debugged triggers a reset or shutdown.
This can be tested by making a recording of a machine that shuts down,
then using -action shutdown=pause when replaying it. Continuing to the
end of the trace then reverse-stepping in gdb crashes due to invalid
runstate transition.
Just permitting the transition seems to be all that's necessary for
reverse-debugging to work well in such a state.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Pavel Dovgalyuk <Pavel.Dovgalyuk@ispras.ru>
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Message-Id: <20240813050638.446172-5-npiggin@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20240813202329.1237572-13-alex.bennee@linaro.org>
Diffstat (limited to 'replay')
-rw-r--r-- | replay/replay.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/replay/replay.c b/replay/replay.c index a2c576c16e..b8564a4813 100644 --- a/replay/replay.c +++ b/replay/replay.c @@ -385,6 +385,8 @@ static void replay_enable(const char *fname, int mode) replay_fetch_data_kind(); } + runstate_replay_enable(); + replay_init_events(); } |