summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
authorSimon Marlow <simonmar@microsoft.com>2007-06-14 09:57:27 +0000
committerSimon Marlow <simonmar@microsoft.com>2007-06-14 09:57:27 +0000
commit974d0c018057cda10dff6309de65bae8780190be (patch)
tree48fc105459833904ec049af044e9bbb05c7f8308 /driver
parentc83f6043834e171a0360bb8f456c5a57f875dc0e (diff)
downloadhaskell-974d0c018057cda10dff6309de65bae8780190be.tar.gz
workaround for #1421 (Solaris linker being picky about .size)
Diffstat (limited to 'driver')
-rw-r--r--driver/mangler/ghc-asm.lprl8
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';