># if defined(__GNUC__) && !defined(__alpha__) && !defined(__APPLE__) > VALUE *stack_end = __builtin_frame_address(0); ># else
That should probably be `... && !defined(__arm__)'. Actually, __builtin_frame_address(0) is just about OK, but the similar code in gc.c that does __builtin_frame_address(2) is doomed to fail. Can you try changing those two places and see if things get any better? p.