[all-commits] [llvm/llvm-project] cb8e9b: [sanitizer_common] Use GetStaticTlsBoundary on Sol...

rorth via All-commits all-commits at lists.llvm.org
Tue Feb 22 11:19:08 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: cb8e9bea95b39e3aa7eff4091b4f721e22600878
      https://github.com/llvm/llvm-project/commit/cb8e9bea95b39e3aa7eff4091b4f721e22600878
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2022-02-22 (Tue, 22 Feb 2022)

  Changed paths:
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/asan/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_linux_libcdep.cpp
    M compiler-rt/lib/sanitizer_common/tests/CMakeLists.txt

  Log Message:
  -----------
  [sanitizer_common] Use GetStaticTlsBoundary on Solaris 11.4

This is a restricted alternative to D91605
<https://reviews.llvm.org/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`.

Differential Revision: https://reviews.llvm.org/D120048




More information about the All-commits mailing list