[cffi-devel] CLISP no longer supports ffi::foreign-library-function

Luís Oliveira luismbo at gmail.com
Sat Apr 5 03:18:29 UTC 2008


On Fri, Apr 4, 2008 at 5:57 PM, Barry Fishman <barry_fishman at acm.org> wrote:
> As of (From the CLISP src/Changelog):
>
>  2006-10-05  Sam Steingold  <sds at podval.org>
>
>         merged LOOKUP-FOREIGN-FUNCTION & FOREIGN-LIBRARY-FUNCTION into
>         FIND-FOREIGN-FUNCTION; LOOKUP-FOREIGN-VARIABLE &
>         FOREIGN-LIBRARY-VARIABLE into FIND-FOREIGN-VARIABLE
>         ...
>
>  This includes CVS releases starting with clisp-2.41.
>
>  FFI::FOREIGN-LIBRARY-FUNCTION and FFI::FOREIGN-LIBRARY-VARIABLE have
>  effectively been made legasy.
>
>  In the current CVS head (but not the last clisp-2.44.1 release) these
>  functions have quietly disappeared.  This causes problems with the CLISP
>  CVS head in cffi-clisp.lisp.

The attached patch should fix that while maintaining backwards
compatibility. Unfortunately, CVS CLISP (my copy of the ChangeLog says
2008-03-25) dumps core on the callback tests. I'm using x86-64. Can
anyone reproduce this behaviour?

[1]> (asdf:oos 'asdf:test-op :cffi)
...
*** - handle_fault error2 ! address = 0x8 not in [0x333a9f000,0x333d4b160) !
SIGSEGV cannot be cured. Fault address = 0x8.
Permanently allocated: 161560 bytes.
Currently in use: 5352408 bytes.
Free space: 324432 bytes.
Segmentation fault (core dumped)

luis at haden:~$ clisp --version
GNU CLISP 2.45 (2008-04-04) (built 3415563584) (memory 3415563829)
Software: GNU C 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
gcc -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit
-Wreturn-type -Wmissing-declarations -Wno-sign-compare -O
-falign-functions=4 -DUNICODE -DDYNAMIC_FFI -I. -x none -lreadline
-lncurses -ldl -lavcall -lcallback  -lsigsegv
SAFETY=0 TYPECODES WIDE GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED TRIVIALMAP_MEMORY
libsigsegv 2.4
libreadline 5.2
Features:
(READLINE REGEXP SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL COMMON-LISP
 LISP=CL INTERPRETER SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI
 GETTEXT UNICODE BASE-CHAR=CHARACTER PC386 UNIX)
C Modules: (clisp i18n syscalls regexp readline)
Installation directory: /home/luis/Software/lib/clisp-2.45/
User language: ENGLISH
Machine: X86_64 (X86_64) haden [127.0.1.1]

-- 
Luís Oliveira
http://student.dei.uc.pt/~lmoliv/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cffi-new-clisp-ffi.diff
Type: text/x-diff
Size: 3449 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20080405/e60cc86d/attachment.diff>


More information about the cffi-devel mailing list