[PATCH] D16844: [asan] Improved support for swapcontext()
Paweł Dziepak via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 3 00:55:59 PST 2016
pdziepak created this revision.
pdziepak added a reviewer: kcc.
pdziepak added a subscriber: llvm-commits.
These changess 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:
1. Making swapcontext() and getcontext() fill ucontext_t::uc_stack with proper
values.
2. 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
http://reviews.llvm.org/D16844
Files:
lib/asan/asan_interceptors.cc
lib/asan/asan_internal.h
lib/asan/asan_linux.cc
lib/asan/asan_mac.cc
lib/asan/asan_thread.cc
lib/asan/asan_thread.h
lib/asan/asan_win.cc
test/asan/TestCases/Linux/swapcontext_test.cc
test/lsan/TestCases/swapcontext.cc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D16844.46753.patch
Type: text/x-patch
Size: 10113 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160203/350aaf5a/attachment.bin>
More information about the llvm-commits
mailing list