[project @ 2000-04-05 13:56:30 by panne]
[ghc-hetmet.git] / ghc / driver / ghc-asm.lprl
index 6139b3c..93c1c3a 100644 (file)
@@ -564,7 +564,7 @@ sub mangle_asm {
                unless $KNOWN_FUNNY_THING{$thing}
                    || /^$TUS[@]?stg_.*$TPOSTLBL[@]?$/o    # RTS internals
                    || /^$TUS[@]__fexp_.*$TPOSTLBL$/o      # foreign export
-                   || /^$TUS[@]?_reg.*$TPOSTLBL$/o        # PROF: __reg<module>
+                   || /^$TUS[@]?__init.*$TPOSTLBL$/o      # __init<module>
                    || /^$TUS[@]?.*_btm$TPOSTLBL$/o        # large bitmaps
                    || /^$TUS[@]?.*_closure_tbl$TPOSTLBL$/o; # closure tables
            $chk[++$i]   = $_;
@@ -713,6 +713,7 @@ sub mangle_asm {
                    $e =~ s/^\tpopl \%esi\n//;
                    $e =~ s/^\tpopl \%ecx\n//;
                    $e =~ s/^\taddl \$\d+,\%esp\n//;
+                   $e =~ s/^\tsubl \$-\d+,\%esp\n//;
                } elsif ($TargetPlatform =~ /^m68k-/) {
                    $e =~ s/^\tunlk a6\n//;
                    $e =~ s/^\trts\n//;
@@ -887,7 +888,7 @@ sub mangle_asm {
                 };
                &print_doctored($chk[$i], 0);
                 if ($TargetPlatform =~ /^powerpc-|^rs6000-/ && $printDS) { 
-#ok                   if ($chksymb[$i] !~ /\_regMain/) {
+#ok                   if ($chksymb[$i] !~ /\__init_Main/) {
                     print OUTASM "\.csect ${chksymb[$i]}[DS]\n";       
                     print OUTASM "${p}TOC[tc0], 0\n";
 #ok                   }
@@ -1168,7 +1169,7 @@ sub print_doctored {
 
     if ( $TargetPlatform !~ /^i386-/ 
       || ! /^\t[a-z]/  # no instructions in here, apparently
-      || /^${T_US}_reg[A-Za-z0-9_]+${T_POST_LBL}/) {
+      || /^${T_US}__init_[A-Za-z0-9_]+${T_POST_LBL}/) {
        print OUTASM $_;
        return;
     }