From: Nikodemus S. <nik...@ra...> - 2008-10-12 22:18:18
|
On Sun, Oct 12, 2008 at 11:17 PM, Bruce O'Neel <ec...@pc...> wrote: > For assorted reasons [1] I would like to run sbcl on NetBSD/Sparc. No, > not Sparc64 (ie Sun Ultras) but the ancient 32 bit Sun Sparcstations. Can you please describe your entire cross-build process? Are you following the cross compilation directions on http://sbcl-internals.cliki.net/Build or doing something else? > Now, since I can read, the error message seems clear. Ie, > read-only-space-start should be at #x8000000 rather than #x10000000. > Sadly, changing read-only-space-start to #x8000000 just changes the Well, not "should be", but rather the core and runtime disagree about where it should be. The real where it "should be" is determined by the vagaries of the target OS. The make-host-1 stage of the build process writes (among other things) read-only-space-start to src/runtime/genensis/constants.h. (Which you should be doing with SBCL_ARCH=sparc set, on the PPC.) Then you need to copy those files to the sparc, and run make-target-1.sh which gets you the Sparc runtime with the correct addresses. Then make-host-2 stage (finally) performs "second genesis" on ppc (still with SBCL_ARHC=sparc), and again you copy files over and run make-target-2 on the sparc. Now, if the runtime and core are in disagreement at this point, you need to backtrack. Did you perpaps change the address after first genesis? If not, go back and see how and why the wrong address gets written (WRITE-CONSTANTS-H, in src/compiler/generic/genesis.lisp). Cheers, -- Nikodemus |