From 84f673961942c90e28c215e2c31a62444fbc8237 Mon Sep 17 00:00:00 2001 From: Karel Gardas Date: Tue, 22 Dec 2015 22:53:00 +0100 Subject: - 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 --- rts/sm/GCTDecl.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'rts/sm') 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; -- cgit v1.2.1