On Fri, 2013-07-05 at 17:11 -0500, James Yang wrote: > A BookE branch taken debug exception followed by a single step does not > accurately simulate Server's branch execute debug exception. BookE's > branch taken debug exception stops before the branch is to be executed > and only happens if the branch will actually be taken. Server's branch > execute trace exception stops on the instruction after the branch > executes, regardless of whether or not the branch redirected the program > counter. > > The existing PTRACE_SINGLEBLOCK support for BookE hardcodes a single > step after the branch taken exception is taken in order to simulate > Server's behavior, but this misses fall-through branch instructions > (i.e., branches that are NOT taken). Also, the si_code became masked as > TRAP_TRACE instead of TRAP_BRANCH.
But that changes the user visible behaviour, won't that break gdb expectations ? Another way to "fix" it is to instead use lib/sstep.c to emulate the single step maybe ? On the other hand, I tend to think that trapping before the branch is actually more useful especially if you don't have the CFAR register. Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev