7c284f141e
GCC uses "dynamic" TLS models when -fpic or -fPIC is explicitly specified on the command line (which is only true for shared libraries). It uses "static" (or "exec") TLS models otherwise. In particular, GCC does _not_ use dynamic TLS models when PIC is implicitly enabled (which it is on MIPS), only if a PIC flag is explicitly provided. llvm uses "dynamic" TLS models if PIC is enabled either via a PIC flag or if it is implicily enabled (as on MIPS64). This means that llvm on MIPS64 always uses "dynamic" TLS models. However, dynamic TLS models do not work for static binaries and libraries as the __tls_get_addr function they invoke is only defined in rtld. Written by: jhb Reviewed by: arichardson Differential Revision: https://reviews.freebsd.org/D21699