--- src/alloc.c~ 2003-01-17 14:45:13.000000000 +0100 +++ src/alloc.c 2007-04-29 12:32:43.000000000 +0200 @@ -3716,7 +3716,10 @@ static void mark_stack () { - jmp_buf j; + union aligned_jmpbuf { + Lisp_Object o; + jmp_buf j; + } j; volatile int stack_grows_down_p = (char *) &j > (char *) stack_base; void *end; @@ -3744,7 +3747,7 @@ } #endif /* GC_SETJMP_WORKS */ - setjmp (j); + setjmp (j.j); end = stack_grows_down_p ? (char *) &j + sizeof j : (char *) &j; #endif /* not GC_SAVE_REGISTERS_ON_STACK */