Hi Oleg,
> > I don't have a powerpc machine, but I think this test-case should > see the difference: On a powerpc machine, I did verify that the below test-case differs with your patch. Without the patch it would print the message "kernel bug: status=857F shouldn't have 0x80" > > #include <unistd.h> > #include <sys/ptrace.h> > #include <sys/wait.h> > #include <assert.h> > #include <stdio.h> > > int main(void) > { > int pid, status; > > if (!(pid = fork())) { > assert(ptrace(PTRACE_TRACEME) == 0); > kill(getpid(), SIGSTOP); > > getppid(); > > return 0; > } > > assert(pid == wait(&status)); > assert(ptrace(PTRACE_SETOPTIONS, pid, 0, PTRACE_O_TRACESYSGOOD) > == 0); > > assert(ptrace(PTRACE_SYSCALL, pid, 0,0) == 0); > assert(pid == wait(&status)); > > assert(ptrace(PTRACE_SINGLESTEP, pid, 0,0) == 0); > assert(pid == wait(&status)); > > if (status == 0x57F) > return 0; > > printf("kernel bug: status=%X shouldn't have 0x80\n", status); > return 1; > }