[Openmcl-devel] cross-compiling for ia32
Gary Byers
gb at clozure.com
Thu Nov 8 17:41:52 PST 2007
One thing that probably isn't relevant but may soon be:
The .cdb files that store foreign function/type information contain
16- ,32-, and 64-bit words (both in the encoded data that they contain
and in the metainfomation that they use for lookup.) These words are
just stored in host byte-order, so to cross-compile between a host and
target of different endianness you have to do something like:
- generate a set of .ffi files on/for the target system (:libc or some
subset of it)
- copy them to the host
- do the PARSE-STANDARD-FFI-FILES step on the host, something like:
? (require "PARSE-FFI")
? (ccl::parse-standard-ffi-files :libc :darwinx8632)
At some point, cross-compilation will need access to the interfaces;
Matt would have a better idea than I do how near/far away that point
is. In the long run, it'd be nice to be able to cross-compile from
any supported host to any supported target; in the near term, it's
probably more important to be able to cross compile to IA32 from
-some- host, and later figure out whether that can be made more
general.
On Thu, 8 Nov 2007, Greg Pfeil wrote:
> I figured Id poke around with the ia32 branch of CCL, and started trying to
> get a cross-compiler going, using the docs here:
> http://trac.clozure.com/openmcl/wiki/PortToIA-32#Bootstrappingnotes
>
> It took me way too long to realize that the problem Im having is not because
> the docs are wrong, but because they assume Im building on an x86-64
> machine. I only have PPC and x86-32 on hand.
>
> So, is there any way for me to go about building a cross-compiler for x86-32
> on PPC, or do I need to buy a new laptop in order to port CCL to my old
> laptop?
More information about the Openmcl-devel
mailing list