[Openmcl-devel] Solaris x86-64 progress

Gary Byers gb at clozure.com
Mon Aug 11 02:31:13 UTC 2008

If anyone's interested, there's a work-in-progress Solaris x86-64 (or "x64",
if you prefer) port in the trunk.  I ran into many of the same issues that
Chris described.

Some of the socket code is still buggy (and largely untested), there's
an intermittent problem whereby sometimes (i.e., when I don't have GDB
attached to look at it ...) threads get strange memory faults during
QUIT, there seems to be an OS bug (or a misinterpetation of some
information passed to a signal handler) that causes memory fault
addresses to be reported incorrectly sometimes (on "SunOS 5.11
snv_93"), and there are likely other bugs that I'm not aware of.

What work I've done on it has been done under OpenSolaris (there's
an 08/05 live cd at opensolaris.org, and I later upgraded to 
a slightly later version via the package system.)  I don't know
if it runs differently or at all under Solaris 10.

I couldn't find a prebuilt non-buggy version of GNU m4 anywhere
anymore, so I just downloaded the sources and built and installed
it in /usr/local/bin; the Makefile looks for it there.

The trunk is in general "volatile" (as it has been for the last
several weeks); I'm trying to bootstap a lot of changes, and
have been checking heap images into svn at least once a day as
I've done that.  At any point in time, the binaries in the trunk
may be a little behind the sources (and the sources a little hard
to bootstap with those hours-old binaries.)

If anyone who's interested hasn't been scared away yet, the Solaris
port can be checked out of svn via:

shell> svn co http://svn.clozure.com/publicsvn/openmcl/trunk/solarisx64/ccl

On Mon, 11 Aug 2008, Chun Tian (binghe) wrote:

> Hi, Chris
> Can I ask, what's your porting progress now? I'm interesting in running some 
> Lisp applications on Solaris x86-64, I'm still thinking which of my favorite 
> CL (clozure and sbcl) to try:)
> I have some 64-bit servers, and a Solaris 10 5/08 installed through VMware on 
> my Mac computer, I thought a try to cross-compile Clozure CL from Darwin to 
> Solaris is quite meaningful to me.
> Regards,
> Chun Tian (binghe)
> ÔÚ 2008-1-19£¬ÉÏÎç6:25£¬ Chris Curtis дµÀ£º
>> I now have a kernel that successfully compiles, starts up and dies as
>> expected trying to load the as-yet-nonexistent heap image. There
>> wasn't too much I had to do that wasn't already at least sketched out.
>> (M4 is still a royal pain, in case anyone wondered.)
>> At the moment I'm sorting through the syscalls, which are enormously
>> tedious, and also somewhat more complex than anticipated. There are
>> two main issues:
>> - Solaris sockets are just plain different. (For example, socket()
>> isn't a syscall.) There's a lot of work to dig through the APIs on
>> both sides to make sure everything lines up correctly, but I expect it
>> to be relatively straightforward.
>> - Solaris has a bunch of subcoded syscalls. For example, setpgid is
>> actually done by calling syscall(SYS_pgrpsys, 4, pgid). This one is a
>> little more complicated and I'm not quite sure what the Right Thing To
>> Do is.
>> --chris
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list