[LLVMbugs] [Bug 19232] New: Thread-local storage is unsupported for the current target (iOS)

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sun Mar 23 16:50:10 PDT 2014


            Bug ID: 19232
           Summary: Thread-local storage is unsupported for the current
                    target (iOS)
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++11
          Assignee: unassignedclangbugs at nondot.org
          Reporter: engineering at wukix.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


When targeting iOS with clang using the _Thread_local or __thread declarations
I get the error "Thread-local storage is unsupported for the current target".
It works fine when targeting OS X.

Example code:
(in foo.c)
#include <stdio.h>

__thread int foo;

Having this would be very valuable for mocl (https://wukix.com/mocl) and I
suspect other languages targeting iOS as well. e.g.
"D (also the runtime) relies fairly heavily on thread-local storage
support. LLVM provides an easy way of creating TLS variables via the
thread_local attribute, but support for that is not available on all
target platforms – and it seems that Darwin/ARM is one of them (they
work on Linux resp. glibc)."

I could go down the road of using the pthread functions for TLS, but this would
involve a lot of re-engineering. Having a simple declaration like __thread
allows me to port global variables designed for a single thread into a
multi-threaded context without causing a lot of breakage.

Curious what can be done to get this working on iOS? Willing to put in some
(limited) effort if you can point me in the right direction.

Wes Henderson
Wukix, Inc.

You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140323/8a6ccfad/attachment.html>

More information about the llvm-bugs mailing list