Enable pthread_getspecific() tls for LLVM compiler
authorDavid M Peixotto <dmp@rice.edu>
Tue, 28 Jun 2011 20:31:42 +0000 (15:31 -0500)
committerDavid M Peixotto <dmp@rice.edu>
Fri, 7 Oct 2011 21:48:34 +0000 (16:48 -0500)
commitdba7254566b121408e7167200d0223a531b66e8b
tree0a3bfcb739b35123822cb644db93081b46c54fca
parent29a97fded4010bd01aa0a17945c84258e285d421
Enable pthread_getspecific() tls for LLVM compiler

LLVM does not support the __thread attribute for thread
local storage and may generate incorrect code for global
register variables. We want to allow building the runtime with
LLVM-based compilers such as llvm-gcc and clang,
particularly for MacOS.

This patch changes the gct variable used by the garbage
collector to use pthread_getspecific() for thread local
storage when an llvm based compiler is used to build the
runtime.
includes/Stg.h
rts/StgCRun.c
rts/Task.c
rts/Task.h
rts/sm/GC.c
rts/sm/GCTDecl.h