003 File Manager
Current Path:
/usr/src/contrib/llvm-project/compiler-rt/lib/tsan/rtl
usr
/
src
/
contrib
/
llvm-project
/
compiler-rt
/
lib
/
tsan
/
rtl
/
📁
..
📄
tsan.syms.extra
(573 B)
📄
tsan_clock.cpp
(20.28 KB)
📄
tsan_clock.h
(9.25 KB)
📄
tsan_debugging.cpp
(9.28 KB)
📄
tsan_defs.h
(4.68 KB)
📄
tsan_dense_alloc.h
(3.97 KB)
📄
tsan_dispatch_defs.h
(2.18 KB)
📄
tsan_external.cpp
(3.97 KB)
📄
tsan_fd.cpp
(9.02 KB)
📄
tsan_fd.h
(2.39 KB)
📄
tsan_flags.cpp
(3.47 KB)
📄
tsan_flags.h
(1.09 KB)
📄
tsan_flags.inc
(4.29 KB)
📄
tsan_ignoreset.cpp
(1.04 KB)
📄
tsan_ignoreset.h
(958 B)
📄
tsan_interceptors.h
(2.18 KB)
📄
tsan_interceptors_libdispatch.cpp
(31.46 KB)
📄
tsan_interceptors_mac.cpp
(20.28 KB)
📄
tsan_interceptors_mach_vm.cpp
(2.02 KB)
📄
tsan_interceptors_posix.cpp
(89.69 KB)
📄
tsan_interface.cpp
(4.35 KB)
📄
tsan_interface.h
(17.5 KB)
📄
tsan_interface_ann.cpp
(16.46 KB)
📄
tsan_interface_ann.h
(1.02 KB)
📄
tsan_interface_atomic.cpp
(25.88 KB)
📄
tsan_interface_inl.h
(3.53 KB)
📄
tsan_interface_java.cpp
(7.89 KB)
📄
tsan_interface_java.h
(4.19 KB)
📄
tsan_malloc_mac.cpp
(3.45 KB)
📄
tsan_md5.cpp
(6.9 KB)
📄
tsan_mman.cpp
(12.08 KB)
📄
tsan_mman.h
(2.61 KB)
📄
tsan_mutex.cpp
(7.88 KB)
📄
tsan_mutex.h
(1.92 KB)
📄
tsan_mutexset.cpp
(2.01 KB)
📄
tsan_mutexset.h
(1.88 KB)
📄
tsan_new_delete.cpp
(6.72 KB)
📄
tsan_platform.h
(33.68 KB)
📄
tsan_platform_linux.cpp
(16.09 KB)
📄
tsan_platform_mac.cpp
(11.81 KB)
📄
tsan_platform_posix.cpp
(5.72 KB)
📄
tsan_platform_windows.cpp
(922 B)
📄
tsan_ppc_regs.h
(1.35 KB)
📄
tsan_preinit.cpp
(1021 B)
📄
tsan_report.cpp
(15.63 KB)
📄
tsan_report.h
(2.79 KB)
📄
tsan_rtl.cpp
(34.92 KB)
📄
tsan_rtl.h
(28.13 KB)
📄
tsan_rtl_aarch64.S
(5.63 KB)
📄
tsan_rtl_amd64.S
(8.71 KB)
📄
tsan_rtl_mips64.S
(3.69 KB)
📄
tsan_rtl_mutex.cpp
(18.71 KB)
📄
tsan_rtl_ppc64.S
(8.18 KB)
📄
tsan_rtl_proc.cpp
(1.66 KB)
📄
tsan_rtl_report.cpp
(23.51 KB)
📄
tsan_rtl_thread.cpp
(13.82 KB)
📄
tsan_stack_trace.cpp
(1.91 KB)
📄
tsan_stack_trace.h
(1.27 KB)
📄
tsan_stat.cpp
(12.23 KB)
📄
tsan_stat.h
(4.22 KB)
📄
tsan_suppressions.cpp
(5.42 KB)
📄
tsan_suppressions.h
(1.32 KB)
📄
tsan_symbolize.cpp
(3.85 KB)
📄
tsan_symbolize.h
(897 B)
📄
tsan_sync.cpp
(8.44 KB)
📄
tsan_sync.h
(4.88 KB)
📄
tsan_trace.h
(1.89 KB)
📄
tsan_update_shadow_word_inl.h
(2.22 KB)
Editing: tsan_rtl_aarch64.S
// The content of this file is AArch64-only: #if defined(__aarch64__) #include "sanitizer_common/sanitizer_asm.h" #if defined(__APPLE__) .align 2 .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers .long _setjmp$non_lazy_ptr _setjmp$non_lazy_ptr: .indirect_symbol _setjmp .long 0 .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers .long __setjmp$non_lazy_ptr __setjmp$non_lazy_ptr: .indirect_symbol __setjmp .long 0 .section __DATA,__nl_symbol_ptr,non_lazy_symbol_pointers .long _sigsetjmp$non_lazy_ptr _sigsetjmp$non_lazy_ptr: .indirect_symbol _sigsetjmp .long 0 #endif #if !defined(__APPLE__) .section .text #else .section __TEXT,__text .align 3 #endif ASM_HIDDEN(__tsan_setjmp) .comm _ZN14__interception11real_setjmpE,8,8 .globl ASM_SYMBOL_INTERCEPTOR(setjmp) ASM_TYPE_FUNCTION(ASM_SYMBOL_INTERCEPTOR(setjmp)) ASM_SYMBOL_INTERCEPTOR(setjmp): CFI_STARTPROC // Save frame/link register stp x29, x30, [sp, -32]! CFI_DEF_CFA_OFFSET (32) CFI_OFFSET (29, -32) CFI_OFFSET (30, -24) // Adjust the SP for previous frame add x29, sp, 0 CFI_DEF_CFA_REGISTER (29) // Save env parameter str x0, [sp, 16] CFI_OFFSET (0, -16) // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)` add x0, x29, 32 // call tsan interceptor bl ASM_SYMBOL(__tsan_setjmp) // Restore env parameter ldr x0, [sp, 16] CFI_RESTORE (0) // Restore frame/link register ldp x29, x30, [sp], 32 CFI_RESTORE (29) CFI_RESTORE (30) CFI_DEF_CFA (31, 0) // tail jump to libc setjmp #if !defined(__APPLE__) adrp x1, :got:_ZN14__interception11real_setjmpE ldr x1, [x1, #:got_lo12:_ZN14__interception11real_setjmpE] ldr x1, [x1] #else adrp x1, _setjmp$non_lazy_ptr@page add x1, x1, _setjmp$non_lazy_ptr@pageoff ldr x1, [x1] #endif br x1 CFI_ENDPROC ASM_SIZE(ASM_SYMBOL_INTERCEPTOR(setjmp)) .comm _ZN14__interception12real__setjmpE,8,8 .globl ASM_SYMBOL_INTERCEPTOR(_setjmp) ASM_TYPE_FUNCTION(ASM_SYMBOL_INTERCEPTOR(_setjmp)) ASM_SYMBOL_INTERCEPTOR(_setjmp): CFI_STARTPROC // Save frame/link register stp x29, x30, [sp, -32]! CFI_DEF_CFA_OFFSET (32) CFI_OFFSET (29, -32) CFI_OFFSET (30, -24) // Adjust the SP for previous frame add x29, sp, 0 CFI_DEF_CFA_REGISTER (29) // Save env parameter str x0, [sp, 16] CFI_OFFSET (0, -16) // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)` add x0, x29, 32 // call tsan interceptor bl ASM_SYMBOL(__tsan_setjmp) // Restore env parameter ldr x0, [sp, 16] CFI_RESTORE (0) // Restore frame/link register ldp x29, x30, [sp], 32 CFI_RESTORE (29) CFI_RESTORE (30) CFI_DEF_CFA (31, 0) // tail jump to libc setjmp #if !defined(__APPLE__) adrp x1, :got:_ZN14__interception12real__setjmpE ldr x1, [x1, #:got_lo12:_ZN14__interception12real__setjmpE] ldr x1, [x1] #else adrp x1, __setjmp$non_lazy_ptr@page add x1, x1, __setjmp$non_lazy_ptr@pageoff ldr x1, [x1] #endif br x1 CFI_ENDPROC ASM_SIZE(ASM_SYMBOL_INTERCEPTOR(_setjmp)) .comm _ZN14__interception14real_sigsetjmpE,8,8 .globl ASM_SYMBOL_INTERCEPTOR(sigsetjmp) ASM_TYPE_FUNCTION(ASM_SYMBOL_INTERCEPTOR(sigsetjmp)) ASM_SYMBOL_INTERCEPTOR(sigsetjmp): CFI_STARTPROC // Save frame/link register stp x29, x30, [sp, -32]! CFI_DEF_CFA_OFFSET (32) CFI_OFFSET (29, -32) CFI_OFFSET (30, -24) // Adjust the SP for previous frame add x29, sp, 0 CFI_DEF_CFA_REGISTER (29) // Save env and savesigs parameter stp x0, x1, [sp, 16] CFI_OFFSET (0, -16) CFI_OFFSET (1, -8) // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)` add x0, x29, 32 // call tsan interceptor bl ASM_SYMBOL(__tsan_setjmp) // Restore env and savesigs parameter ldp x0, x1, [sp, 16] CFI_RESTORE (0) CFI_RESTORE (1) // Restore frame/link register ldp x29, x30, [sp], 32 CFI_RESTORE (29) CFI_RESTORE (30) CFI_DEF_CFA (31, 0) // tail jump to libc sigsetjmp #if !defined(__APPLE__) adrp x2, :got:_ZN14__interception14real_sigsetjmpE ldr x2, [x2, #:got_lo12:_ZN14__interception14real_sigsetjmpE] ldr x2, [x2] #else adrp x2, _sigsetjmp$non_lazy_ptr@page add x2, x2, _sigsetjmp$non_lazy_ptr@pageoff ldr x2, [x2] #endif br x2 CFI_ENDPROC ASM_SIZE(ASM_SYMBOL_INTERCEPTOR(sigsetjmp)) #if !defined(__APPLE__) .comm _ZN14__interception16real___sigsetjmpE,8,8 .globl ASM_SYMBOL_INTERCEPTOR(__sigsetjmp) ASM_TYPE_FUNCTION(ASM_SYMBOL_INTERCEPTOR(__sigsetjmp)) ASM_SYMBOL_INTERCEPTOR(__sigsetjmp): CFI_STARTPROC // Save frame/link register stp x29, x30, [sp, -32]! CFI_DEF_CFA_OFFSET (32) CFI_OFFSET (29, -32) CFI_OFFSET (30, -24) // Adjust the SP for previous frame add x29, sp, 0 CFI_DEF_CFA_REGISTER (29) // Save env and savesigs parameter stp x0, x1, [sp, 16] CFI_OFFSET (0, -16) CFI_OFFSET (1, -8) // Obtain SP, first argument to `void __tsan_setjmp(uptr sp)` add x0, x29, 32 // call tsan interceptor bl ASM_SYMBOL(__tsan_setjmp) // Restore env and savesigs parameter ldp x0, x1, [sp, 16] CFI_RESTORE (0) CFI_RESTORE (1) // Restore frame/link register ldp x29, x30, [sp], 32 CFI_RESTORE (29) CFI_RESTORE (30) CFI_DEF_CFA (31, 0) // tail jump to libc __sigsetjmp #if !defined(__APPLE__) adrp x2, :got:_ZN14__interception16real___sigsetjmpE ldr x2, [x2, #:got_lo12:_ZN14__interception16real___sigsetjmpE] ldr x2, [x2] #else adrp x2, ASM_SYMBOL(__sigsetjmp)@page add x2, x2, ASM_SYMBOL(__sigsetjmp)@pageoff #endif br x2 CFI_ENDPROC ASM_SIZE(ASM_SYMBOL_INTERCEPTOR(__sigsetjmp)) #endif NO_EXEC_STACK_DIRECTIVE #endif
Upload File
Create Folder