llvm-project/compiler-rt/lib
Marcin Koscielnicki 463897f1a9 [sanitizers] [SystemZ] Add __tls_get_offset interceptor.
s390 is special again - instead of __tls_get_addr, it has __tls_get_offset
with special calling conventions: the result is TP relative, and
the argument is GOT-relative.  Since we need to get address of the caller's
GOT, which is in %r12, we have to use assembly like glibc does.

Aside of __tls_get_offset, glibc also implements a slightly saner
__tls_get_addr_internal, which takes a pointer as argument, but still
returns a TP-relative offset.  It is used for dlsym() called on TLS
symbols, so we have to intercept it was well.  Our __tls_get_offset
is also implemented by delegating to it.

Differential Revision: http://reviews.llvm.org/D19778

llvm-svn: 273041
2016-06-17 20:24:35 +00:00
..
BlocksRuntime Move tests for BlocksRuntime and builtins to corresponding directories under test/ 2014-02-14 09:47:31 +00:00
asan [sanitizers] introduce yet another API function: __sanitizer_install_malloc_and_free_hooks 2016-06-16 20:06:06 +00:00
builtins [builtins] Make SOFT_FP versions of floatdidf and floatundidf compile 2016-06-13 15:24:16 +00:00
cfi [sancov] common flags initialization. 2016-03-18 19:28:07 +00:00
dfsan [sanitizer] [SystemZ] Abort if the kernel might be vulnerable to CVE-2016-2143. 2016-04-27 17:42:00 +00:00
esan [esan|cfrag] Add the struct field size array in StructInfo 2016-06-17 04:50:11 +00:00
interception This patch attempts to primitive support for Win64 asan 2016-06-06 18:09:54 +00:00
lsan [sanitizers] introduce yet another API function: __sanitizer_install_malloc_and_free_hooks 2016-06-16 20:06:06 +00:00
msan [sanitizers] introduce yet another API function: __sanitizer_install_malloc_and_free_hooks 2016-06-16 20:06:06 +00:00
profile Fix most MSVC warnings in compiler-rt profiling library 2016-06-17 18:12:50 +00:00
safestack [compiler-rt] [safestack] Enable for aarch64 2015-12-11 17:38:38 +00:00
sanitizer_common [sanitizers] [SystemZ] Add __tls_get_offset interceptor. 2016-06-17 20:24:35 +00:00
scudo [sanitizer] Initial implementation of a Hardened Allocator 2016-06-07 01:20:26 +00:00
stats [Sanitizer] Introduce ListOfModules object and use it to replace GetListOfModules(). 2016-02-22 18:52:51 +00:00
tsan [msan] Intercept send/sendto/sendmsg. 2016-06-17 00:43:11 +00:00
ubsan UBSan: crash less often on corrupted Vtables. 2016-06-02 18:36:12 +00:00
CMakeLists.txt [sanitizer] Initial implementation of a Hardened Allocator 2016-06-07 01:20:26 +00:00
Makefile.mk Remove autoconf support for building runtime libraries. 2016-01-26 21:31:12 +00:00