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. [email protected] "C++ ate my sanity" -- Jon Rabone -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected] Archive: http://lists.debian.org/[email protected]

