On Fri, Mar 30, 2012 at 08:27:24AM +0100, peter green wrote: >Joachim Breitner wrote: >>I know little about libffi and what the actually issue is >The issue is that for some reason the designers of arm eabi included >the following rule. > >"A variadic function is always marshaled as for the base standard." > >The implication of this is that any variant of EABI other than the >base standard (such as the variant used by armhf) will marshall >functions differently depending on whether they are variadic or >not. In the particular case of armhf a non-variadic function will >pass floating point variables in VFP registers (or on the stack >when VFP registers run out) while a variadic function will pass >them in integer registers (or on the stack when integer registers >run out). > >Which in turn means anything that calls a function (whether >calling them directly or calling them through a wrapper like >libffi) must know if they are variadic or not. For direct calls >from C this information is given in the function prototype. > >>I believe, though, that to fix this issue >>you will only have to worry about the run time system of Haskell, >>implemented in C, and not touch any Haskell code. >That depends if the runtime system already has enough information >to know if the functions it is trying to call are variadic or not. If it >doesn't then changes would be needed to pass the information >to the runtime.
Exactly, that's the bit I'm unclear about. Does Haskell even have the concept of variadic function calls? (I honestly don't know!) -- Steve McIntyre, Cambridge, UK. st...@einval.com "Every time you use Tcl, God kills a kitten." -- Malcolm Ray -- To UNSUBSCRIBE, email to debian-arm-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120330103837.ga20...@einval.com