diff options
author | wolfgang.thaller@gmx.net <unknown> | 2006-11-20 17:15:53 +0000 |
---|---|---|
committer | wolfgang.thaller@gmx.net <unknown> | 2006-11-20 17:15:53 +0000 |
commit | 40f8b790f8d32339d2a360c52e29b6c707fbb38a (patch) | |
tree | 216796cbef6a1baf2c713f57dc0de74599610b04 /driver | |
parent | 04ed4bf79faffd0170030b963c7883be95d75376 (diff) | |
download | haskell-40f8b790f8d32339d2a360c52e29b6c707fbb38a.tar.gz |
Mac OS X mangler: follow some minor gcc changes
Diffstat (limited to 'driver')
-rw-r--r-- | driver/mangler/ghc-asm.lprl | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/driver/mangler/ghc-asm.lprl b/driver/mangler/ghc-asm.lprl index 21b56f8039..ab43cdcd7d 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 |