[project @ 2001-10-16 11:20:58 by rrt]
[ghc-hetmet.git] / ghc / driver / split / ghc-split.lprl
index 6ed909a..66f2be6 100644 (file)
@@ -45,7 +45,7 @@ sub split_asm_file {
 #      if $prologue_stuff eq $s_stuff;
 
     # lie about where this stuff came from
-    $prologue_stuff =~ s|"/tmp/ghc\d+\.c"|"$ifile_root\.hc"|g;
+    $prologue_stuff =~ s|"${Tmp_prefix}\.c"|"$ifile_root\.hc"|g;
 
     while ( $_ ne '' ) { # not EOF
        $octr++;
@@ -139,6 +139,7 @@ sub ReadTMPIUpToAMarker {
     print STDERR "### BLOCK:$count:\n$str" if $Dump_asm_splitting_info;
 
     # return str
+    $str =~ tr/\r//d if $TargetPlatform =~ /-mingw32$/;
     $str;
 }
 \end{code}
@@ -290,7 +291,7 @@ sub process_asm_block_iX86 {
     $str = "\.text\n\t.align 4\n" . $str;
 
     # remove/record any literal constants defined here
-    while ( ($str =~ /(\.?(LC\d+):\n(\t\.(ascii|string).*\n|\.byte.*\n)+)/ )) {
+    while ( ($str =~ /(\.?(LC\d+):\n(\t\.(ascii|string).*\n|\s*\.byte.*\n)+)/ )) {
        local($label) = $2;
        local($body)  = $1;
 
@@ -299,7 +300,7 @@ sub process_asm_block_iX86 {
 
        $LocalConstant{$label} = $body;
        
-       $str =~ s/\.?LC\d+:\n(\t\.(ascii|string).*\n|\.byte.*\n)+//;
+       $str =~ s/\.?LC\d+:\n(\t\.(ascii|string).*\n|\s*\.byte.*\n)+//;
     }
 
     # inject definitions for any local constants now used herein