[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Fault addres from sigcontext



The stack ends at 0x9fffffff. Before starting the program the
kernel pushes argc, argv, envp and all entries in argv and envp
on the stack. So the actual stack pointer when enterring an
application varies. So the value 0x9ffffee0 seams reasonable.

I am not sure if your code wants 0x9fffffff ot 0x9ffffee0 but it
probably doesn't matter.

/Mikael

-----Original Message-----
From: owner-dev-etrax@xxxxxxx.com">mailto:owner-dev-etrax@xxxxxxx.com] On
Behalf Of Simon Posnjak
Sent: Wednesday, October 06, 2004 2:04 PM
To: dev-etrax
Subject: RE: Fault addres from sigcontext


V sre, 06.10.2004 ob 11:11 je Mikael Starvik napisal(a):
> Do you mean the address of the inctruction that caused the fault
> or the address that was accessed when the fault occured?
> The first is in sc.regs.irp and the other in sc.regs.csraddr.
> (when looking in arch/i36/mm/fault.c it looks like you want
> sc.regs.csraddr).
Hmm, good question... I also think that I need the second one. Thank
you.

Next I need to know the stack bottom - cool end of the stack, which is
usually the highest address in the stack - the code tries to get it by
looking at the the value of __libc_stack_end or if that fails from 
/proc/self/stat (field  27). The value it gets (in both cases) is 
0x9FFFFEE0. Would this value be correct? (Is this a possible value for
stack 
bottom?)

		Regards Simon