workaround for #1421 (Solaris linker being picky about .size)
authorSimon Marlow <simonmar@microsoft.com>
Thu, 14 Jun 2007 09:57:27 +0000 (09:57 +0000)
committerSimon Marlow <simonmar@microsoft.com>
Thu, 14 Jun 2007 09:57:27 +0000 (09:57 +0000)
driver/mangler/ghc-asm.lprl

index 91d20d6..88766cb 100644 (file)
@@ -173,7 +173,13 @@ sub init_TARGET_STUFF {
     $T_X86_BADJMP   = '^\tjmp\s+[^\.\*]';
 
     $T_MOVE_DIRVS   = '^(\s*(\.(p2)?align\s.*|\.globl\s+\S+|\.text|\.data|\.section\s+.*|\.type\s+.*|\.size\s+\S+\s*,\s*\d+|\.ident.*|\.local.*)\n)';
-    $T_COPY_DIRVS   = '^\s*\.(globl|type|size|local)';
+    if ( $TargetPlatform =~ /solaris2/ ) {
+            # newer Solaris linkers are picky about .size information, so
+            # omit it (see #1421)
+            $T_COPY_DIRVS   = '^\s*\.(globl|local)';
+    } else {
+            $T_COPY_DIRVS   = '^\s*\.(globl|type|size|local)';
+    }
 
     $T_DOT_WORD            = '\.(long|value|word|byte|zero)';
     $T_DOT_GLOBAL   = '\.globl';