setjmp/longjmp
Andrew Koenig
ark at alice.UUCP
Sun Nov 11 02:34:34 AEST 1984
Suppose you could arrange for a sorted table that contained
triples: (routine start addr, routine end addr, register mask).
You might need to make special provisions in the linker
for this. While you're at it, make the linker sort the table
and store the table start and end addresses in some canonical
place.
Then, as longjmp unwinds the stack, it can use the return
address from each stack frame to do a binary search in this
table to figure out what registers to restore.
More information about the Comp.lang.c
mailing list