Port-sparc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

SBCL pretty much works on NetBSD/Sparc.



Hi,

Below is the message I've sent to the sbcl-dev mailing list.  Basically
it works with a few patches (thanks to Robert Swindells 
<rjs%fdy2.demon.co.uk@localhost>).

cheers

bruce

+++++++++++++++++++++++++++++++++++
Hi,

Ok, it pretty much works.

# uname -a
NetBSD bellinzona 4.0 NetBSD 4.0 (GENERIC.MP) #0: Sun Dec 16 02:23:20 PST 2007  
builds@wb29:/home/builds/ab/netbsd-4-0-RELEASE/sparc/200712160005Z-obj/home/builds/ab/netbsd-4-0-RELEASE/src/sys/arch/sparc/compile/GENERIC.MP
 
sparc
# sbcl
RUNTIME WARNING: unable to raise process data size limit:
  Invalid argument.
The system may fail to start.
This is SBCL 1.0.21.18, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
* (* 123 456 789 101112)

4474553016384
* # 

Thanks to Robert Swindells <rjs%fdy2.demon.co.uk@localhost>  patches which got 
it most of the way
there.  The last thing which had to be changed was the backend page size.

src/runtime/bsd-os.c has

    os_vm_page_size = getpagesize();

and src/compiler/sparc/backend-parms.lisp has

(setf *backend-page-size* 8192)

This is perfect on say the 64 bit Ultras since the NetBSD page size is 8k.  On 
the 32 bit Sparcs though the page size is 4k so this fails.

My proposed change is in src/runtime/bsd-os.c so that 

   os_vm_page_size = getpagesize();

becomes

    os_vm_page_size = BACKEND_PAGE_SIZE;

You can get the build from http://www.pckswarms.ch/SBCL.html if you want to 
play.
When I said it mostly worked the following things need to be fixed:

- For now you have to run as root so that you can raise the memory limits high
enough.  This has to be solveable, but I haven't found the solution.  I suspect
changes to /etc/login.conf but I haven't gotten that far.  Please don't run 
stuff as
root that I build.  You don't know me, right?

- A number of the contrib packages (think ASDF) don't build.  No idea.

- I'm not sure it self builds yet.  That's next but I won't know for several 
hours.
The word fast is not used around these systems.

cheers

bruce





Home | Main Index | Thread Index | Old Index