
Does anyone know here how GHC links in object files from other languages? I am getting a strange issue where it seems to be getting the calling convention on Fortran calls wrong. Specifically, on one computer (Gentoo Linux) I have with gcc and gfortran v4.4 and ghc compiled using gcc v4.3, I have no problems at all. On another computer (a Mac) I have with gcc 4.0 and gfortran 4.4 and a binary of ghc installed (as downloaded from haskell.org), I run into problems. Specifically, I noticed that the first parameter seems to get eaten when I declared a fortran routine as a function but not when I declare it as a subroutine. So I went ahead and converted the fortran routines into subroutines, but then I get another crash elsewhere in the code where a module calls a LAPACK routine for reasons unknown; I do not get this crash when running the same code path but called using a Python wrapper that uses gcc + gfortran + f2py rather than from my Haskell wrapper. I thought that this might be a problem with mixing gcc 4.0 and gfortran 4.4 (and ultimately I think this might still be the case), but when I tried writing small test cases using *only* gcc and gfortran and not ghc, everything worked just fine. Any thoughts? - Greg
participants (1)
-
Gregory Crosswhite