[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