[cffi-devel] cffi-grovel *cpu-word-size-flags*: wrong on Windows/amd64

Anton Kovalenko anton at sw4me.com
Fri Nov 4 00:46:51 UTC 2011


Hello CFFI developers,

There is a following fragment in cffi/grovel/grovel.lisp:

(defparameter *cpu-word-size-flags*
  (ecase (cffi:foreign-type-size :long)
    (4 (list "-m32"))
    (8 (list "-m64"))))

It would be better to use :intptr instead of :long, because on 64-bit MS
Windows, long is not long enough.  

AFAIK, there are no official "multilib" mingw64 builds, so -m32/-m64 are
unlikely to be too useful nowadays. However, passing wrong word size to
gcc prevents it from building correct binaries anyway: if that word size
is unsupported, gcc will refuse to compile anything.

I ran into this problem with my Windows/amd64 port of SBCL.

-- 
Regards, Anton Kovalenko <http://github.com/akovalenko/sbcl-win32-threads>
+7(916)345-34-02 | Elektrostal' MO, Russia




More information about the cffi-devel mailing list