diff options
| author | Simon Marlow <simonmar@microsoft.com> | 2007-06-14 09:57:27 +0000 | 
|---|---|---|
| committer | Simon Marlow <simonmar@microsoft.com> | 2007-06-14 09:57:27 +0000 | 
| commit | 974d0c018057cda10dff6309de65bae8780190be (patch) | |
| tree | 48fc105459833904ec049af044e9bbb05c7f8308 | |
| parent | c83f6043834e171a0360bb8f456c5a57f875dc0e (diff) | |
| download | haskell-974d0c018057cda10dff6309de65bae8780190be.tar.gz | |
workaround for #1421 (Solaris linker being picky about .size)
| -rw-r--r-- | driver/mangler/ghc-asm.lprl | 8 | 
1 files changed, 7 insertions, 1 deletions
diff --git a/driver/mangler/ghc-asm.lprl b/driver/mangler/ghc-asm.lprl index 91d20d67db..88766cba88 100644 --- a/driver/mangler/ghc-asm.lprl +++ b/driver/mangler/ghc-asm.lprl @@ -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';  | 
