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.
