GDB stub "Stop Reply Packets" for time travel debugging could be improved.
While I did not test this on the latest Git master, I did look at the code and it does not seem to be implemented.
I noticed two small issues with the GDB remote serial protocol.
- The stop reply packet is now
T05thread:p01.01;, the trailing semicolon is not according to the GDB specification. GDB ignores the semicolon, so this does not cause issues. In my QEMU repo clone I removed the semicolons from about 3 instances in the code. But I suspect, some code appending other information to the reply might rely on the semicolon being present, so my patch could introduce a regression. - When reaching the end of
rrfilerecord, QEMU responds withW00, while the standard would specifyT05thread:p01.01;replaylog:end. - Similarly when reaching the beginning of
rrfilerecord, QEMU responds withE14, while the standard would specifyT05thread:p01.01;replaylog:begin.
While running regression tests, I did not see any which would test the GDB stub. Are there any? So checking for regressions might involve manual work or writing unit tests. What would you do, suggest me to do? I think I would be able to implement this fixes, but writing entirely new testcases for multiple target architectures would be some extra work.