• John David Anglin's avatar
    parisc: improve ptrace support for gdb single-step · 34360f08
    John David Anglin authored
    Various GCC tests use gdb to simulate a multithreaded application. Many of
    these tests have been failing on parisc linux.
    
    GCC does this by using gdb to single-step the application, then gdb is used to
    call other test specific code. Where this fails is when the application is
    stepped into the delay slot of a taken branch. This sets the PSW B bit. When
    the test specific code is executed, this usually clears the PSW B bit.
    Currently, gdb is not allowed to set the B bit. So, the code falls through what
    should be a taken branch.
    
    The attached patch adds the PSW B bit to the set of bits that gdb is allowed to
    set. In order to set the B bit, the trace system call must return using an
    interrupt restore. The patch also modifies this code to use the saved IAOQ
    values when they are saved by a ptrace syscall or interruption.
    Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    34360f08
ptrace.c 8.09 KB