Hi,

On Fri, 1 Jun 2007, Ian Lance Taylor wrote:

> I don't know the answer.  But I do know that you need to think about
> -fasynchronous-unwind-tables, and you need to think about how your
> kernel handles registers when calling a handler, and you need to think
> about what unwind information is available in the kernel, if any.  If
> the kernel does not provide unwind information showing that the signal
> handling call restores registers, then it seems to me that the stack
> unwinder needs to restore at least all caller saved registers from the
> signal frame.  Whether it needs to restore the floating point
> registers depends upon whether the kernel can ever modify those
> registers.

The kernel doesn't modify any register when entering the signal handler, 
so strictly speaking during unwind one only needs to undo changes done by 
the signal handler itself.
Currently I'm more thinking in the direction of gdb, where the information 
about the call clobbered registers would be useful, so I'm thinking about 
two sets of unwind information in .eh_frame/.debug_frame.

bye, Roman

Reply via email to