diff options
author | Julian Lettner <jlettner@apple.com> | 2019-07-13 00:55:06 +0000 |
---|---|---|
committer | Julian Lettner <jlettner@apple.com> | 2019-07-13 00:55:06 +0000 |
commit | e2e4f5497eafbafcc1852495c8ce81585909edbe (patch) | |
tree | da84faf5e3b6c28fbee8c1cfa73756ddb32d99e6 | |
parent | a2ee72c80c1b6911a9aa3538d8b34d6efae15b15 (diff) | |
download | compiler-rt-e2e4f5497eafbafcc1852495c8ce81585909edbe.tar.gz |
[TSan] Tiny cleanup of UnmangleLongJmpSp for Linux/x86_64
NFC.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@365982 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/tsan/rtl/tsan_platform_linux.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/tsan/rtl/tsan_platform_linux.cc b/lib/tsan/rtl/tsan_platform_linux.cc index 5d9284c52..0f23da0e8 100644 --- a/lib/tsan/rtl/tsan_platform_linux.cc +++ b/lib/tsan/rtl/tsan_platform_linux.cc @@ -373,9 +373,7 @@ int ExtractRecvmsgFDs(void *msgp, int *fds, int nfd) { // Reverse operation of libc stack pointer mangling static uptr UnmangleLongJmpSp(uptr mangled_sp) { #if defined(__x86_64__) -# if SANITIZER_FREEBSD || SANITIZER_NETBSD - return mangled_sp; -# else // Linux +# if SANITIZER_LINUX // Reverse of: // xor %fs:0x30, %rsi // rol $0x11, %rsi @@ -385,6 +383,8 @@ static uptr UnmangleLongJmpSp(uptr mangled_sp) { : "=r" (sp) : "0" (mangled_sp)); return sp; +# else + return mangled_sp; # endif #elif defined(__aarch64__) # if SANITIZER_LINUX @@ -394,11 +394,11 @@ static uptr UnmangleLongJmpSp(uptr mangled_sp) { # endif #elif defined(__powerpc64__) // Reverse of: - // ld r4, -28696(r13) - // xor r4, r3, r4 - uptr xor_guard; - asm("ld %0, -28696(%%r13) \n" : "=r" (xor_guard)); - return mangled_sp ^ xor_guard; + // ld r4, -28696(r13) + // xor r4, r3, r4 + uptr xor_key; + asm("ld %0, -28696(%%r13)" : "=r" (xor_key)); + return mangled_sp ^ xor_key; #elif defined(__mips__) return mangled_sp; #else |