------- Additional Comments From aph at gcc dot gnu dot org 2005-04-20 14:38 ------- This is indeed a libffi bug.
Whether a boolean is promoted to a full word or not is a part of the system ABI. It's controlled in gcc by TARGET_PROMOTE_PROTOTYPES, and is part of the gcc back end. What you have discovered is that the raw FFI abi does not correspond to the SYSV/X86 abi, and te args need to be massaged. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21115