1 // This file was generated by gen_asm_instrumentation.sh. Please, do not edit
5 #if defined(__x86_64__) || defined(__i386__)
6 .globl __asan_report_store1
7 .globl __asan_report_load1
8 .globl __asan_report_store2
9 .globl __asan_report_load2
10 .globl __asan_report_store4
11 .globl __asan_report_load4
12 .globl __asan_report_store8
13 .globl __asan_report_load8
14 .globl __asan_report_store16
15 .globl __asan_report_load16
16 #endif // defined(__x86_64__) || defined(__i386__)
18 // Sanitize 1-byte store. Takes one 4-byte address as an argument on
19 // stack, nothing is returned.
20 .globl __sanitizer_sanitize_store1
21 .type __sanitizer_sanitize_store1, @function
22 __sanitizer_sanitize_store1:
32 movb 0x20000000(%ecx), %cl
34 je .sanitize_store1_done
39 jl .sanitize_store1_done
43 call __asan_report_store1@PLT
44 .sanitize_store1_done:
51 // Sanitize 1-byte load. Takes one 4-byte address as an argument on
52 // stack, nothing is returned.
53 .globl __sanitizer_sanitize_load1
54 .type __sanitizer_sanitize_load1, @function
55 __sanitizer_sanitize_load1:
65 movb 0x20000000(%ecx), %cl
67 je .sanitize_load1_done
72 jl .sanitize_load1_done
76 call __asan_report_load1@PLT
84 // Sanitize 2-byte store. Takes one 4-byte address as an argument on
85 // stack, nothing is returned.
86 .globl __sanitizer_sanitize_store2
87 .type __sanitizer_sanitize_store2, @function
88 __sanitizer_sanitize_store2:
98 movb 0x20000000(%ecx), %cl
100 je .sanitize_store2_done
106 jl .sanitize_store2_done
110 call __asan_report_store2@PLT
111 .sanitize_store2_done:
118 // Sanitize 2-byte load. Takes one 4-byte address as an argument on
119 // stack, nothing is returned.
120 .globl __sanitizer_sanitize_load2
121 .type __sanitizer_sanitize_load2, @function
122 __sanitizer_sanitize_load2:
132 movb 0x20000000(%ecx), %cl
134 je .sanitize_load2_done
140 jl .sanitize_load2_done
144 call __asan_report_load2@PLT
145 .sanitize_load2_done:
152 // Sanitize 4-byte store. Takes one 4-byte address as an argument on
153 // stack, nothing is returned.
154 .globl __sanitizer_sanitize_store4
155 .type __sanitizer_sanitize_store4, @function
156 __sanitizer_sanitize_store4:
166 movb 0x20000000(%ecx), %cl
168 je .sanitize_store4_done
174 jl .sanitize_store4_done
178 call __asan_report_store4@PLT
179 .sanitize_store4_done:
186 // Sanitize 4-byte load. Takes one 4-byte address as an argument on
187 // stack, nothing is returned.
188 .globl __sanitizer_sanitize_load4
189 .type __sanitizer_sanitize_load4, @function
190 __sanitizer_sanitize_load4:
200 movb 0x20000000(%ecx), %cl
202 je .sanitize_load4_done
208 jl .sanitize_load4_done
212 call __asan_report_load4@PLT
213 .sanitize_load4_done:
220 // Sanitize 8-byte store. Takes one 4-byte address as an argument on
221 // stack, nothing is returned.
222 .globl __sanitizer_sanitize_store8
223 .type __sanitizer_sanitize_store8, @function
224 __sanitizer_sanitize_store8:
233 cmpb $0x0, 0x20000000(%ecx)
234 je .sanitize_store8_done
238 call __asan_report_store8@PLT
239 .sanitize_store8_done:
245 // Sanitize 8-byte load. Takes one 4-byte address as an argument on
246 // stack, nothing is returned.
247 .globl __sanitizer_sanitize_load8
248 .type __sanitizer_sanitize_load8, @function
249 __sanitizer_sanitize_load8:
258 cmpb $0x0, 0x20000000(%ecx)
259 je .sanitize_load8_done
263 call __asan_report_load8@PLT
264 .sanitize_load8_done:
270 // Sanitize 16-byte store. Takes one 4-byte address as an argument on
271 // stack, nothing is returned.
272 .globl __sanitizer_sanitize_store16
273 .type __sanitizer_sanitize_store16, @function
274 __sanitizer_sanitize_store16:
283 cmpw $0x0, 0x20000000(%ecx)
284 je .sanitize_store16_done
288 call __asan_report_store16@PLT
289 .sanitize_store16_done:
295 // Sanitize 16-byte load. Takes one 4-byte address as an argument on
296 // stack, nothing is returned.
297 .globl __sanitizer_sanitize_load16
298 .type __sanitizer_sanitize_load16, @function
299 __sanitizer_sanitize_load16:
308 cmpw $0x0, 0x20000000(%ecx)
309 je .sanitize_load16_done
313 call __asan_report_load16@PLT
314 .sanitize_load16_done:
320 #endif // defined(__i386__)
321 #if defined(__x86_64__)
322 // Sanitize 1-byte store. Takes one 8-byte address as an argument in %rdi,
323 // nothing is returned.
324 .globl __sanitizer_sanitize_store1
325 .type __sanitizer_sanitize_store1, @function
326 __sanitizer_sanitize_store1:
333 movb 0x7fff8000(%rax), %al
335 je .sanitize_store1_done
340 jl .sanitize_store1_done
345 call __asan_report_store1@PLT
346 .sanitize_store1_done:
352 // Sanitize 1-byte load. Takes one 8-byte address as an argument in %rdi,
353 // nothing is returned.
354 .globl __sanitizer_sanitize_load1
355 .type __sanitizer_sanitize_load1, @function
356 __sanitizer_sanitize_load1:
363 movb 0x7fff8000(%rax), %al
365 je .sanitize_load1_done
370 jl .sanitize_load1_done
375 call __asan_report_load1@PLT
376 .sanitize_load1_done:
382 // Sanitize 2-byte store. Takes one 8-byte address as an argument in %rdi,
383 // nothing is returned.
384 .globl __sanitizer_sanitize_store2
385 .type __sanitizer_sanitize_store2, @function
386 __sanitizer_sanitize_store2:
393 movb 0x7fff8000(%rax), %al
395 je .sanitize_store2_done
401 jl .sanitize_store2_done
406 call __asan_report_store2@PLT
407 .sanitize_store2_done:
413 // Sanitize 2-byte load. Takes one 8-byte address as an argument in %rdi,
414 // nothing is returned.
415 .globl __sanitizer_sanitize_load2
416 .type __sanitizer_sanitize_load2, @function
417 __sanitizer_sanitize_load2:
424 movb 0x7fff8000(%rax), %al
426 je .sanitize_load2_done
432 jl .sanitize_load2_done
437 call __asan_report_load2@PLT
438 .sanitize_load2_done:
444 // Sanitize 4-byte store. Takes one 8-byte address as an argument in %rdi,
445 // nothing is returned.
446 .globl __sanitizer_sanitize_store4
447 .type __sanitizer_sanitize_store4, @function
448 __sanitizer_sanitize_store4:
455 movb 0x7fff8000(%rax), %al
457 je .sanitize_store4_done
463 jl .sanitize_store4_done
468 call __asan_report_store4@PLT
469 .sanitize_store4_done:
475 // Sanitize 4-byte load. Takes one 8-byte address as an argument in %rdi,
476 // nothing is returned.
477 .globl __sanitizer_sanitize_load4
478 .type __sanitizer_sanitize_load4, @function
479 __sanitizer_sanitize_load4:
486 movb 0x7fff8000(%rax), %al
488 je .sanitize_load4_done
494 jl .sanitize_load4_done
499 call __asan_report_load4@PLT
500 .sanitize_load4_done:
506 // Sanitize 8-byte store. Takes one 8-byte address as an argument in %rdi,
507 // nothing is returned.
508 .globl __sanitizer_sanitize_store8
509 .type __sanitizer_sanitize_store8, @function
510 __sanitizer_sanitize_store8:
516 cmpb $0x0, 0x7fff8000(%rax)
517 je .sanitize_store8_done
522 call __asan_report_store8@PLT
523 .sanitize_store8_done:
528 // Sanitize 8-byte load. Takes one 8-byte address as an argument in %rdi,
529 // nothing is returned.
530 .globl __sanitizer_sanitize_load8
531 .type __sanitizer_sanitize_load8, @function
532 __sanitizer_sanitize_load8:
538 cmpb $0x0, 0x7fff8000(%rax)
539 je .sanitize_load8_done
544 call __asan_report_load8@PLT
545 .sanitize_load8_done:
550 // Sanitize 16-byte store. Takes one 8-byte address as an argument in %rdi,
551 // nothing is returned.
552 .globl __sanitizer_sanitize_store16
553 .type __sanitizer_sanitize_store16, @function
554 __sanitizer_sanitize_store16:
560 cmpw $0x0, 0x7fff8000(%rax)
561 je .sanitize_store16_done
566 call __asan_report_store16@PLT
567 .sanitize_store16_done:
572 // Sanitize 16-byte load. Takes one 8-byte address as an argument in %rdi,
573 // nothing is returned.
574 .globl __sanitizer_sanitize_load16
575 .type __sanitizer_sanitize_load16, @function
576 __sanitizer_sanitize_load16:
582 cmpw $0x0, 0x7fff8000(%rax)
583 je .sanitize_load16_done
588 call __asan_report_load16@PLT
589 .sanitize_load16_done:
594 #endif // defined(__x86_64__)
595 /* We do not need executable stack. */
597 .section .note.GNU-stack,"",%progbits
599 .section .note.GNU-stack,"",@progbits
600 #endif // defined(__arm__)