[Ecls-list] ECL on L4

Juan Jose Garcia Ripoll lisp at arrakis.es
Mon Aug 29 09:12:40 UTC 2005


On Sat, 2005-08-20 at 16:51 +0200, Julian Stecklina wrote:
> Hello,
> 
> how much work would it take to get ECL cross-compiling for a non-POSIX
> architecture? In specific, it would be nice if I could get CL programs
> to execute as L4 tasks. (For more information on the L4 microkernel you
> may visit the links on
> http://en.wikipedia.org/wiki/L4_microkernel_family)
> I guess one has to rewrite the garbage collector. [...]

More or less you will need to

1) Get ECL's own garbage collector up and running again
2) Ensure that C streams are there and usable
3) Check unixfsys.d for filesystem features
4) Check unixint.d for signals/interrupts
5) Optionally port other parts, such as tcp, threads, etc.

Given that the L4 environment provides a decent C library (ANSI, not
POSIX), step 2 will be extremely easy. Just look for some stray uses of
fdopen, open, close and report them.

Steps 3 and 4 are also easy. Typically most of this functionality is
disabled when the associated functions are missing. To be safe, you may
even comment out the whole of the interrupt code and only later on care
about it.

Finally 1 is the most important. ECL's former conservative garbage
collector is broken. I did it and I cannot trace back when this
happened :-/ It should be fixable, and one should do it with a working
port (BSD, Linux, etc), before moving to the L4. Porting this garbage
collector to L4 will be trivial, given that the operating system
provides either sbrk() or the equivalent of mmap().

Good luck! And may the force be with you, young Padawan :-)

Juanjo





More information about the ecl-devel mailing list