Hi all, I've noticed that on this system (Athlon 1ghz, Debian unstable, gcc3) certain example assembly programs, specfically: call, euclid, fact, life, mops_p, queens, stack and substr all segfault.
Here is what I was able to find out, for the "substr" program, the following is part of the disassembly of the JIT-ized code, according to GDB: 0x80edc88: push %ebp 0x80edc89: mov %esp,%ebp 0x80edc8b: movl $0x1,0x80dc018 0x80edc95: movl $0x0,0x80dc014 0x80edc9f: mov 0xbffff5d0,%eax 0x80edca4: mov %eax,0x80db720 0x80edca9: push $0x80ed930 0x80edcae: pushl 0x80db720 0x80edcb4: call 0x8057a60 <string_copy> 0x80edcb9: mov %eax,0x80e2014 0x80edcbe: movl $0x0,0x80dc01c 0x80edcc8: movl $0x0,0x80dc020 0x80edcd2: add %al,(%eax) 0x80edcd4: movl $0x1,0x80db724 0x80edcde: mov 0x80e2018,%eax 0x80edce3: mov (%eax),%eax 0x80edce5: mov %eax,0x80db720 0x80edcea: mov 0x80e2018,%eax Notice the instructions: 0x80edcde: mov 0x80e2018,%eax 0x80edce3: mov (%eax),%eax This is where it dies, 0x80e2018 contains a zero, and (%eax) attempts to access it, segfault. Unfortunately I'm not 3l33t enough to read hex yet, maybe I'll write a little assembler for the .jit files? Or at least some sort of disassembly display tool :) print "Merry $your_holiday\n" -- Rafael Kitover