diff options
author | Pedro Alves <palves@redhat.com> | 2016-04-13 14:34:00 +0100 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2016-04-13 14:34:00 +0100 |
commit | 3a00c80277a54abe0b286a6e8babc8fe50120205 (patch) | |
tree | c8747b5a7de51c8d1f402f8bd8840c302ae03493 /gdb/gdbserver | |
parent | e26b7e41652e288dfdb4c48121bba470c4774150 (diff) | |
download | gdb-3a00c80277a54abe0b286a6e8babc8fe50120205.zip gdb-3a00c80277a54abe0b286a6e8babc8fe50120205.tar.gz gdb-3a00c80277a54abe0b286a6e8babc8fe50120205.tar.bz2 |
Fix PR remote/19840: gdb crashes on reverse-stepi
Reverse debugging against a remote target that does reverse debugging
itself (with the bs/bc packets) always trips on:
(gdb) target remote localhost:...
(gdb) reverse-stepi
../../gdb/target.c:602: internal-error: default_execution_direction: to_execution_direction must be implemented for reverse async
I missed adding a to_execution_direction method to remote.c in commit
3223143295b5 (Adds target_execution_direction to make record targets
support async mode), GDB 7.4 time. Later, GDB 7.8 switched to
target-async on by default, making the regression user-visible by
default too.
Fix is simply to add the missing to_execution_direction implementation
to target remote.
Tested by Andi Kleen against Simics.
gdb/ChangeLog:
2016-04-13 Pedro Alves <palves@redhat.com>
PR remote/19840
* remote.c (struct remote_state) <last_resume_exec_dir>: New
field.
(new_remote_state): Default last_resume_exec_dir to EXEC_FORWARD.
(remote_open_1): Reset last_resume_exec_dir to EXEC_FORWARD.
(remote_resume): Store the last execution direction.
(remote_execution_direction): New function.
(init_remote_ops): Install it as to_execution_direction target_ops
method.
Diffstat (limited to 'gdb/gdbserver')
0 files changed, 0 insertions, 0 deletions