Meanwhile we've made the first step for "Out-of-line memory checks".

http://llvm.org/viewvc/llvm-project?view=revision&revision=206387 and
http://llvm.org/viewvc/llvm-project?view=revision&revision=206383
introduce a new hidden flag "-mllvm
-asan-instrumentation-with-call-threshold=N" which will use callbacks
instead of inline checks
when the function has more than N memory accesses.
The plan is to set N to something like 10000 by default.
We did it because we are desperate with
http://llvm.org/bugs/show_bug.cgi?id=17409 and
because the same thing will help us experimenting with kernel-asan
(kasan has different and yet-unstable shadow mapping).

--kcc

On Mon, Mar 31, 2014 at 4:04 PM, Yuri Gribov <[email protected]> wrote:
>> That will add some more complexity to the build system.
>> E.g. __asan_read1&co will have to reside in a separate library.
>
> Yup.
>
>> You probably want to implement them in hand-written assembly, because
>> otherwise we'll get the same bad code generated by the same compiler.
>
> Sure, that goes w/o saying.
>
>> Also, ARM calls do not save return address on stack, but store it in
>> LR register - that's one less memory store on the fast path.
>
> +1
>
> -Y
>
> --
> You received this message because you are subscribed to the Google Groups 
> "address-sanitizer" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to