[llvm-dev] [PATCH compiler-rt 0/5] Improved support for swapcontext()

Kostya Serebryany via llvm-dev
2016-02-02T18:10:36Z

Paweł,
thanks for the patches, but please use http://llvm.org/docs/Phabricator.html

On Tue, Feb 2, 2016 at 6:42 AM, Paweł Dziepak <llvm-dev at lists.llvm.org>
wrote:

> Hi,
>
> These patches improve ASan support for swapcontext() and friends mainly
> focusing on eliminating false positives caused by throwing and catching
> exceptions when on a custom user stack.
> This is achieved by adding ability to AsanThread to change current
> stack (in an async-safe way).
>
> Some of the things that are still not fully supported:
>  - swapcontext() and fake stacks
>  - changing context from signal handlers
>  - changing context using longjmp()
>  - final context change via ucontext_t::uc_link
>
> On x64 Linux 'make check-all' passes.
>
> This series is also available at:
>
>   https://github.com/pdziepak/compiler-rt.git asan-swapcontext-v1
>
> Paweł Dziepak (5):
>   asan: make getcontext() and swapcontext() write stack description
>   asan: introduce AsanThread::StackDescriptor
>   lsan: do not expect leaks in coroutines to be not reported
>   asan: better support for swapcontext() and setcontext()
>   asan: extend swapcontext_test
>
>  lib/asan/asan_interceptors.cc                 | 42 +++++++++++++++++++++
>  lib/asan/asan_internal.h                      |  1 +
>  lib/asan/asan_linux.cc                        | 10 +++++
>  lib/asan/asan_mac.cc                          |  4 ++
>  lib/asan/asan_thread.cc                       | 21 +++++++----
>  lib/asan/asan_thread.h                        | 54
> ++++++++++++++++++++++-----
>  lib/asan/asan_win.cc                          |  4 ++
>  test/asan/TestCases/Linux/swapcontext_test.cc | 15 ++++++++
>  test/lsan/TestCases/swapcontext.cc            |  4 --
>  9 files changed, 134 insertions(+), 21 deletions(-)
>
> --
> 2.5.0
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20160202/296d9863/attachment.html>