Re: [reverse/record] adjust_pc_after_break in reverse execution mode?

Michael Snyder
2008-10-23T23:32:23Z

Hi Pedro,

I duplicated your test case, and found that I could
reproduce the behavior that you show below, but only
so long as the branch did not contain your
"adjust_pc_after_break" patch.

Once I added that patch to the branch, this behavior
seemed to go away.

If I look carefully at what you did below, it seems like
the forward-replay problem only shows up immediately after
the reverse-replay problem manifests. And my experiments
reflect the same thing.

The branch is now patched. Could you spare a moment to
play with it, and see if you can make it break again?

Thanks!

Pedro Alves wrote:
> On Sunday 19 October 2008 23:39:20, Michael Snyder wrote:
>> After codgitating for a bit (that's "thinking" when you're over 50),
>> I've decided that you're right.
>>
>> However, I have a new concern -- I'm worried about what it will do
>> when it's replaying but going forward.
>>
>> Could you possibly revisit your test and see what it does
>> if you record all the way to line 9 or 10, then back up
>> to line 6, then continue with breakpoints at 6 and 7?
>
> Eh, you're right. It's broken.
>
> (gdb) record
> (gdb) b 6
> Breakpoint 2 at 0x8048352: file nop.c, line 6.
> (gdb) b 7
> Breakpoint 3 at 0x8048353: file nop.c, line 7.
> (gdb) n
>
> Breakpoint 3, main () at nop.c:7
> 7 asm ("nop");
> (gdb) n
> 8 asm ("nop");
> (gdb)
> 9 asm ("nop");
> (gdb) n
> 10 }
> (gdb) rc
> Continuing.
>
> Breakpoint 3, main () at nop.c:7
> 7 asm ("nop");
> (gdb) rn
>
> No more reverse-execution history.
> main () at nop.c:6
> 6 asm ("nop");
> (gdb) n
>
> Breakpoint 2, main () at nop.c:6
> 6 asm ("nop");
> (gdb)
> 8 asm ("nop");
> (gdb)
> 9 asm ("nop");
> (gdb)
>
>
>
> --
> Pedro Alves