Displaying 2 results from an estimated 2 matches for "__asan_load4".
Did you mean:
__asan_load8
2016 Oct 26
0
Asan code size overhead
...movq %rdi, %rax
shrq $3, %rax
movb 2147450880(%rax), %al
testb %al, %al
jne .LBB0_1
.LBB0_3:
movl (%rdi), %eax
popq %rcx
retq
.LBB0_1:
movl %edi, %ecx
andl $7, %ecx
addl $3, %ecx
cmpb %al, %cl
jl .LBB0_3
# BB#2:
callq __asan_report_load4
With this flag it will look like this:
movq %rdi, %rbx
callq __asan_load4
movl (%rbx), %eax
Obviously, there is a cost in performance.
Clang (and recent gcc) also have a convenience
flag -fsanitize=kernel-address:
movq %rdi, %rbx
callq __asan_load4_noabort
movl (%rbx), %eax
If that does not solve your code size problem, let's look at it more.
--kcc
>
>
&...
2016 Oct 26
2
Asan code size overhead
Hi Kcc,
I'm trying enabling the Asan in my firmware, but I find the asan instrumentation code size impact is too big for me. I just implement necessary firmware version runtime library functions (e.g. __asan_report_load8) with blank body firstly to pass the asan enabled build, but I find the new binary code size is already ~2.5 times as original one with asan disabled in GCC. I know Linux