From: Thiemo S. <th...@ne...> - 2005-04-05 22:28:17
|
Christophe Rhodes wrote: [snip] > > The C->lisp call forgot to save the global pointer, which means it must > > fail on return as soon as the lisp part clobbers the contents of the > > $gp register. > > OK. I don't *think* this is responsible for previous instability, > because the primary call to lisp never returns. It is true that a > nested call_into_lisp is possible, if a Unix signal handler runs lisp > code, but in the normal course of an sbcl build there should be no > such signal received. So, while this fix is of course valuable, it > might not be the only thing wrong. Seems so. It appears to work on a BCM91250A wit 2.4 kernel, but it fails on a O2 with 2.6 kernel. The .deb doesn't even install, it fails with endless loop / SIGILL / BREAK insn. [snip] > My thought, before I got enough Real Work that I abandoned the issue, > was that it was likely due to insufficient cache flushing; I'll be > happy if you tell me that this is in fact not the case, and that the > new sbcl works perfectly everywhere. The machines have completely different cache handling, the failing one is somewhat similiar to the Debian autobuilders. This could well be a kernel bug, I'll have a look. Thiemo |