[cffi-devel] Crashes on X86-64 CLISP
James Bielman
jamesjb at jamesjb.com
Fri Feb 3 15:07:29 UTC 2006
"Hoehle, Joerg-Cyril" <Joerg-Cyril.Hoehle at t-systems.com> writes:
> Uhoh, then it's likely not the FFI. Please investigate.
It looks like the problem is with FFI:UNSIGNED-FOREIGN-ADDRESS and
FFI:FOREIGN-ADDRESS-UNSIGNED expecting and returning 32-bit integers:
[ ...with *print-base* set to 16... ]
CFFI[47]> (ffi:with-foreign-object (x 'ffi:int)
(print (ffi:foreign-address x))
(print (ffi:foreign-address-unsigned (ffi:foreign-address x)))
nil)
#<FOREIGN-ADDRESS #x00007FFFFFEF3750>
FFEF3750
NIL
CFFI[49]> (ffi:unsigned-foreign-address #x100000000)
*** - not a 32-bit integer: 100000000
The following restarts are available:
ABORT :R1 ABORT
Break 1 CFFI[50]>
This breaks CFFI-SYS:INC-POINTER which ends up returning bogus
pointers because the high 32 bits have been truncated.
James
More information about the cffi-devel
mailing list