gdb, btrace: fix pr19340

GDB fails with an assertion when stopping recording on a replaying thread
and then resuming that thread.  Stopping recording left the thread
replaying but the record target is gone.

Stop replaying all threads in the selected inferior before stopping recording.

I had to change the stepping test slightly to account for different
compilers generating slightly different debug information, so when
stepping the 'return 0' after 'record stop' I would end up in a different
location depending on which compiler I used.  The test still covers all
stepping commands.

Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=19340

Approved-By: Andrew Burgess <aburgess@redhat.com>
2 files changed