Re: ptrace on i386

From: Brian Gerst (bgerst@didntduck.org)
Date: Sat Dec 01 2001 - 08:56:38 EST


Frank Cornelis wrote:
>
> Hi,
>
> In linux/arch/i386/kernel/ptrace.c next code is being used in the xxxreg
> functions:
> if (regno > GS*4)
> regno -= 2*4;
> Why this discontinuity? It doesn't prevent ORIG_EAX and EIP from being
> written and makes the defines CS, EIF, ... from linux/include/asm/ptrace.h
> useless. BTW: regno should really call reg_offset since it's no register
> number but an offset.

It's because the %fs and %gs segment registers are not saved on the
stack upon kernel entry anymore. Thus, the following values have to be
shifted by 2 positions to maintain compatability with the ptrace
register structure.

-- 

Brian Gerst - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Dec 07 2001 - 21:00:16 EST