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

Reply via email to