summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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';