[Openmcl-devel] CCL on Solaris sparc architecture

Ron Garret ron at flownet.com
Thu Jan 21 16:21:12 PST 2010

Found it.


I have no idea what state it's in.


On Jan 21, 2010, at 3:21 PM, Semih Cemiloglu wrote:

> Hi Gary,
> Thank you for the detailed response.
> Ron Garret has promised to chase the abandoned sparc compiler backend.
> If he finds it, I will see what I can do with it.
> At this juncture, I really wished that CCL had a generic (=portable ANSI
> C) compiler backend and runtime support *in addition to* manually
> optimized assembly backends. That would make porting task very easy. 
> Maybe next compiler backend development should aim that, instead of yet
> another architecture port.
> Some of the compilers I work with (Sun Studio CC and Intel C++ in
> particular) generates very efficient and optimized code. Trying to
> better their efficiency manually feels like crossing over to level of
> diminishing returns.
> Regards,
> Semih Cemiloglu
> -----Original Message-----
> From: Gary Byers [mailto:gb at clozure.com] 
> Sent: Thursday, 21 January 2010 3:04 PM
> To: Semih Cemiloglu
> Cc: openmcl-devel at clozure.com; semih at cemiloglu.org
> Subject: Re: [Openmcl-devel] CCL on Solaris sparc architecture
> On Thu, 21 Jan 2010, Semih Cemiloglu wrote:
>> Dear CCL Developers,
>> I am in need of a CL implementation for our product/project which is
>> aimed at Solaris sparc and x86 platforms.
>> I see that CCL is available on OpenSolaris/x86 but not on sparc
>> platforms.
>> Is it possible to get an idea of work involved to port CCL to sparc
>> architecture? Is it necessary to write assembly code to complete the
>> port? Is internals of CCL and/or building from source documented? If
>> yes, where can one access the documentation?
> <http://trac.clozure.com/ccl/wiki/UpdatingFromSource>
> describes how to rebuild CCL from its source code; this is also
> discussed
> in the documentation, which is available online at:
> <http://ccl.clozure.com/ccl-documentation.html> ; single HTML page
> and at
> <http://ccl.clozure.com/manual/> ; one page per chapter
> The single page version is distributed with CCL.
> Much of CCL is written in itself, which means that "compiling it from
> source" is only relevant if you have a compiler that targets the
> platform that you're compiling on/for.  Getting to that point
> generally involves writing a compiler backend and machine-specific
> runtime support for the target, using that compiler backend to
> cross-compile the sources (into FASL files and a bootstrapping image)
> for the new target and getting that cross-compiled code working
> natively.  Matt Emerson (rme at clozure.com) wrote a wiki page with his
> notes on the cross-compilation/ bootstrapping process that he used
> when working on the ia32 port; I don't know the URL for that page
> offhand, but I'm sure that we can find it (somehow) if anyone's
> interested.
> About 10 years ago, I did a port of (a very early version of) what's
> now CCL to 32-bit SPARC/Solaris; that took around 2 months to get to
> the point where the system could compile itself natively.  I remember
> knowing of some things that didn't work at all and I'm sure that there
> were some things that didn't work and that I didn't know about.  That
> was done as quickly as it was by ignoring the differences between the
> PPC and the SPARC (e.g., register windows weren't used by Lisp code).
> CCL/OpenMCL didn't use native threads in those days, and I'm sure that
> some of the things that were done in that SPARC port weren't anywhere
> close to being thread-safe.
> I didn't keep the results of that work (and sometimes regret that),
> and AFAIK no one else did, either.  The last few ports that we've done
> (ia32 and x86-64) have taken roughly 6 months each; a PPC64 port done
> a few years earlier probably took around 3 months (with those months
> staggered over a few years.)  My best rough guess is that a SPARC port
> would be easier than the x86 ports (because the architecture is saner)
> and longer than the PPC64 port (because one would have to start from
> scratch), so a rough estimate would be that a SPARC port would take
> ~4-5 months.
>> Thanks in advance,
>> Kind regards,
>> Semih Cemiloglu
>> _______________________________________________
>> Openmcl-devel mailing list
>> Openmcl-devel at clozure.com
>> http://clozure.com/mailman/listinfo/openmcl-devel
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel

More information about the Openmcl-devel mailing list