Andy Dougherty wrote:
A bit more ... In particular, on Solaris, I've been able to track down
one way of triggering the the t/op/lexicals.t failure to list.c. If I
compile list.c without any optimization, the test passes. If I compile
just the list_new function in list.c with the lowest optimization (-xO1,
defined in the man page as "Does basic local optimization (peephole)"),
those tests fail.
Thanks for tracking it down that far. Does this patch help: --- dod.c Wed Nov 6 11:19:32 2002 +++ /home/lt/src/parrot-leo/dod.c Thu Nov 21 08:29:08 2002 @@ -66,6 +66,14 @@ struct Stash *stash; UINTVAL mask = PMC_is_PMC_ptr_FLAG | PMC_is_buffer_ptr_FLAG | PMC_custom_mark_FLAG; +#ifdef HAS_HEADER_SETJMP + jmp_buf env; + + /* this should put registers in env, which then get marked in + * trace_system_stack below + */ + setjmp(env); +#endif leo