Commit Graph

2713 Commits

Author SHA1 Message Date
Alexey Samsonov d875c39be6 Check code style in check-sanitizer command
llvm-svn: 189475
2013-08-28 11:27:31 +00:00
Alexey Samsonov ef643ce471 [sanitizer] fix code style
llvm-svn: 189474
2013-08-28 11:26:09 +00:00
Evgeniy Stepanov 4f961de94e [msan] Remove extra backup/restore calls.
llvm-svn: 189461
2013-08-28 09:17:47 +00:00
Kostya Serebryany fab9336413 [asan]: fix a CHECK failure in use-after-return mode; enable and fix stack-use-after-return.cc; add a test for UAR mode in asan_noinst_test
llvm-svn: 189457
2013-08-28 08:59:23 +00:00
Alexey Samsonov 0803953cea Generate list of symbols exported from sanitizer runtimes only on 64-bit Unix
llvm-svn: 189454
2013-08-28 08:07:04 +00:00
Alexey Samsonov acab30e927 Properly generate lists of exported symbols for sanitizer runtimes
This change adds a Python script that is invoked for
the just-built sanitizer runtime to generate the list of exported symbols
passed to the linker. By default, it contains interceptors and sanitizer
interface functions, but can be extended with tool-specific lists.

llvm-svn: 189356
2013-08-27 15:08:02 +00:00
Evgeniy Stepanov cb22c67a21 [msan] Save/restore va_arg_overflow_tls in signal handlers.
llvm-svn: 189351
2013-08-27 14:08:15 +00:00
Alexey Samsonov 614a5ea990 Revert r189347: it breaks on machines w/o installed debug versions of system libraries
llvm-svn: 189350
2013-08-27 14:04:01 +00:00
Alexey Samsonov ea0ef986e2 LSan: Check that dynamic linker library is properly symbolized
llvm-svn: 189347
2013-08-27 13:39:33 +00:00
Evgeniy Stepanov c41798152f [msan] Unpoison all TLS shadow when leaving a signal handler.
llvm-svn: 189343
2013-08-27 12:59:39 +00:00
Evgeniy Stepanov bb25af5f7b [msan] Fix a data race in signal/sigaction interceptors.
llvm-svn: 189342
2013-08-27 11:34:05 +00:00
Evgeniy Stepanov 82185980c4 [msan] A test for ppoll() interceptor.
llvm-svn: 189339
2013-08-27 11:10:20 +00:00
Evgeniy Stepanov a40a058ff1 [sanitizer] Simplify sigaction and sigset_t handling.
llvm-svn: 189338
2013-08-27 11:10:04 +00:00
Hans Wennborg 67c6e5041b cmake: fix the compiler-rt build with MSVC
This sets flags and excludes things that aren't working with MSVC yet,
allowing us to build the ASan runtime as part of the cmake build.

Differential Revision: http://llvm-reviews.chandlerc.com/D1525

llvm-svn: 189304
2013-08-27 01:24:01 +00:00
Sergey Matveev 9e3e80208f [sanitizer] Add a fast version of StackDepotGet() for use in LSan.
Add a class that holds a snapshot of the StackDepot optimized for querying by
ID. This allows us to speed up LSan dramatically.

llvm-svn: 189217
2013-08-26 13:24:43 +00:00
Sergey Matveev ef7db73e11 [sanitizer] Handle Die() in StopTheWorld.
Handle calls to Die() from the tracer thread. Fixes a bug where a CHECK
could fail in the tracer thread, resulting in a call to AsanDie. The tracer
thread then exited and the parent process continued execution despite its
address space being in an unusable state.

llvm-svn: 189216
2013-08-26 13:20:31 +00:00
Peter Collingbourne 469c056299 [dfsan] Integration test for the equal-labels case
llvm-svn: 189134
2013-08-23 18:45:22 +00:00
Evgeniy Stepanov 0d13c707d5 [msan] Extend VAArgTLSOverwrite test.
This test now covers LLVM r189104.

llvm-svn: 189105
2013-08-23 12:13:18 +00:00
Alexey Samsonov 903c3250d2 Slightly improve lint checker script and fix a few style issues
llvm-svn: 189092
2013-08-23 07:43:56 +00:00
Sergey Matveev 5371e90f7a [lsan] Add a regression test for building C code.
llvm-svn: 189016
2013-08-22 14:48:44 +00:00
Evgeniy Stepanov 251080b0eb [sanitizer] Fix build when scanf interceptors are enabled, and __isoc99_*scanf are not.
Fixes PR16916.

llvm-svn: 189015
2013-08-22 13:59:15 +00:00
Sergey Matveev f6ca04d468 [lsan] Add a stress test.
llvm-svn: 189012
2013-08-22 13:32:10 +00:00
Sergey Matveev e38dd3ff4e [lsan] Follow-up to r189010 - do the same in Makefile build.
llvm-svn: 189011
2013-08-22 13:30:01 +00:00
Sergey Matveev bed55036a9 [lsan] Build standalone LSan with -fno-rtti.
Fix issue where C code could not be built with -fsanitize=leak.

llvm-svn: 189010
2013-08-22 13:23:22 +00:00
Bill Wendling 4f20f51090 Add missing ']'.
llvm-svn: 188927
2013-08-21 20:12:27 +00:00
Bob Wilson e7ca6f9359 For Darwin builds, locate tools using xcrun when available.
The make/platform/darwin_bni.mk file already has similar code but we
apparently neglected to add it to the clang_darwin.mk file.

llvm-svn: 188864
2013-08-21 04:42:56 +00:00
Alexey Samsonov 287fca44af [LSan] Add support for building standalone LSan runtime to Make build (compiler-rt part)
llvm-svn: 188804
2013-08-20 14:49:01 +00:00
Chandler Carruth 6b8d17bf35 It appears that glibc 2.13 has the same thread descriptor size as 2.11,
bump up the inflection point to 2.14. If someone can tell me how to
actually figure out value for this, that would be awesome.

Anyways, this takes me to one ASan failure, one LSan failure, and three
TSan failures for 'check-all' on Linux.

llvm-svn: 188635
2013-08-18 10:04:51 +00:00
Chandler Carruth 022a3d4e88 Revert r188369 (and r188455) which breaks the build on at least some
Linux systems. I've replied on the original commit thread with details
of the problem.

llvm-svn: 188628
2013-08-18 08:47:06 +00:00
Joerg Sonnenberger 9dce26947e Fix endian conditions on Solaris. From Alexander Esilevich.
llvm-svn: 188613
2013-08-17 22:32:10 +00:00
Timur Iskhodzhanov 10286e1e59 [ASan/RTL] Disable colored reporting on Windows
llvm-svn: 188545
2013-08-16 11:26:26 +00:00
Dmitry Vyukov f6ea6a5a19 tsan: better report formatting for Go
Say that gorotuine 1 is main goroutine.
Remove excessive new line.

llvm-svn: 188542
2013-08-16 11:15:14 +00:00
Timur Iskhodzhanov 51cda144ae [ASan/RTL] Disable alloc_dealloc_mismatch by default on Windows
llvm-svn: 188541
2013-08-16 11:04:59 +00:00
Peter Collingbourne 12b0809eb1 [dfsan] Initial set of custom functions and interceptors for libc.
Differential Revision: http://llvm-reviews.chandlerc.com/D1397

llvm-svn: 188490
2013-08-15 21:18:53 +00:00
Peter Collingbourne ae52ac7479 [dfsan] Runtime support for -dfsan-debug-nonzero-labels feature.
Reviewers: eugenis

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1406

llvm-svn: 188471
2013-08-15 18:51:07 +00:00
Evgeniy Stepanov a1d44d4d8f [sanitizer] Add missing include.
llvm-svn: 188455
2013-08-15 10:20:30 +00:00
Peter Collingbourne 64308d92c0 [dfsan] New __dfsan_set_label runtime function.
Differential Revision: http://llvm-reviews.chandlerc.com/D1396

llvm-svn: 188411
2013-08-14 20:51:33 +00:00
Peter Collingbourne 0e51eda83b [dfsan] Runtime support for ABI list functionality; can now run integration tests with args ABI.
Differential Revision: http://llvm-reviews.chandlerc.com/D1351

llvm-svn: 188401
2013-08-14 18:54:06 +00:00
Evgeniy Stepanov 0bb7577d89 [sanitizer] Split platform_limits_posix into system- and kernel-dependent parts.
This change moves everything depending on kernel headers (mostly ioctl types
and ids) into a separate source file. This will reduce the possibility of
header conflict on various platforms (most importantly, older glibc versions).

This change also removes 2 deprecated ioctls, and symbolic ids for other bunch
of ambiguous ioctls (i.e. same id is shared by ioctls with different memory
behavior).

llvm-svn: 188369
2013-08-14 13:34:14 +00:00
Peter Collingbourne 7da504faa4 [dfsan] Introduce dfsan_read_label runtime function.
Differential Revision: http://llvm-reviews.chandlerc.com/D1349

llvm-svn: 188319
2013-08-13 22:15:40 +00:00
Dmitry Vyukov 4ba287f328 dfsan: fix lint warning
llvm-svn: 188292
2013-08-13 16:52:07 +00:00
Dmitry Vyukov 8cff61f29e tsan: intercept getaddrinfo
This is necessary to prevent false positives, see:
https://code.google.com/p/thread-sanitizer/issues/detail?id=25

llvm-svn: 188291
2013-08-13 16:51:27 +00:00
Timur Iskhodzhanov 9dc34adf36 [ASan/Win] Oops, forgot to add the attributes to the memory allocations functions
llvm-svn: 188290
2013-08-13 16:48:18 +00:00
Dmitry Vyukov 97f0eae0a5 tsan/msan: add halt_on_error flag
If halt_on_error==true, program terminates after reporting first error.

llvm-svn: 188279
2013-08-13 15:33:00 +00:00
Timur Iskhodzhanov 7757073c21 [ASan/Win] Hook some memory allocation functions; passes simple sanity test now
llvm-svn: 188278
2013-08-13 15:29:42 +00:00
Timur Iskhodzhanov 3fdabf8965 [ASan/Win] Add the first version of the RTL thunk that should be linked with instrumented DLLs
llvm-svn: 188267
2013-08-13 13:47:03 +00:00
Timur Iskhodzhanov dd052cedf8 Add a FIXME to check_lint
llvm-svn: 188266
2013-08-13 13:44:02 +00:00
Timur Iskhodzhanov 82a6647755 [*San/RTL] One more minor fix
llvm-svn: 188263
2013-08-13 12:16:43 +00:00
Timur Iskhodzhanov 45e82d12b0 [*San/RTL] Fix minor breakage
Grumbling: this hasn't been caught by running 'make check-{a,l,t}san check-sanitizer'
llvm-svn: 188262
2013-08-13 12:03:51 +00:00
Timur Iskhodzhanov eee13914e2 Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used
llvm-svn: 188261
2013-08-13 11:42:45 +00:00