From: wolfgang.thaller@gmx.net Date: Mon, 20 Nov 2006 17:15:53 +0000 (+0000) Subject: Mac OS X mangler: follow some minor gcc changes X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=40f8b790f8d32339d2a360c52e29b6c707fbb38a Mac OS X mangler: follow some minor gcc changes --- diff --git a/driver/mangler/ghc-asm.lprl b/driver/mangler/ghc-asm.lprl index 21b56f8..ab43cdc 100644 --- a/driver/mangler/ghc-asm.lprl +++ b/driver/mangler/ghc-asm.lprl @@ -298,7 +298,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+|\.section .*|\.lcomm.*)\n)'; + $T_MOVE_DIRVS = '^(\s*(\.(p2)?align\s.*|\.text|\.data|\.const_data|\.cstring|\.non_lazy_symbol_pointer|\.const|\.static_const|\.literal4|\.literal8|\.static_data|\.globl \S+|\.section .*|\.lcomm.*)\n)'; $T_COPY_DIRVS = '\.(globl|lcomm)'; $T_DOT_WORD = '\.(long|short|byte|fill|space)'; @@ -326,7 +326,7 @@ sub init_TARGET_STUFF { $T_X86_PRE_LLBL = 'L'; $T_X86_BADJMP = '^\tjmp [^L\*]'; - $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 .*|\.lcomm.*)\n)'; + $T_MOVE_DIRVS = '^(\s*(\.(p2)?align\s.*|\.text|\.data|\.const_data|\.cstring|\.non_lazy_symbol_pointer|\.const|\.static_const|\.literal4|\.literal8|\.static_data|\.globl \S+|\.section .*|\.lcomm.*)\n)'; $T_COPY_DIRVS = '\.(globl|lcomm)'; $T_DOT_WORD = '\.(long|short|byte|fill|space)'; @@ -929,8 +929,8 @@ sub mangle_asm { $p =~ s/^\tstw r0,\d+\(r1\)\n//g; $p =~ s/^\tstwu r1,-\d+\(r1\)\n//; $p =~ s/^\tstw r\d+,-\d+\(r1\)\n//g; - $p =~ s/^\tbcl 20,31,L\d+\$pb\n//; - $p =~ s/^L\d+\$pb:\n//; + $p =~ s/^\tbcl 20,31,\"?L\d+\$pb\"?\n//; + $p =~ s/^\"?L\d+\$pb\"?:\n//; $p =~ s/^\tmflr r31\n//; # This is bad: GCC 3 seems to zero-fill some local variables in the prologue