diff --git a/ghc/compiler/main/DriverFlags.hs b/ghc/compiler/main/DriverFlags.hs
index bcff33fd7616d30dda26544f08d4cbd3fd80d0e9..aca47d8cca335665f9c07b98709f53322d446758 100644
--- a/ghc/compiler/main/DriverFlags.hs
+++ b/ghc/compiler/main/DriverFlags.hs
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverFlags.hs,v 1.15 2000/11/08 15:25:25 simonmar Exp $
+-- $Id: DriverFlags.hs,v 1.16 2000/11/08 16:24:34 simonmar Exp $
 --
 -- Driver flags
 --
@@ -215,7 +215,6 @@ static_flags =
   ,  ( "split-objs"	, NoArg (if can_split
 				    then do writeIORef v_Split_object_files True
 					    add v_Opt_C "-fglobalise-toplev-names"
--- TODO!!!!!				    add opt_c "-DUSE_SPLIT_MARKERS"
 				    else hPutStrLn stderr
 					    "warning: don't know how to  split \
 					    \object files on this architecture"
diff --git a/ghc/compiler/main/DriverPipeline.hs b/ghc/compiler/main/DriverPipeline.hs
index 3fad46e6927db47cc06b6bfa4d3ab4b598e354c2..8265bc5cd3832c9062f05ce52bc4b74247ca8075 100644
--- a/ghc/compiler/main/DriverPipeline.hs
+++ b/ghc/compiler/main/DriverPipeline.hs
@@ -1,5 +1,5 @@
 -----------------------------------------------------------------------------
--- $Id: DriverPipeline.hs,v 1.16 2000/11/08 15:25:25 simonmar Exp $
+-- $Id: DriverPipeline.hs,v 1.17 2000/11/08 16:24:34 simonmar Exp $
 --
 -- GHC Driver
 --
@@ -532,6 +532,10 @@ run_phase cc_phase _basename _suff input_fn output_fn
 
 	pkg_extra_cc_opts <- getPackageExtraCcOpts
 
+	split_objs <- readIORef v_Split_object_files
+	let split_opt | hcc && split_objs = [ "-DUSE_SPLIT_MARKERS" ]
+		      | otherwise         = [ ]
+
 	excessPrecision <- readIORef v_Excess_precision
 
 	run_something "C Compiler"
@@ -543,6 +547,7 @@ run_phase cc_phase _basename _suff input_fn output_fn
 		   ++ [ verb, "-S", "-Wimplicit", opt_flag ]
 		   ++ [ "-D__GLASGOW_HASKELL__="++cProjectVersionInt ]
 		   ++ cc_opts
+		   ++ split_opt
 #ifdef mingw32_TARGET_OS
                    ++ [" -mno-cygwin"]
 #endif