kernels/linux-2.4.0/arch/sparc/kernel/ptrace.c
/* Returning from ptrace is a bit tricky because the syscall return
 * low level code assumes any value returned which is negative and
 * is a valid errno will mean setting the condition codes to indicate
 * an error return.  This doesn't work, so we have this hook.
 */
Returning from ptrace is a bit tricky because the syscall return
low level code assumes any value returned which is negative and
is a valid errno will mean setting the condition codes to indicate
an error return.  This doesn't work, so we have this hook.
Returning from ptrace is a bit tricky because the syscall return low level code assumes any value returned which is negative and is a valid errno will mean setting the condition codes to indicate an error return . This doesn ' t work so we have this hook .
static inline void pt_error_return(struct pt_regs *regs, unsigned long error)
{
	regs->u_regs[UREG_I0] = error;
	regs->psr |= PSR_C;
	regs->pc = regs->npc;
	regs->npc += 4;
}
static inline void pt_error_return ( struct pt_regs * regs , unsigned long error ) { regs -> u_regs [ UREG_I0 ] = error ; regs -> psr |= PSR_C ; regs -> pc = regs -> npc ; regs -> npc += 4 ; }
Returning from ptrace is a bit tricky because the syscall return
 low level code assumes any value returned which is negative and
 is a valid errno will mean setting the condition codes to indicate
 an error return.
Returning from ptrace is a bit tricky because the syscall return low level code assumes any value returned which is negative and is a valid errno will mean setting the condition codes to indicate an error return .