[compiler-rt] move tsan's Android __get_tls() to sanitizer_common
authorKostya Kortchinsky <kostyak@google.com>
Tue, 2 May 2017 15:13:36 +0000 (15:13 +0000)
committerKostya Kortchinsky <kostyak@google.com>
Tue, 2 May 2017 15:13:36 +0000 (15:13 +0000)
commit7fc481e561398d91a9774a8695cbdc9a7bdc3ae1
tree165b4b404e8b95089d505acb4752d7f79e87aa54
parent6c3d19ba454c35f131260b2758f62fbf17f7d0d9
[compiler-rt] move tsan's Android __get_tls() to sanitizer_common

Summary:
TSan's Android `__get_tls()` and `TLS_SLOT_TSAN` can be used by other sanitizers as well (see D32649), this change moves them to sanitizer_common.
I picked sanitizer_linux.h as their new home.
In the process, add the 32-bit versions for ARM, i386 & MIPS.

Can the address of `__get_tls()[TLS_SLOT_TSAN]` change in between the calls?
I am not sure if there is a need to repeat the construct as opposed to using a variable. So I left things as they were.

Testing on my side was restricted to a successful cross-compilation.

Reviewers: dvyukov, kubamracek

Reviewed By: dvyukov

Subscribers: aemerson, rengolin, srhines, dberris, arichardson, llvm-commits

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

llvm-svn: 301926
compiler-rt/lib/sanitizer_common/sanitizer_linux.h
compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc