id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
793	Use gcc's libffi to replace Adjustor.c and ByteCodeFFI.hs?	simonmar	simonmar	"{{{libffi}}} is a library that comes with gcc and provides FFI functionality (dynamic calls, closures) for a wide range of platforms.  It has a liberal license that is compatible with GHC's.

{{{libffi}}} could replace Adjustor.c in the RTS and the ByteCodeFFI module in GHCi.  The benefits would be:

 * It works on more platforms than we currently support, and it
   handles more of the dark corners than we do (eg. struct returns?).

 * It would ease the task of porting GHC

 * Replaces a wad of very difficult non-portable code in GHC with code
   written and actively maintained by others.
 
On the other hand, it is possible that our Adjustor.c code is faster, because it is more specialised to the task."	task	closed	normal	6.10.1	Runtime System	6.4.1	fixed		pho@…	Unknown/Multiple	Unknown/Multiple		Moderate (less than a day)	N/A			
