[PATCH] D64022: [TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.5
Julian Lettner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jul 5 11:02:49 PDT 2019
This revision was automatically updated to reflect the committed changes.
Closed by commit rL365230: [TSan] Improve handling of stack pointer mangling in {set,long}jmp, pt.5 (authored by yln, committed by ).
Herald added a subscriber: delcypher.
Changed prior to commit:
https://reviews.llvm.org/D64022?vs=207375&id=208212#toc
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D64022/new/
https://reviews.llvm.org/D64022
Files:
compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_aarch64.S
Index: compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_aarch64.S
===================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_aarch64.S
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_rtl_aarch64.S
@@ -105,18 +105,8 @@
CFI_OFFSET (19, -16)
mov x19, x0
-#if !defined(__APPLE__)
- // SP pointer mangling (see glibc setjmp)
- adrp x2, __tsan_pointer_chk_guard
- ldr x2, [x2, #:lo12:__tsan_pointer_chk_guard]
- add x0, x29, 32
- eor x1, x2, x0
-#else
- adrp x2, ___tsan_darwin_setjmp_xor_key at page
- ldr x2, [x2, ___tsan_darwin_setjmp_xor_key at pageoff]
+ // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)`
add x0, x29, 32
- eor x1, x2, x0
-#endif
// call tsan interceptor
bl ASM_SYMBOL(__tsan_setjmp)
@@ -165,18 +155,8 @@
CFI_OFFSET (19, -16)
mov x19, x0
-#if !defined(__APPLE__)
- // SP pointer mangling (see glibc setjmp)
- adrp x2, __tsan_pointer_chk_guard
- ldr x2, [x2, #:lo12:__tsan_pointer_chk_guard]
- add x0, x29, 32
- eor x1, x2, x0
-#else
- adrp x2, ___tsan_darwin_setjmp_xor_key at page
- ldr x2, [x2, ___tsan_darwin_setjmp_xor_key at pageoff]
+ // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)`
add x0, x29, 32
- eor x1, x2, x0
-#endif
// call tsan interceptor
bl ASM_SYMBOL(__tsan_setjmp)
@@ -227,18 +207,8 @@
mov w20, w1
mov x19, x0
-#if !defined(__APPLE__)
- // SP pointer mangling (see glibc setjmp)
- adrp x2, __tsan_pointer_chk_guard
- ldr x2, [x2, #:lo12:__tsan_pointer_chk_guard]
- add x0, x29, 32
- eor x1, x2, x0
-#else
- adrp x2, ___tsan_darwin_setjmp_xor_key at page
- ldr x2, [x2, ___tsan_darwin_setjmp_xor_key at pageoff]
+ // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)`
add x0, x29, 32
- eor x1, x2, x0
-#endif
// call tsan interceptor
bl ASM_SYMBOL(__tsan_setjmp)
@@ -292,13 +262,8 @@
mov w20, w1
mov x19, x0
-#if !defined(__APPLE__)
- // SP pointer mangling (see glibc setjmp)
- adrp x2, __tsan_pointer_chk_guard
- ldr x2, [x2, #:lo12:__tsan_pointer_chk_guard]
+ // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)`
add x0, x29, 32
- eor x1, x2, x0
-#endif
// call tsan interceptor
bl ASM_SYMBOL(__tsan_setjmp)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64022.208212.patch
Type: text/x-patch
Size: 2362 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190705/0b67162b/attachment.bin>
More information about the llvm-commits
mailing list