Re: Intended usage of _GLIBCXX_HAVE_TLS / emutls symbols on OSX

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Dave,

For GCC on OSX, at present, TLS is only supported via emuTLS.

Dave Gittins <dave.gittins@xxxxxxxxx> wrote:

Update: I believe this is resolved by adding -lgcc_s.1 to the build
command. (gcc does this automatically)

This is correct - the support for emulated TLS is in the shared libgcc.

So in case anyone else runs into this, here is my working build
command to build with clang on OSX against the gcc 7.5 std lib:

usr/local/Cellar/llvm@7/7.1.0_1/bin/clang++ -isystem
/usr/local/Cellar/gcc@7/7.5.0/include/c++/7.5.0 -isystem
/usr/local/Cellar/gcc@7/7.5.0/include/c++/7.5.0/x86_64-apple-darwin18.7.0
-isystem /usr/local/Cellar/gcc@7/7.5.0/include/c++/7.5.0/backward -L
/usr/local/Cellar/gcc@7/7.5.0/lib/gcc/7 -nostdinc++ -stdlib=libstdc++
-std=c++17  -femulated-tls -lgcc_s.1 example.cpp -o example

I would still like to know whether the change to _GLIBCXX_HAVE_TLS was
intentional, though.

GCC on OSX has had emulated TLS since it was introduced (sometime in 4.x
IIRC) so I suppose one might argue that recognising the support is a fixed bug.

However, at this moment, I don’t recall any specific change that was targetted
at this, so will do some review locally.

will reply here if there’s anything useful to add after that review,
cheers
Iain




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux