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 | 4f519b6919d2e6e1fb164b87a0d1a5c390581cbe (patch) | |
tree | 99bf7c59d84fa2c8413a4c1f8e2da1a6bf951270 | |
parent | cafb5d24dfa0faf3fa7dfb7eefd7df08aeb01e55 (diff) | |
download | bcm5719-llvm-4f519b6919d2e6e1fb164b87a0d1a5c390581cbe.tar.gz bcm5719-llvm-4f519b6919d2e6e1fb164b87a0d1a5c390581cbe.zip |
[TSan] Tiny cleanup of UnmangleLongJmpSp for Linux/x86_64
NFC.
llvm-svn: 365982
-rw-r--r-- | compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc b/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc index 5d9284c5250..0f23da0e877 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_platform_linux.cc +++ b/compiler-rt/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 |