diff options
author | Karel Gardas <karel.gardas@centrum.cz> | 2015-12-22 22:53:00 +0100 |
---|---|---|
committer | Karel Gardas <karel.gardas@centrum.cz> | 2015-12-23 10:43:00 +0100 |
commit | 84f673961942c90e28c215e2c31a62444fbc8237 (patch) | |
tree | 6357080c27cbdc91c51a6c01dc80611b08308efc | |
parent | dab8e34d279e8c8ccc2b44f1c00c6798c820731d (diff) | |
download | haskell-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
-rw-r--r-- | rts/sm/GCTDecl.h | 3 |
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; |