diff options
author | Rasmus Villemoes <rasmus.villemoes@prevas.dk> | 2021-11-05 15:37:33 +0100 |
---|---|---|
committer | Rasmus Villemoes <rv@rasmusvillemoes.dk> | 2021-11-09 09:51:08 +0100 |
commit | cc6b8cd9a21b363815998b11e5cc7529557a9ce5 (patch) | |
tree | 0d1b9d805ab02a6ae2dd8469e9cc6c48bcfd816f | |
parent | 69b6cce92e2138494f9bba546347143f7bf4bfd1 (diff) | |
download | gcc-cc6b8cd9a21b363815998b11e5cc7529557a9ce5.zip gcc-cc6b8cd9a21b363815998b11e5cc7529557a9ce5.tar.gz gcc-cc6b8cd9a21b363815998b11e5cc7529557a9ce5.tar.bz2 |
libstdc++: only define _GLIBCXX_HAVE_TLS for VxWorks >= 6.6
According to
https://gcc.gnu.org/legacy-ml/gcc-patches/2008-03/msg01698.html, the
TLS support, including the __tls_lookup function, was added to VxWorks
in 6.6.
It certainly doesn't exist on our VxWorks 5 platform, but the fallback
code in eh_globals.cc using __gthread_key_create() etc. used to work
just fine.
libstdc++-v3/ChangeLog:
* config/os/vxworks/os_defines.h (_GLIBCXX_HAVE_TLS): Only
define for VxWorks >= 6.6.
-rw-r--r-- | libstdc++-v3/config/os/vxworks/os_defines.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libstdc++-v3/config/os/vxworks/os_defines.h b/libstdc++-v3/config/os/vxworks/os_defines.h index c881b2b..75a68bc 100644 --- a/libstdc++-v3/config/os/vxworks/os_defines.h +++ b/libstdc++-v3/config/os/vxworks/os_defines.h @@ -45,8 +45,10 @@ #define _GLIBCXX_USE_WEAK_REF 0 #endif -// We support TLS on VxWorks (either directly or with emutls) +// We support TLS on VxWorks >= 6.6 (either directly or with emutls) +#if !_VXWORKS_PRE(6, 6) #define _GLIBCXX_HAVE_TLS 1 +#endif // VxWorks7 comes with a DinkumWare library and the system headers which we // are going to include for libstdc++ have a few related intrinsic |