[Openmcl-devel] OpenMCL for Linux x86-64 available for testing

James Bielman jamesjb at jamesjb.com
Tue May 2 19:09:29 PDT 2006


Gary Byers <gb at clozure.com> writes:

> A version of OpenMCL for Linux X86-64 systems is now available for
> testing at:

Very cool!

> The FFI seems to be able to do simple FF-CALLS and callbacks; the
> X86-64 ABI seems to sometimes pass structures by value (somewhat
> similar to the way that this is done on DarwinPPC), but this isn't
> handled at all.

I tried to build the CFFI test suite and ran into a few things:

- FF-CALL doesn't seem to work unless compiled.  It looks like there's
  a PPC LAP function %FF-CALL that doesn't exist on X86-64?

? (external-call "abs" :int -1 :int)
> Error: Undefined function %FF-CALL called with arguments (5864064068465 :SIGNED-FULLWORD -1 :SIGNED-FULLWORD) .
> While executing: CCL::TOPLEVEL-EVAL, in process listener(1).

- When compiled, FF-CALL hits an error with :LONG arguments in some
  situations:

? (compile nil (lambda (x) (external-call "labs" :long x :void)))
> Error: value 9 is not of the expected type (MEMBER 0 8 7 2 1 3 4 5 6).
> While executing: CCL::X862-COPY-REGISTER, in process listener(1).

Also, I was able to get SLIME up and running, but the debugger doesn't
work---I assume this is also related to backtracing:

;; in slime repl
CL-USER> (error "blam")
> Error: Undefined function CCL::FRAME-SUPPLIED-ARGS called with arguments (0 5864064610397 229 NIL NIL) .
> While executing: #<Anonymous Function #x300004CA2ABF>, in process new-repl-thread(9).

IIRC the Slime debugger support in OpenMCL does all sorts of unsavory
internals-poking---it would be nice to have a documented interface for
programmatically getting backtrace information.

James




More information about the Openmcl-devel mailing list