summaryrefslogtreecommitdiff
path: root/rts
diff options
context:
space:
mode:
authorKarel Gardas <karel.gardas@centrum.cz>2015-12-22 22:53:00 +0100
committerKarel Gardas <karel.gardas@centrum.cz>2015-12-23 10:43:00 +0100
commit84f673961942c90e28c215e2c31a62444fbc8237 (patch)
tree6357080c27cbdc91c51a6c01dc80611b08308efc /rts
parentdab8e34d279e8c8ccc2b44f1c00c6798c820731d (diff)
downloadhaskell-84f673961942c90e28c215e2c31a62444fbc8237.tar.gz
- fix gc_thread related compilation failure on Solaris/i386 platform
Summary: This patch fixes gc_thread related compilation failure on Solaris/i386 platform. It uses Linux way of __thread declared gc_thread variable for register starving i386 from now. Reviewers: bgamari, austin, erikd Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1688
Diffstat (limited to 'rts')
-rw-r--r--rts/sm/GCTDecl.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/rts/sm/GCTDecl.h b/rts/sm/GCTDecl.h
index 5602cb8771..f1f9516098 100644
--- a/rts/sm/GCTDecl.h
+++ b/rts/sm/GCTDecl.h
@@ -78,7 +78,8 @@ extern __thread gc_thread* gct;
x86/Linux, because we have too few registers available. In my
tests it was worth about 5% in GC performance, but of course that
might change as gcc improves. -- SDM 2009/04/03 */
-#elif (defined(i386_HOST_ARCH) && defined(linux_HOST_OS))
+#elif (defined(i386_HOST_ARCH) && (defined(linux_HOST_OS) \
+ || defined(solaris2_HOST_OS)))
extern __thread gc_thread* gct;
#define SET_GCT(to) gct = (to)
#define DECLARE_GCT __thread gc_thread* gct;