aboutsummaryrefslogtreecommitdiff
path: root/lldb/unittests/ScriptInterpreter/Python
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-08-10 21:39:28 +0000
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2016-08-10 21:39:28 +0000
commitdaa3ebce283a753f280c549cdb103fbb2972f08e (patch)
tree1bce5fc4e6205391139754a9f8003d6074283f39 /lldb/unittests/ScriptInterpreter/Python
parentfb9c3818ddc2786382c398ca3d90876aba1fe376 (diff)
downloadllvm-daa3ebce283a753f280c549cdb103fbb2972f08e.zip
llvm-daa3ebce283a753f280c549cdb103fbb2972f08e.tar.gz
llvm-daa3ebce283a753f280c549cdb103fbb2972f08e.tar.bz2
tsan: Remove __pointer_chk_guard@GLIBC_PRIVATE requirement for AArch64
Current AArch64 {sig}{set,long}jmp interposing requires accessing glibc private __pointer_chk_guard to get process xor mask to demangled the internal {sig}jmp_buf function pointers. It causes some packing issues, as described in gcc PR#71042 [1], and is is not a godd practice to rely on a private glibc namespace (since ABI is not meant to be stable). This patch fixes it by changing how libtsan obtains the guarded pointer value: at initialization a specific routine issues a setjmp call and using the mangled function pointer and the original value derive the random guarded pointer. Checked on aarch64 39-bit VMA. [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71042 llvm-svn: 278292
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions