[project @ 2002-09-25 10:53:06 by simonmar]
authorsimonmar <unknown>
Wed, 25 Sep 2002 10:53:06 +0000 (10:53 +0000)
committersimonmar <unknown>
Wed, 25 Sep 2002 10:53:06 +0000 (10:53 +0000)
Hopefully fix recent breakage in mangling/splitting: toss the .size
directives over the fence into the next block along with .globl and
.type directives (but carefullly avoid tossing the .size directives
for a function, which appear at the *end* of a function block).

ghc/driver/mangler/ghc-asm.lprl

index 6ff483f..3951ca4 100644 (file)
@@ -188,8 +188,8 @@ sub init_TARGET_STUFF {
     $T_X86_PRE_LLBL        = '.L';
     $T_X86_BADJMP   = '^\tjmp\s+[^\.\*]';
 
-    $T_MOVE_DIRVS   = '^(\s*(\.(p2)?align\s+\d+(,\s*0x90)?|\.globl\s+\S+|\.text|\.data|\.section\s+.*|\.type\s+.*|\.ident.*)\n)';
-    $T_COPY_DIRVS   = '^\s*\.(globl|type)';
+    $T_MOVE_DIRVS   = '^(\s*(\.(p2)?align\s+\d+(,\s*0x90)?|\.globl\s+\S+|\.text|\.data|\.section\s+.*|\.type\s+.*|\.size\s+\S+,\d+|\.ident.*)\n)';
+    $T_COPY_DIRVS   = '^\s*\.(globl|type|size)';
 
     if ( $TargetPlatform =~ /freebsd|netbsd/ ) {
         $T_hsc_cc_PAT   = '\.ascii.*\)(hsc|cc) (.*)\\\\11"\n\t\.ascii\s+"(.*)\\\\0"';