Hi,

With a CVS GHC compiled with

GhcUnregisterised=YES
SplitObjs=NO

in mk/build.mk I get the ffi006 and ffi009 tests failing. I'm afraid I'm
not able to look into this further myself at the moment.


Thanks
Ian

===========================

$ ./ffi006
84
Illegal instruction

If I replace main with this:

main = do
  double1 <- wrap_f double
  print (f double1 42)
  double2 <- wrap_f_io double_io
  putStrLn "Wrapped"
  x <- f_io double2 42
  putStrLn "Run"
  print x

then I get:

$ ./ffi006
84
Wrapped
Illegal instruction

===========================

$ ./ffi009
Testing 5 Int arguments...
Segmentation fault

If I replace test5I with this:

test5I :: IO ()
test5I = do
  putStrLn "Starting"
  a1 <- randomIO
  print a1
  a2 <- randomIO
  print a2
  a3 <- randomIO
  print a3
  a4 <- randomIO
  print a4
  a5 <- randomIO
  print a5
  putStrLn "Randoms over"
  funAddr <- mkFun5I manyArgs5I
  print funAddr
  let lhs = callFun5I funAddr a1 a2 a3 a4 a5
  print lhs
  let rhs = manyArgs5I        a1 a2 a3 a4 a5
  print rhs
  print (lhs == rhs)
  freeHaskellFunPtr funAddr
  putStrLn "Done"

$ ./ffi009
Testing 5 Int arguments...
Starting
-8637943376061455455
3782749233378565348
9081679714689397137
320826487494572708
-4023894389737140492
Randoms over
0x20000000004b80a0
Illegal instruction

===========================

_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to