[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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 [1] 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 [1]. 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
>> 586
>> tack:~$ apt-cache rdepends libffi5 | grep '^  ' | grep -e ghc -e haskell | wc -l
>> 444
>> 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 [3] 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.

Cool, thanks.

>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.
>> [1] http://permalink.gmane.org/gmane.comp.lib.ffi.general/277
>> [2] https://wiki.linaro.org/WorkingGroups/ToolChain/FFIusers
>> [3] 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.                                steve@einval.com
"C++ ate my sanity" -- Jon Rabone

Reply to: