Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [CMake] Check for -fPIE and -ffreestanding flags for consistency | Alexey Samsonov | 2014-02-18 | 1 | -5/+4 | |
| | | | | llvm-svn: 201549 | |||||
* | [CMake] Simplify setting compile flag disabling RTTI | Alexey Samsonov | 2014-02-18 | 1 | -1/+2 | |
| | | | | llvm-svn: 201547 | |||||
* | Move MSan lit-tests under test/msan | Alexey Samsonov | 2014-02-14 | 85 | -2330/+14 | |
| | | | | llvm-svn: 201412 | |||||
* | [sanitizer] Fix getpwuid_r (and similar) interceptors missing one of the ↵ | Evgeniy Stepanov | 2014-02-14 | 1 | -0/+16 | |
| | | | | | | arguments. llvm-svn: 201410 | |||||
* | [sanitizer] Use mmap to zero-fill large shadow regions. | Evgeniy Stepanov | 2014-02-14 | 2 | -7/+49 | |
| | | | | | | | | | | This is covered by existing ASan test. This does not change anything for TSan by default (but provides a flag to change the threshold size). Based on a patch by florent.bruneau here: https://code.google.com/p/address-sanitizer/issues/detail?id=256 llvm-svn: 201400 | |||||
* | Move shared configs for lit test suites to test/ and unittests/ directories | Alexey Samsonov | 2014-02-14 | 2 | -2/+2 | |
| | | | | llvm-svn: 201399 | |||||
* | [msan] Replicate mmap-below-shadow check in mmap64 interceptor. | Evgeniy Stepanov | 2014-02-14 | 2 | -0/+10 | |
| | | | | llvm-svn: 201397 | |||||
* | [sanitizer] Use system unwinder in signal handlers on Android. | Evgeniy Stepanov | 2014-02-11 | 1 | -2/+2 | |
| | | | | | | | | | | Because of the way Bionic sets up signal stack frames, libc unwinder is unable to step through it, resulting in broken SEGV stack traces. Luckily, libcorkscrew.so on Android implements an unwinder that can start with a signal context, thus sidestepping the issue. llvm-svn: 201151 | |||||
* | [msan] Return EINVAL instead of crashing from mmap of an invalid address. | Evgeniy Stepanov | 2014-02-10 | 2 | -11/+18 | |
| | | | | llvm-svn: 201074 | |||||
* | Add throw() specifiers to more redeclarations of operator delete and ↵ | Nick Lewycky | 2014-02-08 | 1 | -2/+2 | |
| | | | | | | operator delete[]. llvm-svn: 201016 | |||||
* | [sanitizer] Intercept if_indextoname() and if_nametoindex(). | Sergey Matveev | 2014-02-06 | 1 | -0/+23 | |
| | | | | llvm-svn: 200945 | |||||
* | [sanitizer] One does not simply intercept getifaddrs(). | Sergey Matveev | 2014-02-06 | 1 | -7/+16 | |
| | | | | | | Upgrade the interceptor, and attempt to fix the Android build. llvm-svn: 200936 | |||||
* | [sanitizer] Intercept getifaddrs(). | Sergey Matveev | 2014-02-06 | 1 | -0/+41 | |
| | | | | llvm-svn: 200926 | |||||
* | [sanitizer] Intercept getresuid and getresgid. | Sergey Matveev | 2014-02-06 | 1 | -0/+25 | |
| | | | | llvm-svn: 200925 | |||||
* | [sanitizer] Implement ioctl decoding. | Sergey Matveev | 2014-02-05 | 1 | -0/+29 | |
| | | | | | | | When an unknown ioctl is encountered, try to guess the parameter size from the request id. llvm-svn: 200872 | |||||
* | [msan] Fix a typo. | Evgeniy Stepanov | 2014-02-03 | 1 | -1/+2 | |
| | | | | | | Spotted by Keno Fischer. llvm-svn: 200682 | |||||
* | [sanitizer] Partial revert of recent ioctl changes. | Sergey Matveev | 2014-01-31 | 1 | -26/+0 | |
| | | | | | | | | Some build environments are missing the required headers. This reverts r200544, r200547, r200551. This does not revert the change that introduced READWRITE ioctl type. llvm-svn: 200567 | |||||
* | [sanitizer] Attempt to fix Android build. | Sergey Matveev | 2014-01-31 | 1 | -0/+0 | |
| | | | | llvm-svn: 200547 | |||||
* | [sanitizer] Support most ioctls from /usr/include/sound/. | Sergey Matveev | 2014-01-31 | 1 | -0/+26 | |
| | | | | llvm-svn: 200544 | |||||
* | Make signal-related functions use __sanitizer_* structures instead of ↵ | Alexander Potapenko | 2014-01-31 | 1 | -4/+4 | |
| | | | | | | | | | | | __sanitizer_kernel_* ones. Also rename internal_sigaction() into internal_sigaction_norestorer(), as this function doesn't fully implement the sigaction() functionality on Linux. This change is a part of refactoring intended to have common signal handling behavior in all tools. llvm-svn: 200535 | |||||
* | [msan] Intercept *getxattr and *listxattr. | Sergey Matveev | 2014-01-30 | 2 | -0/+142 | |
| | | | | llvm-svn: 200464 | |||||
* | [msan] Rewrite strto* interceptors and add a few more. | Sergey Matveev | 2014-01-28 | 2 | -163/+96 | |
| | | | | | | | | | Express the strto* interceptors though macros. This removes a lot of duplicate code and fixes a couple of copypasto bugs (where "res" was declared of a different type than the actual return type). Also, add a few more interceptors for strto*_l. llvm-svn: 200316 | |||||
* | [msan] Replace assert() with GTest ASSERT_* in msan_test. | Evgeniy Stepanov | 2014-01-28 | 1 | -106/+105 | |
| | | | | llvm-svn: 200293 | |||||
* | [msan] Disable mmap outside of application address range. | Evgeniy Stepanov | 2014-01-27 | 2 | -0/+27 | |
| | | | | llvm-svn: 200200 | |||||
* | [msan] add __libc_memalign interceptor; add a regression test for the ↵ | Kostya Serebryany | 2014-01-24 | 2 | -0/+63 | |
| | | | | | | existing bug with dtls support in msan llvm-svn: 199980 | |||||
* | [msan] Fix GCC warnings. | Evgeniy Stepanov | 2014-01-23 | 1 | -4/+4 | |
| | | | | | | | | warning: ISO C99 requires rest arguments to be used [enabled by default] INTERCEPTOR(char *, dlerror) { warning: invoking macro INTERCEPTOR argument 3: empty macro arguments are undefined in ISO C90 and ISO C++98 [enabled by default] llvm-svn: 199873 | |||||
* | Sanitize printf functions. | Alexey Samsonov | 2014-01-21 | 1 | -0/+2 | |
| | | | | | | | | | | Intercept and sanitize arguments passed to printf functions in ASan and TSan (don't do this in MSan for now). The checks are controlled by runtime flag (off by default for now). Patch http://llvm-reviews.chandlerc.com/D2480 by Yuri Gribov! llvm-svn: 199729 | |||||
* | [msan] Temporarily disable two tests that are failing with new glibc. | Evgeniy Stepanov | 2014-01-10 | 1 | -2/+4 | |
| | | | | llvm-svn: 198919 | |||||
* | [Sanitizer] Replace Symbolizer::IsAvailable and ↵ | Alexey Samsonov | 2013-12-25 | 1 | -6/+1 | |
| | | | | | | | | Symbolizer::IsExternalAvailable with Symbolizer::CanReturnFileLineInfo. Remove now redundant checks in symbolizer initialization in TSan and MSan. llvm-svn: 198000 | |||||
* | [msan] Add missing visibility attribute to MSan new/delete interceptors. | Evgeniy Stepanov | 2013-12-20 | 1 | -0/+9 | |
| | | | | llvm-svn: 197809 | |||||
* | [sanitizer] Use the new sanitizer_interception.h header in all interceptors. | Evgeniy Stepanov | 2013-12-20 | 1 | -1/+0 | |
| | | | | llvm-svn: 197808 | |||||
* | [msan] Wrap indirect calls to REAL(x) in interceptors. | Evgeniy Stepanov | 2013-12-20 | 2 | -7/+46 | |
| | | | | llvm-svn: 197806 | |||||
* | [msan] Replace wrap_indirect_calls runtime flag with an interface method. | Evgeniy Stepanov | 2013-12-20 | 5 | -15/+69 | |
| | | | | llvm-svn: 197799 | |||||
* | [ASan] Get rid of ASan-specific functions for printing stack traces | Alexey Samsonov | 2013-12-19 | 1 | -2/+2 | |
| | | | | llvm-svn: 197672 | |||||
* | [msan] Disable DynamoRio detection. | Evgeniy Stepanov | 2013-12-18 | 1 | -13/+1 | |
| | | | | | | | | | This code is not robust enough and triggers when simply linking with libdynamorio.so, without any code translation at all. Disabling it is safe (i.e. we may unpoison too much memory and see false negatives, but never false positives). llvm-svn: 197568 | |||||
* | [msan] Relax gethostbyname_r test condition. | Evgeniy Stepanov | 2013-12-16 | 1 | -1/+0 | |
| | | | | | | Apparently, its return value depends on the glibc version. llvm-svn: 197390 | |||||
* | [msan] Fix gethostbyname_r and similar interceptors. | Evgeniy Stepanov | 2013-12-16 | 1 | -0/+21 | |
| | | | | | | | | *h_errno is written not on success, but on failure. In fact, it seems like it can be written even when return value signals success, so we just unpoison it in all cases. llvm-svn: 197383 | |||||
* | [msan] Fix strncat interceptor, add missing tests. | Evgeniy Stepanov | 2013-12-13 | 2 | -3/+41 | |
| | | | | llvm-svn: 197244 | |||||
* | [msan] Wrap indirect calls from sanitizer rtl when running under DR. | Evgeniy Stepanov | 2013-12-13 | 4 | -5/+50 | |
| | | | | llvm-svn: 197226 | |||||
* | [msan] Add a check for recursive __msan_init. | Evgeniy Stepanov | 2013-12-13 | 1 | -0/+1 | |
| | | | | llvm-svn: 197218 | |||||
* | [msan] Clean stack and TLS shadow on thread exit. | Evgeniy Stepanov | 2013-12-12 | 4 | -9/+44 | |
| | | | | llvm-svn: 197156 | |||||
* | [msan] Get stack limits with pthread_create interceptor. | Evgeniy Stepanov | 2013-12-11 | 4 | -22/+38 | |
| | | | | | | | | | | | | | Before we did it lazily on the first stack unwind in the thread. It resulted in deadlock when the unwind was caused by memory allocation inside pthread_getattr_np: pthread_getattr_np <<< not reentable GetThreadStackTopAndBottom __interceptor_realloc pthread_getattr_np llvm-svn: 197026 | |||||
* | [msan] Allow strlen() (and similar functions) of shadow memory. | Evgeniy Stepanov | 2013-12-06 | 2 | -1/+26 | |
| | | | | llvm-svn: 196572 | |||||
* | Run TSan/MSan lit tests only on 64-bit platforms | Alexey Samsonov | 2013-12-05 | 2 | -2/+3 | |
| | | | | llvm-svn: 196501 | |||||
* | [sanitizer] Introduce VReport and VPrintf macros and use them in sanitizer code. | Sergey Matveev | 2013-12-05 | 4 | -25/+18 | |
| | | | | | | Instead of "if (common_flags()->verbosity) Report(...)" we now have macros. llvm-svn: 196497 | |||||
* | [sanitizer] Intercept textdomain. | Evgeniy Stepanov | 2013-12-02 | 1 | -0/+12 | |
| | | | | | | Patch by Alexander Taran. llvm-svn: 196098 | |||||
* | [sanitizer] Intercept times. | Evgeniy Stepanov | 2013-11-28 | 1 | -0/+20 | |
| | | | | llvm-svn: 195918 | |||||
* | [sanitizer] Intercept iconv. | Evgeniy Stepanov | 2013-11-28 | 1 | -0/+48 | |
| | | | | llvm-svn: 195917 | |||||
* | [sanitizer] Intercept __xpg_strerror_r. | Evgeniy Stepanov | 2013-11-27 | 1 | -0/+18 | |
| | | | | llvm-svn: 195839 | |||||
* | tsan: fix flags parsing | Dmitry Vyukov | 2013-11-27 | 1 | -2/+3 | |
| | | | | | | | | - running_on_valgrind was not parsed in some contexts - refactor code a bit - add comprehensive tests for flags parsing llvm-svn: 195831 |