Reimplement Thread Static Data MSan routines with TLS
authorKamil Rytarowski <n54@gmx.com>
Thu, 27 Dec 2018 21:43:46 +0000 (21:43 +0000)
committerKamil Rytarowski <n54@gmx.com>
Thu, 27 Dec 2018 21:43:46 +0000 (21:43 +0000)
commit93e3b34ceb8dce6c5dc125464e62429fd54fd3a7
tree3243c1c4deb59c2d69786fe821e7b54418db1a87
parentd9df65fd0d407e393c051e19f9ba4614dc8b05f7
Reimplement Thread Static Data MSan routines with TLS

Summary:
Thread Static Data cannot be used in early init on NetBSD
and FreeBSD. Reuse the MSan TSD API for compatibility with
existing code with an alternative implementation using Thread
Local Storage.

New version uses Thread Local Storage to store a pointer
with thread specific data. The destructor from TSD has been
replaced with a TLS destrucutor that is called upon thread
exit.

Reviewers: joerg, vitalybuka, jfb

Reviewed By: vitalybuka

Subscribers: emaste, jfb, llvm-commits, #sanitizers, mgorny

Tags: #sanitizers

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

llvm-svn: 350102
compiler-rt/lib/msan/msan_linux.cc