Luke Palmer <[EMAIL PROTECTED]> wrote: > It appears JIT is entirely broken. It broke recently, as it was > working well for me just a couple days ago.
> I'm running i686 (P3) Linux, gcc-3.2.2 Have it. I did install gcc 3.3.1 (and a newer gdb). The segfaults are due to new ways how gcc 3 does subroutine calling, or better how gcc does pass subroutine params on the stack (and destroy JITs returns address as it goes). Anyway: please try this procedure (or equivalent): $ make -s # make (silently) parrot $ touch core_ops_cgp.c # touch the relevant file $ make # make again ^C # stop it $ gcc-3.3 .... -c core_ops_cgp.c -mno-accumulate-outgoing-args ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ # copy and past above command line for making core_ops_cgp.o and # append the marked option $ make -s && make -sC languages/imcc $ IMCC=imcc perl t/harness -j t/*/*.t [ gcc-3.3 is the compiler executable on my system ] So we need (and already did since some time) per file compile settings: - tsq.c does not compile with any optimization - core_ops_cg.c might need no optimization on systems with ~< 100 MB RAM - core_ops_cgp.c needs above flag (except when -Os is given as optimize option) > Luke leo