From: wolfgang Date: Fri, 27 Jun 2003 18:08:53 +0000 (+0000) Subject: [project @ 2003-06-27 18:08:53 by wolfgang] X-Git-Tag: Approx_11550_changesets_converted~727 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=c27762cf16c15886017ecd02db2e541d1ade9c81;p=ghc-hetmet.git [project @ 2003-06-27 18:08:53 by wolfgang] PowerPC: Make it work with Apple's version of GCC 3.3 --- diff --git a/ghc/driver/mangler/ghc-asm.lprl b/ghc/driver/mangler/ghc-asm.lprl index 29cbfb1..7ddacaf 100644 --- a/ghc/driver/mangler/ghc-asm.lprl +++ b/ghc/driver/mangler/ghc-asm.lprl @@ -297,7 +297,7 @@ sub init_TARGET_STUFF { $T_CONST_LBL = '^\LC\d+:'; # regexp for what such a lbl looks like $T_POST_LBL = ':'; - $T_MOVE_DIRVS = '^(\s*(\.align \d+|\.text|\.data|\.const_data|\.cstring|\.non_lazy_symbol_pointer|\.const|\.static_const|\.literal4|\.literal8|\.static_data|\.globl \S+)\n)'; + $T_MOVE_DIRVS = '^(\s*(\.align \d+|\.text|\.data|\.const_data|\.cstring|\.non_lazy_symbol_pointer|\.const|\.static_const|\.literal4|\.literal8|\.static_data|\.globl \S+|\.section .*)\n)'; $T_COPY_DIRVS = '\.(globl)'; $T_hsc_cc_PAT = '\.byte.*\)(hsc|cc) (.*)"\n\t\.byte \d+\n\t\.byte "(.*)"\n\t\.byte \d+'; @@ -602,22 +602,13 @@ sub mangle_asm { $chkcat[$i] = 'misc'; $chksymb[$i] = ''; - } elsif ( $TargetPlatform =~ /^powerpc-apple-.*/ && /^\.picsymbol_stub/ ) - { - $chk[++$i] = $_; - $chkcat[$i] = 'dyld'; - $chksymb[$i] = ''; - } elsif ( $TargetPlatform =~ /^powerpc-apple-.*/ && /^\.symbol_stub/ ) - { - $chk[++$i] = $_; - $chkcat[$i] = 'dyld'; - $chksymb[$i] = ''; - } elsif ( $TargetPlatform =~ /^powerpc-apple-.*/ && /^\.lazy_symbol_pointer/ ) - { - $chk[++$i] = $_; - $chkcat[$i] = 'dyld'; - $chksymb[$i] = ''; - } elsif ( $TargetPlatform =~ /^powerpc-apple-.*/ && /^\.non_lazy_symbol_pointer/ ) + } elsif ( $TargetPlatform =~ /^powerpc-apple-.*/ && ( + /^\.picsymbol_stub/ + || /^\.section __TEXT,__picsymbol_stub1,.*/ + || /^\.symbol_stub/ + || /^\.section __TEXT,__symbol_stub1,.*/ + || /^\.lazy_symbol_pointer/ + || /^\.non_lazy_symbol_pointer/ )) { $chk[++$i] = $_; $chkcat[$i] = 'dyld';