summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorwolfgang.thaller@gmx.net <unknown>2006-11-20 17:15:53 +0000
committerwolfgang.thaller@gmx.net <unknown>2006-11-20 17:15:53 +0000
commit40f8b790f8d32339d2a360c52e29b6c707fbb38a (patch)
tree216796cbef6a1baf2c713f57dc0de74599610b04 /driver
parent04ed4bf79faffd0170030b963c7883be95d75376 (diff)
downloadhaskell-40f8b790f8d32339d2a360c52e29b6c707fbb38a.tar.gz
Mac OS X mangler: follow some minor gcc changes
Diffstat (limited to 'driver')
-rw-r--r--driver/mangler/ghc-asm.lprl8
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