From a67d3c23cebb1c82e3a4f50cf5c55167113eec34 Mon Sep 17 00:00:00 2001 From: sof Date: Fri, 3 Jan 1997 03:08:51 +0000 Subject: [PATCH] [project @ 1997-01-03 03:08:51 by sof] Groks output from cygwin32-gcc --- ghc/driver/ghc-asm.lprl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ghc/driver/ghc-asm.lprl b/ghc/driver/ghc-asm.lprl index eded9b3..caea5ea 100644 --- a/ghc/driver/ghc-asm.lprl +++ b/ghc/driver/ghc-asm.lprl @@ -104,7 +104,7 @@ sub init_TARGET_STUFF { $T_HDR_direct = "\t.SPACE \$TEXT\$\n\t.SUBSPA \$CODE\$\n\t\.align 4\n"; #--------------------------------------------------------# - } elsif ( $TargetPlatform =~ /^i386-.*-(linuxaout|freebsd)/ ) { + } elsif ( $TargetPlatform =~ /^i386-.*-(linuxaout|freebsd|cygwin32)/ ) { $T_STABBY = 1; # 1 iff .stab things (usually if a.out format) $T_US = '_'; # _ if symbols have an underscore on the front @@ -119,6 +119,7 @@ sub init_TARGET_STUFF { $T_MOVE_DIRVS = '^(\s*(\.align\s+\d+(,0x90)?|\.globl\s+\S+|\.text|\.data|\.stab[^n].*|\.type\s+.*|\.size\s+.*)\n)'; $T_COPY_DIRVS = '\.(globl|stab)'; $T_hsc_cc_PAT = '\.ascii.*\)(hsc|cc) (.*)\\\\11"\n\t\.ascii\s+"(.*)\\\\0"'; + $T_hsc_cc_PAT = '\.ascii.*\)(hsc|cc) (.*)\\11"\n\t\.ascii\s+"(.*)\\0"' if ($TargetPlatform =~ /^.*-cygwin32/ ); $T_DOT_WORD = '\.long'; $T_DOT_GLOBAL = '\.globl'; $T_HDR_literal = "\.text\n\t\.align 2\n"; @@ -567,6 +568,7 @@ sub mangle_asm { $p =~ s/^\tpushl \%edi\n//; $p =~ s/^\tpushl \%esi\n//; $p =~ s/^\tsubl \$\d+,\%esp\n//; + $p =~ s/^\tmovl \$\d+,\%eax\n\tcall __alloca\n// if ($TargetPlatform =~ /^.*-cygwin32/); } elsif ($TargetPlatform =~ /^m68k-/) { $p =~ s/^\tlink a6,#-?\d.*\n//; $p =~ s/^\tmovel d2,sp\@-\n//; -- 1.7.10.4