summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/msan
Commit message (Collapse)AuthorAgeFilesLines
...
* [CMake] Check for -fPIE and -ffreestanding flags for consistencyAlexey Samsonov2014-02-181-5/+4
| | | | llvm-svn: 201549
* [CMake] Simplify setting compile flag disabling RTTIAlexey Samsonov2014-02-181-1/+2
| | | | llvm-svn: 201547
* Move MSan lit-tests under test/msanAlexey Samsonov2014-02-1485-2330/+14
| | | | llvm-svn: 201412
* [sanitizer] Fix getpwuid_r (and similar) interceptors missing one of the ↵Evgeniy Stepanov2014-02-141-0/+16
| | | | | | arguments. llvm-svn: 201410
* [sanitizer] Use mmap to zero-fill large shadow regions.Evgeniy Stepanov2014-02-142-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/ directoriesAlexey Samsonov2014-02-142-2/+2
| | | | llvm-svn: 201399
* [msan] Replicate mmap-below-shadow check in mmap64 interceptor.Evgeniy Stepanov2014-02-142-0/+10
| | | | llvm-svn: 201397
* [sanitizer] Use system unwinder in signal handlers on Android.Evgeniy Stepanov2014-02-111-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 Stepanov2014-02-102-11/+18
| | | | llvm-svn: 201074
* Add throw() specifiers to more redeclarations of operator delete and ↵Nick Lewycky2014-02-081-2/+2
| | | | | | operator delete[]. llvm-svn: 201016
* [sanitizer] Intercept if_indextoname() and if_nametoindex().Sergey Matveev2014-02-061-0/+23
| | | | llvm-svn: 200945
* [sanitizer] One does not simply intercept getifaddrs().Sergey Matveev2014-02-061-7/+16
| | | | | | Upgrade the interceptor, and attempt to fix the Android build. llvm-svn: 200936
* [sanitizer] Intercept getifaddrs().Sergey Matveev2014-02-061-0/+41
| | | | llvm-svn: 200926
* [sanitizer] Intercept getresuid and getresgid.Sergey Matveev2014-02-061-0/+25
| | | | llvm-svn: 200925
* [sanitizer] Implement ioctl decoding.Sergey Matveev2014-02-051-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 Stepanov2014-02-031-1/+2
| | | | | | Spotted by Keno Fischer. llvm-svn: 200682
* [sanitizer] Partial revert of recent ioctl changes.Sergey Matveev2014-01-311-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 Matveev2014-01-311-0/+0
| | | | llvm-svn: 200547
* [sanitizer] Support most ioctls from /usr/include/sound/.Sergey Matveev2014-01-311-0/+26
| | | | llvm-svn: 200544
* Make signal-related functions use __sanitizer_* structures instead of ↵Alexander Potapenko2014-01-311-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 Matveev2014-01-302-0/+142
| | | | llvm-svn: 200464
* [msan] Rewrite strto* interceptors and add a few more.Sergey Matveev2014-01-282-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 Stepanov2014-01-281-106/+105
| | | | llvm-svn: 200293
* [msan] Disable mmap outside of application address range.Evgeniy Stepanov2014-01-272-0/+27
| | | | llvm-svn: 200200
* [msan] add __libc_memalign interceptor; add a regression test for the ↵Kostya Serebryany2014-01-242-0/+63
| | | | | | existing bug with dtls support in msan llvm-svn: 199980
* [msan] Fix GCC warnings.Evgeniy Stepanov2014-01-231-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 Samsonov2014-01-211-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 Stepanov2014-01-101-2/+4
| | | | llvm-svn: 198919
* [Sanitizer] Replace Symbolizer::IsAvailable and ↵Alexey Samsonov2013-12-251-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 Stepanov2013-12-201-0/+9
| | | | llvm-svn: 197809
* [sanitizer] Use the new sanitizer_interception.h header in all interceptors.Evgeniy Stepanov2013-12-201-1/+0
| | | | llvm-svn: 197808
* [msan] Wrap indirect calls to REAL(x) in interceptors.Evgeniy Stepanov2013-12-202-7/+46
| | | | llvm-svn: 197806
* [msan] Replace wrap_indirect_calls runtime flag with an interface method.Evgeniy Stepanov2013-12-205-15/+69
| | | | llvm-svn: 197799
* [ASan] Get rid of ASan-specific functions for printing stack tracesAlexey Samsonov2013-12-191-2/+2
| | | | llvm-svn: 197672
* [msan] Disable DynamoRio detection.Evgeniy Stepanov2013-12-181-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 Stepanov2013-12-161-1/+0
| | | | | | Apparently, its return value depends on the glibc version. llvm-svn: 197390
* [msan] Fix gethostbyname_r and similar interceptors.Evgeniy Stepanov2013-12-161-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 Stepanov2013-12-132-3/+41
| | | | llvm-svn: 197244
* [msan] Wrap indirect calls from sanitizer rtl when running under DR.Evgeniy Stepanov2013-12-134-5/+50
| | | | llvm-svn: 197226
* [msan] Add a check for recursive __msan_init.Evgeniy Stepanov2013-12-131-0/+1
| | | | llvm-svn: 197218
* [msan] Clean stack and TLS shadow on thread exit.Evgeniy Stepanov2013-12-124-9/+44
| | | | llvm-svn: 197156
* [msan] Get stack limits with pthread_create interceptor.Evgeniy Stepanov2013-12-114-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 Stepanov2013-12-062-1/+26
| | | | llvm-svn: 196572
* Run TSan/MSan lit tests only on 64-bit platformsAlexey Samsonov2013-12-052-2/+3
| | | | llvm-svn: 196501
* [sanitizer] Introduce VReport and VPrintf macros and use them in sanitizer code.Sergey Matveev2013-12-054-25/+18
| | | | | | Instead of "if (common_flags()->verbosity) Report(...)" we now have macros. llvm-svn: 196497
* [sanitizer] Intercept textdomain.Evgeniy Stepanov2013-12-021-0/+12
| | | | | | Patch by Alexander Taran. llvm-svn: 196098
* [sanitizer] Intercept times.Evgeniy Stepanov2013-11-281-0/+20
| | | | llvm-svn: 195918
* [sanitizer] Intercept iconv.Evgeniy Stepanov2013-11-281-0/+48
| | | | llvm-svn: 195917
* [sanitizer] Intercept __xpg_strerror_r.Evgeniy Stepanov2013-11-271-0/+18
| | | | llvm-svn: 195839
* tsan: fix flags parsingDmitry Vyukov2013-11-271-2/+3
| | | | | | | | - running_on_valgrind was not parsed in some contexts - refactor code a bit - add comprehensive tests for flags parsing llvm-svn: 195831
OpenPOWER on IntegriCloud