Re: (maybe) libffi problem for armhf - help needed!
On Wed, Mar 28, 2012 at 01:28:25PM -0400, Lennart Sorensen wrote:
>On Wed, Mar 28, 2012 at 05:19:54PM +0100, Steve McIntyre wrote:
>> Hey folks,
>> I should have sent this out earlier, but vacation and other stuff
>> interrupted... :-(
>> I had a chat a couple of weeks ago with Marcus Shawcroft, one of the
>> toolchain experts at ARM, and he's worried that programs/libraries
>> using libffi on armhf are going to have problems. libffi didn't really
>> support variadic functions until recently, and the armhf ABI is
>> *interesting* in this area. See  for an ffi mailing list post with
>> more information, dating back to last year. This is the first time
>> I've really been aware of this as an issue, and it could mean we need
>> to work on things quickly. There's a link in that mail to a Linaro
>> wiki page listing packages that use libffi5 . Looking at the
>> current state in unstable, I see:
>That certainly is an interesting problem. Makes me wonder how other
>architectures pass floating point to variadic functions. Never thought
>about it before.
Yeah, quite... :-)
>> tack:~$ apt-cache rdepends libffi5 | grep '^ ' | wc -l
>> tack:~$ apt-cache rdepends libffi5 | grep '^ ' | grep -e ghc -e haskell | wc -l
>> which means that there's a lot of haskell packages to worry about, and
>> up to ~140 other places to check. The changes for libffi (including an
>> extra API call to fix this) went in to unstable back in August 2011 in
>> 3.0.10~rc10-1, but packages *using* libffi would need updating to
>> actually use this new API where necessary.
>> I think we need to check all those users, to find:
>> (a) they're safe (i.e. they don't use variadics with floating point)
>> (b) they need updating to use the new libffi API
>> I've put a list up in the Debian wiki at  to help track
>> this. Please dive in and look at how these packages are using FFI!
>I went through all the packages in the not obviously haskell list and
>moved all those that build-dep on ghc to the obviously haskell section.
>There was one package that builds with fp-compiler but uses some libghc
>packages. Since it didn't use ghc I didn't consider that to be obviously
>haskell related. Seems to be pascal using libghc somehow. Probably
>explains the need for libffi though.
>>  http://permalink.gmane.org/gmane.comp.lib.ffi.general/277
>>  https://wiki.linaro.org/WorkingGroups/ToolChain/FFIusers
>>  http://wiki.debian.org/ArmHardFloatTodo#libffi
>I should pick a package to try and check and/or fix.
I'm also scanning through all the armhf packages on my local mirror
looking for all calls to "ffi_prep_cif" right now, to give us a list
of things that we definitely need to investigate. I started looking at
a handful of packages and (thankfully) most of the ones I looked at
didn't use ffi directly, it was their build-deps/libraries that did.
I'll send another mail to summarise that once the scan is done; it's
going to take a few hours...
Steve McIntyre, Cambridge, UK. firstname.lastname@example.org
"C++ ate my sanity" -- Jon Rabone