From f5026e4176a67eb2a17581eef2dc441ce137fb54 Mon Sep 17 00:00:00 2001 From: andre Date: Tue, 27 May 1997 19:20:09 +0000 Subject: [PATCH] [project @ 1997-05-27 19:20:06 by andre] RS6000/AIX patches --- ghc/driver/ghc-asm.lprl | 2 +- ghc/driver/ghc.lprl | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/ghc/driver/ghc-asm.lprl b/ghc/driver/ghc-asm.lprl index 6fb55f4..31d0620 100644 --- a/ghc/driver/ghc-asm.lprl +++ b/ghc/driver/ghc-asm.lprl @@ -660,7 +660,7 @@ sub mangle_asm { $p =~ s/^\tstw? 0,\d+\(1\)\n//; $p =~ s/^\tstw?u 1,-\d+\(1\)\n//; $p =~ s/^\tstw? \d+,-\d+\(1\)\n//g; - $p =~ s/^\tstfd \d+,-\d+\(1\)\n//; + $p =~ s/^\tstfd \d+,-\d+\(1\)\n//g; } else { print STDERR "$Pgm: unknown prologue mangling? $TargetPlatform\n"; } diff --git a/ghc/driver/ghc.lprl b/ghc/driver/ghc.lprl index 36732e6..03dd161 100644 --- a/ghc/driver/ghc.lprl +++ b/ghc/driver/ghc.lprl @@ -1216,15 +1216,12 @@ sub setupMachOpts { unshift(@CcRegd_flags, ('-DSTACK_CHECK_BY_PAGE_FAULT=1')) if $StkChkByPageFaultOK; unshift(@CcBoth_flags, ('-static')); - } elsif ($TargetPlatform =~ /^powerpc-|^rs6000/) { + } elsif ($TargetPlatform =~ /^powerpc-|^rs6000-/) { # we know how to *mangle* asm for PowerPC # :-( unshift(@CcRegd_flags, ('-D__STG_REV_TBLS__')); unshift(@CcRegd_flags, ('-DSTACK_CHECK_BY_PAGE_FAULT=1')) if $StkChkByPageFaultOK; unshift(@CcBoth_flags, ('-static')); # always easier to start with unshift(@CcRegd_flags, ('-finhibit-size-directive')); # avoids traceback tables -# unshift(@Ld_flags, ('-Xlinker -bbigtoc -Xlinker -bnoquiet')); # if we have lots of toc entries... - unshift(@Ld_flags, ('-Xlinker -bbigtoc')); # just in case we have lots of toc entries... - } elsif ($TargetPlatform =~ /^sparc-/) { # we know how to *mangle* asm for SPARC unshift(@CcRegd_flags, ('-D__STG_REV_TBLS__')); @@ -1256,7 +1253,11 @@ sub setupLinkOpts { ,'-u', "${uscore}STBase_SZh_static_info" ,'-u', "${uscore}DEBUG_REGS" )); - + if ($TargetPlatform =~ /^powerpc-|^rs6000-/) { + # sometimes we have lots of toc entries... + # unshift(@Ld_flags, ('-Xlinker -bbigtoc -Xlinker -bnoquiet')); + unshift(@Ld_flags, ('-Xlinker -bbigtoc')); + } } # end of setupLinkOpts @@ -1711,11 +1712,6 @@ Now the Haskell compiler, C compiler, and assembler } if ($do_cc) { -# # if we're going to split up object files, #delete! andre -# # we inject split markers into the .hc file now #delete! andre -# if ( $HscOut eq '-C=' && $SplitObjFiles ) { #delete! andre -# &inject_split_markers ( $hsc_out ); #delete! andre -# } #delete! andre &runGcc ($is_hc_file, $hsc_out, $cc_as_o); &runMangler($is_hc_file, $cc_as_o, $cc_as, $ifile_root); } -- 1.7.10.4