This is a restricted alternative to D91605 which only works on Solaris 11.4 SRU 10+, but would break the build on Solaris 11.3 and Illumos which lack dlpi_tls_modid.
Apart from that, the patch is trivial. One caveat is that the sanitizer_common and asan tests need to be linked explicitly with ld -z relax=transtls on Solaris/amd64 since the archives with calls to __tls_get_addr are linked in directly.
Tested on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and x86_64-pc-linux-gnu.
clang-format: please reformat the code