From: Jeff Dike From: Bodo Stroesser - Make singlestep_syscall generic rather than being restricted to tt mode. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton --- 25-akpm/arch/um/kernel/signal_kern.c | 2 +- 25-akpm/arch/um/kernel/tt/process_kern.c | 2 +- 25-akpm/arch/um/kernel/tt/syscall_kern.c | 4 ++-- 25-akpm/include/asm-um/processor-generic.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff -puN arch/um/kernel/signal_kern.c~uml-generic-singlestep-syscall arch/um/kernel/signal_kern.c --- 25/arch/um/kernel/signal_kern.c~uml-generic-singlestep-syscall 2004-11-04 20:37:21.069293936 -0800 +++ 25-akpm/arch/um/kernel/signal_kern.c 2004-11-04 20:37:21.077292720 -0800 @@ -154,7 +154,7 @@ static int kern_do_signal(struct pt_regs */ if((current->ptrace & PT_DTRACE) && is_syscall(PT_REGS_IP(¤t->thread.regs))) - (void) CHOOSE_MODE(current->thread.mode.tt.singlestep_syscall = 1, 0); + current->thread.singlestep_syscall = 1; return(0); } diff -puN arch/um/kernel/tt/process_kern.c~uml-generic-singlestep-syscall arch/um/kernel/tt/process_kern.c --- 25/arch/um/kernel/tt/process_kern.c~uml-generic-singlestep-syscall 2004-11-04 20:37:21.070293784 -0800 +++ 25-akpm/arch/um/kernel/tt/process_kern.c 2004-11-04 20:37:21.078292568 -0800 @@ -527,7 +527,7 @@ int singlestepping_tt(void *t) { struct task_struct *task = t; - if(task->thread.mode.tt.singlestep_syscall) + if(task->thread.singlestep_syscall) return(0); return(task->ptrace & PT_DTRACE); } diff -puN arch/um/kernel/tt/syscall_kern.c~uml-generic-singlestep-syscall arch/um/kernel/tt/syscall_kern.c --- 25/arch/um/kernel/tt/syscall_kern.c~uml-generic-singlestep-syscall 2004-11-04 20:37:21.071293632 -0800 +++ 25-akpm/arch/um/kernel/tt/syscall_kern.c 2004-11-04 20:37:21.078292568 -0800 @@ -123,8 +123,8 @@ long execute_syscall_tt(void *r) set_fs(USER_DS); - if(current->thread.mode.tt.singlestep_syscall){ - current->thread.mode.tt.singlestep_syscall = 0; + if(current->thread.singlestep_syscall){ + current->thread.singlestep_syscall = 0; current->ptrace &= ~PT_DTRACE; force_sig(SIGTRAP, current); } diff -puN include/asm-um/processor-generic.h~uml-generic-singlestep-syscall include/asm-um/processor-generic.h --- 25/include/asm-um/processor-generic.h~uml-generic-singlestep-syscall 2004-11-04 20:37:21.073293328 -0800 +++ 25-akpm/include/asm-um/processor-generic.h 2004-11-04 20:37:21.078292568 -0800 @@ -25,6 +25,7 @@ struct thread_struct { unsigned long cr2; int err; unsigned long trap_no; + int singlestep_syscall; void *fault_addr; void *fault_catcher; struct task_struct *prev_sched; @@ -37,7 +38,6 @@ struct thread_struct { int extern_pid; int tracing; int switch_pipe[2]; - int singlestep_syscall; int vm_seq; } tt; #endif _