diff options
author | simonmar <unknown> | 2005-06-03 10:08:55 +0000 |
---|---|---|
committer | simonmar <unknown> | 2005-06-03 10:08:55 +0000 |
commit | 71bc4a3a0c23c3dd21e770c3da1f2cff6174c6de (patch) | |
tree | 8eb61d911135283d67d94bbb3d30f0654f5e455a /ghc/driver | |
parent | c71357f94f7d23c25d2a28ae6ab23f885652000c (diff) | |
download | haskell-71bc4a3a0c23c3dd21e770c3da1f2cff6174c6de.tar.gz |
[project @ 2005-06-03 10:08:55 by simonmar]
Check for reserved stack space blown.
Diffstat (limited to 'ghc/driver')
-rw-r--r-- | ghc/driver/mangler/ghc-asm.lprl | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/ghc/driver/mangler/ghc-asm.lprl b/ghc/driver/mangler/ghc-asm.lprl index 935b2a45d5..493c6e35d5 100644 --- a/ghc/driver/mangler/ghc-asm.lprl +++ b/ghc/driver/mangler/ghc-asm.lprl @@ -778,6 +778,12 @@ sub mangle_asm { $r =~ s/^\s*\n//; if ($TargetPlatform =~ /^i386-/) { + if ($p =~ /^\tsubl\s+\$(\d+),\s*\%esp\n/) { + if ($1 >= 8192) { + die "Error: reserved stack space exceeded!\n Possible workarounds: compile with -fasm, or try another version of gcc.\n" + } + } + $p =~ s/^\tpushl\s+\%edi\n//; $p =~ s/^\tpushl\s+\%esi\n//; $p =~ s/^\tpushl\s+\%ebx\n//; |