Don't pin a register for gc_thread on SPARC.
authorBen.Lippmeier@anu.edu.au <unknown>
Mon, 5 Jan 2009 03:07:58 +0000 (03:07 +0000)
committerBen.Lippmeier@anu.edu.au <unknown>
Mon, 5 Jan 2009 03:07:58 +0000 (03:07 +0000)
This makes the build work again.

rts/sm/GCThread.h

index d6af2b1..1d0a05c 100644 (file)
@@ -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