summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsimonm <unknown>1999-05-17 16:22:14 +0000
committersimonm <unknown>1999-05-17 16:22:14 +0000
commitfb63409659ef007803122996bd8494f67c1abca4 (patch)
tree97493e18dac72f3ff274c4bd676467ec1d00605a
parent1068d91c583fd1de05ddd40316d33644bb8824ea (diff)
downloadhaskell-fb63409659ef007803122996bd8494f67c1abca4.tar.gz
[project @ 1999-05-17 16:22:14 by simonm]
Fix for egcs on sparc.
-rw-r--r--ghc/driver/ghc-asm.lprl3
1 files changed, 2 insertions, 1 deletions
diff --git a/ghc/driver/ghc-asm.lprl b/ghc/driver/ghc-asm.lprl
index 9fa847f8ea..29d7c6a002 100644
--- a/ghc/driver/ghc-asm.lprl
+++ b/ghc/driver/ghc-asm.lprl
@@ -265,7 +265,7 @@ sub init_TARGET_STUFF {
$T_COPY_DIRVS = '\.(global|proc|stab)';
$T_hsc_cc_PAT = '\.asciz.*\)(hsc|cc) (.*)\\\\t(.*)"';
- $T_DOT_WORD = '\.(word|byte|half|skip)';
+ $T_DOT_WORD = '\.(word|byte|half|skip|uahalf)';
$T_DOT_GLOBAL = '^\t\.global';
$T_HDR_literal = "\.text\n\t\.align 8\n";
$T_HDR_misc = "\.text\n\t\.align 4\n";
@@ -644,6 +644,7 @@ sub mangle_asm {
if ($TargetPlatform =~ /^i386-/) {
$p =~ s/^\tpushl \%edi\n//;
$p =~ s/^\tpushl \%esi\n//;
+ $p =~ s/^\tpushl \%ebx\n//;
$p =~ s/^\tsubl \$\d+,\%esp\n//;
$p =~ s/^\tmovl \$\d+,\%eax\n\tcall __alloca\n// if ($TargetPlatform =~ /^.*-cygwin32/);
} elsif ($TargetPlatform =~ /^m68k-/) {