aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer/asan/asan_asm_instrumentation.S
diff options
context:
space:
mode:
Diffstat (limited to 'libsanitizer/asan/asan_asm_instrumentation.S')
-rw-r--r--libsanitizer/asan/asan_asm_instrumentation.S599
1 files changed, 0 insertions, 599 deletions
diff --git a/libsanitizer/asan/asan_asm_instrumentation.S b/libsanitizer/asan/asan_asm_instrumentation.S
deleted file mode 100644
index 36a9d0b5e97..00000000000
--- a/libsanitizer/asan/asan_asm_instrumentation.S
+++ /dev/null
@@ -1,599 +0,0 @@
-// This file was generated by gen_asm_instrumentation.sh. Please, do not edit
-.section .text
-#if defined(__x86_64__) || defined(__i386__)
-.globl __asan_report_store1
-.globl __asan_report_load1
-.globl __asan_report_store2
-.globl __asan_report_load2
-.globl __asan_report_store4
-.globl __asan_report_load4
-.globl __asan_report_store8
-.globl __asan_report_load8
-.globl __asan_report_store16
-.globl __asan_report_load16
-#endif // defined(__x86_64__) || defined(__i386__)
-#if defined(__i386__)
-// Sanitize 1-byte store. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_store1
-.type __sanitizer_sanitize_store1, @function
-__sanitizer_sanitize_store1:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushl %edx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- movb 0x20000000(%ecx), %cl
- testb %cl, %cl
- je .sanitize_store1_done
- movl %eax, %edx
- andl $0x7, %edx
- movsbl %cl, %ecx
- cmpl %ecx, %edx
- jl .sanitize_store1_done
- pushl %eax
- cld
- emms
- call __asan_report_store1@PLT
-.sanitize_store1_done:
- popfl
- popl %edx
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 1-byte load. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_load1
-.type __sanitizer_sanitize_load1, @function
-__sanitizer_sanitize_load1:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushl %edx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- movb 0x20000000(%ecx), %cl
- testb %cl, %cl
- je .sanitize_load1_done
- movl %eax, %edx
- andl $0x7, %edx
- movsbl %cl, %ecx
- cmpl %ecx, %edx
- jl .sanitize_load1_done
- pushl %eax
- cld
- emms
- call __asan_report_load1@PLT
-.sanitize_load1_done:
- popfl
- popl %edx
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 2-byte store. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_store2
-.type __sanitizer_sanitize_store2, @function
-__sanitizer_sanitize_store2:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushl %edx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- movb 0x20000000(%ecx), %cl
- testb %cl, %cl
- je .sanitize_store2_done
- movl %eax, %edx
- andl $0x7, %edx
- incl %edx
- movsbl %cl, %ecx
- cmpl %ecx, %edx
- jl .sanitize_store2_done
- pushl %eax
- cld
- emms
- call __asan_report_store2@PLT
-.sanitize_store2_done:
- popfl
- popl %edx
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 2-byte load. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_load2
-.type __sanitizer_sanitize_load2, @function
-__sanitizer_sanitize_load2:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushl %edx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- movb 0x20000000(%ecx), %cl
- testb %cl, %cl
- je .sanitize_load2_done
- movl %eax, %edx
- andl $0x7, %edx
- incl %edx
- movsbl %cl, %ecx
- cmpl %ecx, %edx
- jl .sanitize_load2_done
- pushl %eax
- cld
- emms
- call __asan_report_load2@PLT
-.sanitize_load2_done:
- popfl
- popl %edx
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 4-byte store. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_store4
-.type __sanitizer_sanitize_store4, @function
-__sanitizer_sanitize_store4:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushl %edx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- movb 0x20000000(%ecx), %cl
- testb %cl, %cl
- je .sanitize_store4_done
- movl %eax, %edx
- andl $0x7, %edx
- addl $0x3, %edx
- movsbl %cl, %ecx
- cmpl %ecx, %edx
- jl .sanitize_store4_done
- pushl %eax
- cld
- emms
- call __asan_report_store4@PLT
-.sanitize_store4_done:
- popfl
- popl %edx
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 4-byte load. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_load4
-.type __sanitizer_sanitize_load4, @function
-__sanitizer_sanitize_load4:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushl %edx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- movb 0x20000000(%ecx), %cl
- testb %cl, %cl
- je .sanitize_load4_done
- movl %eax, %edx
- andl $0x7, %edx
- addl $0x3, %edx
- movsbl %cl, %ecx
- cmpl %ecx, %edx
- jl .sanitize_load4_done
- pushl %eax
- cld
- emms
- call __asan_report_load4@PLT
-.sanitize_load4_done:
- popfl
- popl %edx
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 8-byte store. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_store8
-.type __sanitizer_sanitize_store8, @function
-__sanitizer_sanitize_store8:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- cmpb $0x0, 0x20000000(%ecx)
- je .sanitize_store8_done
- pushl %eax
- cld
- emms
- call __asan_report_store8@PLT
-.sanitize_store8_done:
- popfl
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 8-byte load. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_load8
-.type __sanitizer_sanitize_load8, @function
-__sanitizer_sanitize_load8:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- cmpb $0x0, 0x20000000(%ecx)
- je .sanitize_load8_done
- pushl %eax
- cld
- emms
- call __asan_report_load8@PLT
-.sanitize_load8_done:
- popfl
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 16-byte store. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_store16
-.type __sanitizer_sanitize_store16, @function
-__sanitizer_sanitize_store16:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- cmpw $0x0, 0x20000000(%ecx)
- je .sanitize_store16_done
- pushl %eax
- cld
- emms
- call __asan_report_store16@PLT
-.sanitize_store16_done:
- popfl
- popl %ecx
- popl %eax
- leave
- ret
-// Sanitize 16-byte load. Takes one 4-byte address as an argument on
-// stack, nothing is returned.
-.globl __sanitizer_sanitize_load16
-.type __sanitizer_sanitize_load16, @function
-__sanitizer_sanitize_load16:
- pushl %ebp
- movl %esp, %ebp
- pushl %eax
- pushl %ecx
- pushfl
- movl 8(%ebp), %eax
- movl %eax, %ecx
- shrl $0x3, %ecx
- cmpw $0x0, 0x20000000(%ecx)
- je .sanitize_load16_done
- pushl %eax
- cld
- emms
- call __asan_report_load16@PLT
-.sanitize_load16_done:
- popfl
- popl %ecx
- popl %eax
- leave
- ret
-#endif // defined(__i386__)
-#if defined(__x86_64__)
-// Sanitize 1-byte store. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_store1
-.type __sanitizer_sanitize_store1, @function
-__sanitizer_sanitize_store1:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushq %rcx
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- movb 0x7fff8000(%rax), %al
- test %al, %al
- je .sanitize_store1_done
- movl %edi, %ecx
- andl $0x7, %ecx
- movsbl %al, %eax
- cmpl %eax, %ecx
- jl .sanitize_store1_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_store1@PLT
-.sanitize_store1_done:
- popfq
- popq %rcx
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 1-byte load. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_load1
-.type __sanitizer_sanitize_load1, @function
-__sanitizer_sanitize_load1:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushq %rcx
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- movb 0x7fff8000(%rax), %al
- test %al, %al
- je .sanitize_load1_done
- movl %edi, %ecx
- andl $0x7, %ecx
- movsbl %al, %eax
- cmpl %eax, %ecx
- jl .sanitize_load1_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_load1@PLT
-.sanitize_load1_done:
- popfq
- popq %rcx
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 2-byte store. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_store2
-.type __sanitizer_sanitize_store2, @function
-__sanitizer_sanitize_store2:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushq %rcx
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- movb 0x7fff8000(%rax), %al
- test %al, %al
- je .sanitize_store2_done
- movl %edi, %ecx
- andl $0x7, %ecx
- incl %ecx
- movsbl %al, %eax
- cmpl %eax, %ecx
- jl .sanitize_store2_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_store2@PLT
-.sanitize_store2_done:
- popfq
- popq %rcx
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 2-byte load. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_load2
-.type __sanitizer_sanitize_load2, @function
-__sanitizer_sanitize_load2:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushq %rcx
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- movb 0x7fff8000(%rax), %al
- test %al, %al
- je .sanitize_load2_done
- movl %edi, %ecx
- andl $0x7, %ecx
- incl %ecx
- movsbl %al, %eax
- cmpl %eax, %ecx
- jl .sanitize_load2_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_load2@PLT
-.sanitize_load2_done:
- popfq
- popq %rcx
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 4-byte store. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_store4
-.type __sanitizer_sanitize_store4, @function
-__sanitizer_sanitize_store4:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushq %rcx
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- movb 0x7fff8000(%rax), %al
- test %al, %al
- je .sanitize_store4_done
- movl %edi, %ecx
- andl $0x7, %ecx
- addl $0x3, %ecx
- movsbl %al, %eax
- cmpl %eax, %ecx
- jl .sanitize_store4_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_store4@PLT
-.sanitize_store4_done:
- popfq
- popq %rcx
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 4-byte load. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_load4
-.type __sanitizer_sanitize_load4, @function
-__sanitizer_sanitize_load4:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushq %rcx
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- movb 0x7fff8000(%rax), %al
- test %al, %al
- je .sanitize_load4_done
- movl %edi, %ecx
- andl $0x7, %ecx
- addl $0x3, %ecx
- movsbl %al, %eax
- cmpl %eax, %ecx
- jl .sanitize_load4_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_load4@PLT
-.sanitize_load4_done:
- popfq
- popq %rcx
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 8-byte store. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_store8
-.type __sanitizer_sanitize_store8, @function
-__sanitizer_sanitize_store8:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- cmpb $0x0, 0x7fff8000(%rax)
- je .sanitize_store8_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_store8@PLT
-.sanitize_store8_done:
- popfq
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 8-byte load. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_load8
-.type __sanitizer_sanitize_load8, @function
-__sanitizer_sanitize_load8:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- cmpb $0x0, 0x7fff8000(%rax)
- je .sanitize_load8_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_load8@PLT
-.sanitize_load8_done:
- popfq
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 16-byte store. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_store16
-.type __sanitizer_sanitize_store16, @function
-__sanitizer_sanitize_store16:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- cmpw $0x0, 0x7fff8000(%rax)
- je .sanitize_store16_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_store16@PLT
-.sanitize_store16_done:
- popfq
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-// Sanitize 16-byte load. Takes one 8-byte address as an argument in %rdi,
-// nothing is returned.
-.globl __sanitizer_sanitize_load16
-.type __sanitizer_sanitize_load16, @function
-__sanitizer_sanitize_load16:
- leaq -128(%rsp), %rsp
- pushq %rax
- pushfq
- movq %rdi, %rax
- shrq $0x3, %rax
- cmpw $0x0, 0x7fff8000(%rax)
- je .sanitize_load16_done
- subq $8, %rsp
- andq $-16, %rsp
- cld
- emms
- call __asan_report_load16@PLT
-.sanitize_load16_done:
- popfq
- popq %rax
- leaq 128(%rsp), %rsp
- ret
-#endif // defined(__x86_64__)
-/* We do not need executable stack. */
-#if defined(__arm__)
- .section .note.GNU-stack,"",%progbits
-#else
- .section .note.GNU-stack,"",@progbits
-#endif // defined(__arm__)
-#endif // __linux__