[llvm-commits] [llvm] r160254 - in /llvm/trunk: lib/Transforms/Instrumentation/AddressSanitizer.cpp test/Instrumentation/AddressSanitizer/basic.ll

Kostya Serebryany kcc at google.com
Tue Jul 17 02:14:39 PDT 2012


On Tue, Jul 17, 2012 at 1:08 PM, Joerg Sonnenberger <joerg at britannica.bec.de
> wrote:

> On Mon, Jul 16, 2012 at 05:34:56PM +0400, Kostya Serebryany wrote:
> > First Chandler's suggestion was to replace this code with
> >
> > if (*shadow1) { arg = addr1; goto report_read4; }
> > if (*shadow2) { arg = addr2; goto report_read4; }
> > if (*shadow3) { arg = addr3; goto report_read4; }
> > return;
> > report_read4:
> >   __asan_report_read4(arg);
>
> What about not using call directly for __asan_report_read4, but building
> the stack frame with explicit push + jmp? At least for x86 that is
> trivial to implement and not that much larger in terms of code.
>

Could you please explain more?
(And one thing I want to avoid is to add inline asm into the LLVM
instrumentation module)

--kcc


>
> Joerg
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120717/0ca4fd18/attachment.html>


More information about the llvm-commits mailing list