<div dir="ltr">Paweł, <br><div>thanks for the patches, but please use <a href="http://llvm.org/docs/Phabricator.html">http://llvm.org/docs/Phabricator.html</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 2, 2016 at 6:42 AM, Paweł Dziepak <span dir="ltr"><<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
These patches improve ASan support for swapcontext() and friends mainly<br>
focusing on eliminating false positives caused by throwing and catching<br>
exceptions when on a custom user stack.<br>
This is achieved by adding ability to AsanThread to change current<br>
stack (in an async-safe way).<br>
<br>
Some of the things that are still not fully supported:<br>
- swapcontext() and fake stacks<br>
- changing context from signal handlers<br>
- changing context using longjmp()<br>
- final context change via ucontext_t::uc_link<br>
<br>
On x64 Linux 'make check-all' passes.<br>
<br>
This series is also available at:<br>
<br>
<a href="https://github.com/pdziepak/compiler-rt.git" rel="noreferrer" target="_blank">https://github.com/pdziepak/compiler-rt.git</a> asan-swapcontext-v1<br>
<br>
Paweł Dziepak (5):<br>
asan: make getcontext() and swapcontext() write stack description<br>
asan: introduce AsanThread::StackDescriptor<br>
lsan: do not expect leaks in coroutines to be not reported<br>
asan: better support for swapcontext() and setcontext()<br>
asan: extend swapcontext_test<br>
<br>
lib/asan/asan_interceptors.cc | 42 +++++++++++++++++++++<br>
lib/asan/asan_internal.h | 1 +<br>
lib/asan/asan_linux.cc | 10 +++++<br>
lib/asan/asan_mac.cc | 4 ++<br>
lib/asan/asan_thread.cc | 21 +++++++----<br>
lib/asan/asan_thread.h | 54 ++++++++++++++++++++++-----<br>
lib/asan/asan_win.cc | 4 ++<br>
test/asan/TestCases/Linux/swapcontext_test.cc | 15 ++++++++<br>
test/lsan/TestCases/swapcontext.cc | 4 --<br>
9 files changed, 134 insertions(+), 21 deletions(-)<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
2.5.0<br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</font></span></blockquote></div><br></div>