Re: Fun with CLISP FFI



Kaz Kylheku wrote:
After this experiment, I have a hunch that that the platform glue in
mcvs can be rewritten purely in FFI code, eliminating the need to do
any C compiling and linking.

Done!

I now have a version of Meta-CVS which builds and runs with no C
compiling and custom linking at all. You don't need any dev tools other
than an installation of CLISP.

On the downside, it's tied to the glibc2 ABI. For instance, to stat a
filesystem object, it calls the libc.so.6 ``secret'' entry point
"__xstat64". The structure that is used is field-for-field compatible
with glibc's "struct stat64", which has padding fields, and special
extensions like nanoseconds fields on the time stamps.

The install script is super simple. Just load everything, spit out a
mem image, and generate the script to invoke clisp with that mem image.
The mcvs-upgrade tool is gone. I wasn't able to use :EXECUTABLE T in
SAVEINITMEM, because this feature is slightly braindamaged. If you pass
arguments to the resulting program, they are processed as CLISP
arguments! Oops.

.



Relevant Pages

  • Re: DDK W2k3 bug? WNET and WXP build ok, W2k doesnt work
    ... > Linking Executable - ...
    (microsoft.public.development.device.drivers)
  • DDK W2k3 bug? WNET and WXP build ok, W2k doesnt work
    ... W2k does only work for executables and some of the libraries. ... Compiling message file - src\input\kbdclass\kbdlog.mc for all platforms ...
    (microsoft.public.development.device.drivers)
  • Re: linking issue
    ... mapped into the WinCE API's. ... this library it is giving me linking issues. ... which i have to include while compiling or any flags issue. ... Please do tell me all the paths and flags needed to compile code on ...
    (microsoft.public.windowsce.embedded.vc)
  • Re: Reasons to choose CLISP over other free implementations
    ... is orders of magnitude slower compiling than SBCL. ... Here you can see that CLISP is still about 2x faster than SBCL ...
    (comp.lang.lisp)
  • Re: linking error (using interbase 6.0 API library)
    ... > I'm compiling a C program that is using Interbase 6.0 APIS. ... > the following errors at the time of linking. ... > If I set the option not to generate the underscore (function prefixed ... > Linker Error: Undefined symbol strlen in module TEST.C ...
    (comp.lang.c)