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 /driver | |
parent | c83f6043834e171a0360bb8f456c5a57f875dc0e (diff) | |
download | haskell-974d0c018057cda10dff6309de65bae8780190be.tar.gz |
workaround for #1421 (Solaris linker being picky about .size)
Diffstat (limited to 'driver')
-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'; |