summaryrefslogtreecommitdiff
path: root/lib/sanitizer_common/sanitizer_asm.h
AgeCommit message (Collapse)Author
2017-11-29[sanitizer] Refactor how assembly files are handledKuba Mracek
This renames ASM_TSAN_SYMBOL and ASM_TSAN_SYMBOL_INTERCEPTOR to just ASM_SYMBOL and ASM_SYMBOL_INTERCEPTOR, because they can be useful in more places than just TSan. Also introduce a CMake function to add ASM sources to a target. Differential Revision: https://reviews.llvm.org/D40143 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@319339 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-28[tsan] Port tsan_rtl_amd64.S to OS X to add support for setjmp/longjmpKuba Brecka
This patch ports the assembly file tsan_rtl_amd64.S to OS X, where we need several changes: * Some assembler directives are not available on OS X (.hidden, .type, .size) * Symbol names need to start with an underscore (added a ASM_TSAN_SYMBOL macro for that). * To make the interceptors work, we ween to name the function "_wrap_setjmp" (added ASM_TSAN_SYMBOL_INTERCEPTOR for that). * Calling the original setjmp is done with a simple "jmp _setjmp". * __sigsetjmp doesn't exist on OS X. Differential Revision: http://reviews.llvm.org/D14947 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254228 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-16[compiler-rt] [tsan] Enable intercept setjmp/longjmp for AArch64Adhemerval Zanella
This patch adds assembly routines to enable setjmp/longjmp for aarch64 on linux. It fixes: * test/tsan/longjmp2.cc * test/tsan/longjmp3.cc * test/tsan/longjmp4.cc * test/tsan/signal_longjmp.cc I also checked with perlbench from specpu2006 (it fails to run with missing setjmp/longjmp intrumentation). git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253205 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-05[sanitizer] support toolchains that don't understand CFI directivesKostya Serebryany
Summary: Support toolchains that don't understand CFI directives. Reviewers: dvyukov Reviewed By: dvyukov CC: llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2336 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@196480 91177308-0d34-0410-b5e6-96231b3b80d8