On 05/21/2014 06:10 PM, Ian Lance Taylor wrote:
I'm sorry, I have nothing useful to suggest. I agree that that sounds like a stack overflow, which should in general be impossible with -fsplit-stack when using the gold linker. I don't know what is happening here. I've tested with massive recursion so I don't think that is the problem by itself.
Hm...did you test with a lot of longjmps? I'm just curious about this comment in libgcc/generic-morestack.c: /* The stack segment that we think we are currently using. This will be correct in normal usage, but will be incorrect if an exception unwinds into a different stack segment or if longjmp jumps to a different stack segment. */ So, what happens if longjmp jumps to a different segment? Is the result undefined? Is it possible to detect such a jump? Dmitry