Using Josh's patch below:


produces a working sbcl on OpenBSD/PPC 4.7.

I've still not gotten back to the float test oddities yet.





----- Message d'origine -----
De: Josh Elsasser <josh@elsasser.org>
Date: Thu, 6 May 2010 19:32:16 -0700
Sujet: Re: [Sbcl-devel] Thanks very much for all the PPC patches, plus OpenBSD
À: "Bruce O'Neel" <ecl@pckswarms.ch>
Cc: Alastair Bridgewater <alastair.bridgewater@gmail.com>
On Tue, May 04, 2010 at 10:19:48PM +0200, Bruce O'Neel wrote:
> Hi,
> On Sun, May 02, 2010 at 11:31:38AM -0400, Alastair Bridgewater wrote:
> >
> > > I also have OpenBSD/PPC working, the patches to are at:
> > >
> > > http://www.pckswarms.ch/sbcl/ppc-openbsd-4.6-patch-20100430.tar.gz
> >
> > I'm afraid that these have two obvious problems:
> >
> > 1. The accepted patch format is a "unified context diff", not
> > replacement files.
> I have made a much cleaned up patch set with just patches, and one
> complete new file.
> http://www.pckswarms.ch/sbcl/ppc-openbsd-4.6-patch-20100504-small.tar.gz
> >
> > 2. These changes very obviously break a number of other platforms,
> > such as every non-openbsd ! gencgc ppc target. And that's just from
> > src/compiler/ppc/parms.lisp. The other changed source files have
> > similar breakages.
> These patches should be much better. I've tested it on both Linux/PPC
> and OpenBSD/PPC with the same patches. I also documented the magic
> numbers.
> Would you both mind looking them over and see if they look ok?

I cleaned up and did some quick testing of my old PPC branch, it
doesn't look hugely different than your changes. The most significant
change would probably be the address space locations. I don't remember
the exact reason I used the addresses I did, but I remember being
concerned that someone might build a kernel with MAXDSIZ bumped up to
1GB like it is on i386.

Here's a diff of my changes against

There are several dynamic-extend test failures which I don't remember
from before, I had to disable one of them to avoid dropping into the
debugger during the test run. The failing timer tests are normal for

Finished running tests.
Unexpected success: float.pure.lisp / (SCALE-FLOAT-OVERFLOW BUG-372)
Expected failure: float.pure.lisp / (ADDITION-OVERFLOW BUG-372)
Failure: float.pure.lisp / NAN-COMPARISONS
Expected failure: debug.impure.lisp / (UNDEFINED-FUNCTION BUG-346)
Expected failure: debug.impure.lisp / (UNDEFINED-FUNCTION BUG-353)
Expected failure: debug.impure.lisp / (TRACE ENCAPSULATE NIL)
Expected failure: debug.impure.lisp / (TRACE-RECURSIVE ENCAPSULATE NIL)
Failure: dynamic-extent.impure.lisp / (NO-CONSING DX-RAW-INSTANCES)
Failure: dynamic-extent.impure.lisp / DX-COMPILER-NOTES
Failure: dynamic-extent.impure.lisp / HANDLER-CASE-EATING-S! TACK
Failure: dynamic-extent.impure.lisp / RECHECK-NESTED-DX-BUG
Expected failure: packages.impure.lisp / USE-PACKAGE-CONFLICT-SET
Expected failure: packages.impure.lisp / IMPORT-SINGLE-CONFLICT
Expected failure: run-program.impure.lisp / (RUN-PROGRAM INHERIT-STDIN)
Failure: timer.impure.lisp / (TIMER STRESS)
Failure: timer.impure.lisp / (WITH-TIMEOUT TIMEOUT)
test failed, expected 104 return code, got 1