From e50364a5a8e5d736445cd8e5b10a813ec0a5a2e0 Mon Sep 17 00:00:00 2001 From: "Ben.Lippmeier@anu.edu.au" Date: Mon, 5 Jan 2009 03:07:58 +0000 Subject: [PATCH] Don't pin a register for gc_thread on SPARC. This makes the build work again. --- rts/sm/GCThread.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/rts/sm/GCThread.h b/rts/sm/GCThread.h index d6af2b1..1d0a05c 100644 --- a/rts/sm/GCThread.h +++ b/rts/sm/GCThread.h @@ -195,7 +195,14 @@ extern gc_thread **gc_threads; #define GLOBAL_REG_DECL(type,name,reg) register type name REG(reg); -#if defined(REG_Base) && !defined(i386_HOST_ARCH) +#if defined(sparc_HOST_ARCH) +// Don't use REG_base or R1 for gct on SPARC because they're getting clobbered +// by something else. Not sure what yet. -- BL 2009/01/03 + +extern __thread gc_thread* gct; +#define DECLARE_GCT __thread gc_thread* gct; + +#elif defined(REG_Base) && !defined(i386_HOST_ARCH) // on i386, REG_Base is %ebx which is also used for PIC, so we don't // want to steal it -- 1.7.10.4