[regression] gdb 7.11 breaks rr

Kyle Huey <[email protected]>
Newsgroups gmane.comp.gdb.devel
Message-ID <CAP045Ao2usw07e0iUJ7jfYp8EHCBKBTw6UvGZFVDrD-0Xq54JA@mail.gmail.com>
(Resending because the gdb list rejects HTML mail, sorry for duplicates)

Steps to reproduce:

1. Clone rr from https://github.com/mozilla/rr.git
2. Build rr rev 8566e3038892
3. ./bin/rr record ./bin/reverse_continue_process_signal
4. ./bin/rr replay -d /path/to/gdb-7.11
5. c
6. Once, the program has reached the SIGKILL, b 22
7. rc

Instead of reversing to the fork on line 22, rr will stop again at the
SIGKILL.

Beginning with [0] gdb seems to forget which direction execution is heading
in when a signal is reported by the gdb server.  When gdb resumes execution
after deciding to ignore the signal it sends a vCont instead of a bc to the
gdb server, causing rr to execute forwards again.

This was fixed after the release of gdb 7.11 by [1]. I verified that
cherry-picking this commit on top of the gdb-7.11-release tag also fixes
rr.  Could we get this commit backported for a 7.11.1?  rr's reverse
execution features are largely unusable with complex programs (e.g.
Firefox) because of this bug.

Thanks,

- Kyle

[0]
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=0b333c5e7d6c3fc65d37ffa11bd21ba52c4adb25
[1]
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=3a00c80277a54abe0b286a6e8babc8fe50120205
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.