On 04/16/2013 01:53 PM, Jeroen Demeyer wrote:
int x = setjmp(env); int n = g(x); fprintf(stderr, "x = %i, n = %i\n", x, n); if (n == 0) exit(0); if (x) abort(); longjmp(env, 42);
I think you should file this as a bug report. I don't think the GCC behavior is covered by the longjmp() exceptions for automatic variables.
-- Florian Weimer / Red Hat Product Security Team