[LLVMbugs] [Bug 20737] clang does not support GCC's TLS emulation

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Sat Aug 23 11:34:06 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20737

Yaron Keren <yaron.keren at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |WONTFIX

--- Comment #2 from Yaron Keren <yaron.keren at gmail.com> ---
Hi,

I thought it won't be so easy... anyhow,

 __emutls_v._ZSt11__once_call
 __emutls_v._ZSt15__once_callable

appear in libstdc++6.dll from mingw-builds 4.8.3 and 4.9.1, 32 bit, posix
threads, dwarf eh which are very current releases:

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.3/threads-posix/dwarf/

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-posix/dwarf/

The win32-threads version does not have these in libstdc++6.dll, but for a bad
reason - it does not have C++11 threading and atomics! the code generated by

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.9.1/threads-win32/dwarf/

the example produces identical code for both posix and win32 version and using
emutls:
...
    movl    $___emutls_v.a, (%esp)
    call    ___emutls_get_address
    movl    $10, (%eax)
...

Do you know of a mingw distribution not using emutls and compatible with clang?

Thanks for looking into this.

-- 
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/20140823/e455b239/attachment.html>


More information about the llvm-bugs mailing list