diff options
author | Ben.Lippmeier@anu.edu.au <unknown> | 2009-01-05 03:07:58 +0000 |
---|---|---|
committer | Ben.Lippmeier@anu.edu.au <unknown> | 2009-01-05 03:07:58 +0000 |
commit | e50364a5a8e5d736445cd8e5b10a813ec0a5a2e0 (patch) | |
tree | 8ef5fceda89573eedfff8eeecfe0f0d831fa718b /rts | |
parent | 9efc323b5b57a0b4d50008c942a90a45dc51ee2d (diff) | |
download | haskell-e50364a5a8e5d736445cd8e5b10a813ec0a5a2e0.tar.gz |
Don't pin a register for gc_thread on SPARC.
This makes the build work again.
Diffstat (limited to 'rts')
-rw-r--r-- | rts/sm/GCThread.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/rts/sm/GCThread.h b/rts/sm/GCThread.h index d6af2b1571..1d0a05ce44 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 |