GHCi linker: Assume non-Haskell libraries are dynamic libs
authorIan Lynagh <igloo@earth.li>
Mon, 13 Dec 2010 12:49:30 +0000 (12:49 +0000)
committerIan Lynagh <igloo@earth.li>
Mon, 13 Dec 2010 12:49:30 +0000 (12:49 +0000)
This works around a segfault we get when trying to load libiconv.a on
some platforms.

compiler/ghci/Linker.lhs

index 29228b1..bd0bb35 100644 (file)
@@ -1105,6 +1105,9 @@ loadFrameworks pkg
 -- If it isn't present, we assume it's a dynamic library.
 locateOneObj :: [FilePath] -> String -> IO LibrarySpec
 locateOneObj dirs lib
+  | not ("HS" `isPrefixOf` lib)
+    -- For non-Haskell libraries (e.g. gmp, iconv) we assume dynamic library
+  = assumeDll
   | not isDynamicGhcLib
     -- When the GHC package was not compiled as dynamic library
     -- (=DYNAMIC not set), we search for .o libraries or, if they