James,
I don't know if anyone has tested CFFI on an X86-64 CLISP, but the following tests crash with an unexpected segfault:
I'm in the process of modifying the ffcall/FFI, but so far I've only planned to modify long-long support. I'm not aware of anything else not yet in the bugtracker.
Do you have access to an -64 machine or was that a user report?
STRUCT.ALIGNMENT.1
This is quite surprising, since it dereferences a single byte. There should be no problems with alignment with byte-oriented access.
Does this machine pass the clisp testsuite (ffi.tst)?
so far I haven't found anything yet.
What if you run the stepper in interpreted mode? Does the crash happen exactly within a call to ffi:MEMORY-AS or elsewhere? This test doesn't seem to do anything else. Does it actually invoke (ffi:memory-as address 'ffi:uint8 0) Or (ffi:memory-as address 'character 0)?
What if you call (ffi:memory-as (address-of *the-s-s-ch*) 'ffi:uint8/char/...) directly?
Regards, Jorg Hohle.