On Mon, 02 Jan 2012 15:09:42 +0100, Pedro Alves wrote:
I'm confused. Shouldn't this instead be handled in the unwind
machinery? Is this subtraction you refer to the
get_frame_address_in_block one? That already has special
handling for something like this. Why doesn't it work?
This `- 1' is in inferior's:
gcc/libgcc/unwind-dw2.c:
uw_frame_state_for:
fde = _Unwind_Find_FDE (context->ra + _Unwind_IsSignalFrame (context) - 1,
&context->bases);
GDB can only change the address put on inferior stack and later picked up by
the inferior's exceptions unwinder.