diff --git a/ghc/driver/ghc-asm.lprl b/ghc/driver/ghc-asm.lprl
index 6fb55f42147b0daefad12ace7807a12ee2c95574..31d06205455aedbab4a02700676233a1aa750d45 100644
--- a/ghc/driver/ghc-asm.lprl
+++ b/ghc/driver/ghc-asm.lprl
@@ -660,7 +660,7 @@ sub mangle_asm {
   		    $p =~ s/^\tstw? 0,\d+\(1\)\n//;
   		    $p =~ s/^\tstw?u 1,-\d+\(1\)\n//; 
   		    $p =~ s/^\tstw? \d+,-\d+\(1\)\n//g; 
-  		    $p =~ s/^\tstfd \d+,-\d+\(1\)\n//; 
+  		    $p =~ s/^\tstfd \d+,-\d+\(1\)\n//g; 
 		} else {
 		    print STDERR "$Pgm: unknown prologue mangling? $TargetPlatform\n";
 		}
diff --git a/ghc/driver/ghc.lprl b/ghc/driver/ghc.lprl
index 36732e650a633d4a88b4e048b75ffde8c858d7bd..03dd161326007c25eb606ce37ee05f4c1e4a92b9 100644
--- a/ghc/driver/ghc.lprl
+++ b/ghc/driver/ghc.lprl
@@ -1216,15 +1216,12 @@ sub setupMachOpts {
       unshift(@CcRegd_flags, ('-DSTACK_CHECK_BY_PAGE_FAULT=1')) if $StkChkByPageFaultOK;
       unshift(@CcBoth_flags,  ('-static'));
 
-  } elsif ($TargetPlatform =~ /^powerpc-|^rs6000/) {
+  } elsif ($TargetPlatform =~ /^powerpc-|^rs6000-/) {
       # we know how to *mangle* asm for PowerPC
 # :-(   unshift(@CcRegd_flags, ('-D__STG_REV_TBLS__'));
       unshift(@CcRegd_flags, ('-DSTACK_CHECK_BY_PAGE_FAULT=1')) if $StkChkByPageFaultOK;
       unshift(@CcBoth_flags,  ('-static')); # always easier to start with
       unshift(@CcRegd_flags, ('-finhibit-size-directive')); # avoids traceback tables
-#      unshift(@Ld_flags, ('-Xlinker -bbigtoc -Xlinker -bnoquiet')); # if we have lots of toc entries...
-      unshift(@Ld_flags, ('-Xlinker -bbigtoc')); # just in case we have lots of toc entries...
-
   } elsif ($TargetPlatform =~ /^sparc-/) {
       # we know how to *mangle* asm for SPARC
       unshift(@CcRegd_flags, ('-D__STG_REV_TBLS__'));
@@ -1256,7 +1253,11 @@ sub setupLinkOpts {
 	  ,'-u', "${uscore}STBase_SZh_static_info"
           ,'-u', "${uscore}DEBUG_REGS"
 	));
-
+  if ($TargetPlatform =~ /^powerpc-|^rs6000-/) {
+    # sometimes we have lots of toc entries...
+    #  unshift(@Ld_flags, ('-Xlinker -bbigtoc -Xlinker -bnoquiet')); 
+    unshift(@Ld_flags, ('-Xlinker -bbigtoc')); 
+  }
 
 } # end of setupLinkOpts
 
@@ -1711,11 +1712,6 @@ Now the Haskell compiler, C compiler, and assembler
     }
 
     if ($do_cc) {
-#       # if we're going to split up object files,              #delete! andre
-#       # we inject split markers into the .hc file now         #delete! andre
-#       if ( $HscOut eq '-C=' && $SplitObjFiles ) {             #delete! andre
-#           &inject_split_markers ( $hsc_out );                 #delete! andre
-#        }                                                      #delete! andre
 	&runGcc    ($is_hc_file, $hsc_out, $cc_as_o);
 	&runMangler($is_hc_file, $cc_as_o, $cc_as, $ifile_root);
     }