[project @ 2001-07-23 20:19:53 by sof]
authorsof <unknown>
Mon, 23 Jul 2001 20:19:53 +0000 (20:19 +0000)
committersof <unknown>
Mon, 23 Jul 2001 20:19:53 +0000 (20:19 +0000)
Handle leading underscores for PrelMain undefineds

ghc/compiler/main/DriverPipeline.hs
ghc/compiler/main/DriverUtil.hs

index 7a4fe31..75ef178 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverPipeline.hs,v 1.91 2001/07/19 14:23:16 rrt Exp $
+-- $Id: DriverPipeline.hs,v 1.92 2001/07/23 20:19:53 sof Exp $
 --
 -- GHC Driver
 --
@@ -806,8 +806,8 @@ doLink o_files = do
                            [ "-u", "_PrelMain_mainIO_closure" ,
                              "-u", "___init_PrelMain"] 
 #else
-                           [ "-u", "PrelMain_mainIO_closure" ,
-                             "-u", "__init_PrelMain"] 
+                           [ "-u", prefixUnderscore "PrelMain_mainIO_closure" ,
+                             "-u", prefixUnderscore "__init_PrelMain"] 
 #endif
                         else [])
 
index e0141ce..ad067d6 100644 (file)
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverUtil.hs,v 1.25 2001/06/27 10:14:13 rrt Exp $
+-- $Id: DriverUtil.hs,v 1.26 2001/07/23 20:19:53 sof Exp $
 --
 -- Utils for the driver
 --
@@ -14,6 +14,7 @@ module DriverUtil where
 
 import Util
 import Panic
+import Config          ( cLeadingUnderscore )
 
 import IOExts
 import Exception
@@ -66,6 +67,13 @@ softGetDirectoryContents d
          )
 
 -----------------------------------------------------------------------------
+-- Prefixing underscore to linker-level names
+prefixUnderscore :: String -> String
+prefixUnderscore
+ | cLeadingUnderscore == "YES" = ('_':)
+ | otherwise                   = id
+
+-----------------------------------------------------------------------------
 -- Utils
 
 unknownFlagErr :: String -> a