Evgeniy Stepanov
5450a9635a
[sanitizer] Additional error checking.
...
llvm-svn: 226279
2015-01-16 15:25:16 +00:00
Viktor Kutuzov
05f6929932
[Sanitizers] Intercept clock_gettime() on FreeBSD
...
Committed unreviewed with permission.
llvm-svn: 226276
2015-01-16 14:54:39 +00:00
Viktor Kutuzov
068ece9679
[Sanitizers] Intercept lgamma_r() on FreeBSD
...
Committed unreviewed with permission.
llvm-svn: 226275
2015-01-16 14:52:17 +00:00
Evgeniy Stepanov
29235e374c
[sanitizer] Fix bashism in check_lint.sh.
...
llvm-svn: 226267
2015-01-16 10:20:49 +00:00
Evgeniy Stepanov
e0009356ba
[sanitizer] Cleanup linter temporary files.
...
llvm-svn: 226266
2015-01-16 10:09:56 +00:00
Evgeniy Stepanov
db20539d3a
[sanitizer] Fix compiler warning in the flag parser code.
...
llvm-svn: 226263
2015-01-16 09:32:31 +00:00
Evgeniy Stepanov
bc14dd46f2
[sanitizer] Implement include= option.
...
Allows loading sanitizer options from file.
llvm-svn: 226175
2015-01-15 16:26:59 +00:00
Evgeniy Stepanov
f294d5b829
[sanitizer] Flag parser rewrite.
...
The new parser is a lot stricter about syntax, reports unrecognized
flags, and will make it easier to implemented some of the planned features.
llvm-svn: 226169
2015-01-15 15:13:43 +00:00
Evgeniy Stepanov
3f2e761826
[asan] Fix uninit in coverage.
...
pc_fd was not initialized to (-1) on some code paths, resulting in the program
erroneously closing stdin when reinitializing coverage.
llvm-svn: 225637
2015-01-12 17:13:20 +00:00
Jay Foad
335c08e56c
[ASan] Handle SIGBUS on Linux.
...
Summary:
On Linux in some situations we can get SIGBUS instead of SIGSEGV on
stack overflow, so asan should handle SIGBUS as well as SIGSEGV.
https://code.google.com/p/address-sanitizer/issues/detail?id=369
Reviewers: samsonov, glider
Reviewed By: glider
Subscribers: glider, llvm-commits
Differential Revision: http://reviews.llvm.org/D6923
llvm-svn: 225630
2015-01-12 13:46:37 +00:00
Kostya Serebryany
96fc9a2537
[sanitizer] use the right memory order
...
llvm-svn: 225546
2015-01-09 21:01:34 +00:00
Alexey Samsonov
a04ca22edf
Fix memory leaks in GetListOfModules() users.
...
llvm-svn: 225472
2015-01-08 22:31:14 +00:00
Alexey Samsonov
b40fd1b24e
[Sanitizer] Remove the hardcoded limit of address ranges in LoadedModule.
...
This should fix https://code.google.com/p/address-sanitizer/issues/detail?id=368 .
llvm-svn: 225469
2015-01-08 22:03:05 +00:00
Viktor Kutuzov
e01a595dad
[Sanitizers] Fix internal_lseek() to work on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D6825
llvm-svn: 225443
2015-01-08 13:28:22 +00:00
Alexey Samsonov
7eba6dfdaa
[TSan] Fix Go build.
...
llvm-svn: 225336
2015-01-07 02:12:41 +00:00
Kostya Serebryany
7e85a9216e
[asan] add a flag soft_rss_limit_mb
...
llvm-svn: 225323
2015-01-06 23:53:32 +00:00
Alexey Samsonov
bdbdd3fd4e
[Sanitizer] Use COMMON_FLAG macro to describe common runtime flags.
...
Summary:
Introduce a single place where we specify flag type, name, default
value, and description. This removes a large amount of boilerplate
and ensures we won't leave flags uninitialized.
Test Plan: regression test suite
Reviewers: kcc
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6851
llvm-svn: 225239
2015-01-06 02:44:05 +00:00
Kostya Serebryany
e02839b60f
[asan/tracing] write the trace using a sequence of internal_write calls instead of just one (otherwise files of > 2Gb are trunkated). Also a minor adjustment to the trace collection.
...
llvm-svn: 225230
2015-01-06 01:11:23 +00:00
Alexey Samsonov
df3aeb8e71
Remove TSAN_DEBUG in favor of SANITIZER_DEBUG.
...
llvm-svn: 225111
2015-01-03 04:29:12 +00:00
Kostya Serebryany
0f53d9a2ee
[asan/tracing] extend the test a bit more, simplify the tracing code, add a guard page to trace array, fix the trace IDs before dumping
...
llvm-svn: 225108
2015-01-03 02:07:58 +00:00
Kostya Serebryany
d421db05bb
[asan] simplify the tracing code, make it use the same guard variables as coverage
...
llvm-svn: 225103
2015-01-03 00:54:43 +00:00
Alexey Samsonov
c426c337ed
Revert "Revert r224736: "[Sanitizer] Make CommonFlags immutable after initialization.""
...
Fix test failures by introducing CommonFlags::CopyFrom() to make sure
compiler doesn't insert memcpy() calls into runtime code.
Original commit message:
Protect CommonFlags singleton by adding const qualifier to
common_flags() accessor. The only ways to modify the flags are
SetCommonFlagsDefaults(), ParseCommonFlagsFromString() and
OverrideCommonFlags() functions, which are only supposed to be
called during initialization.
llvm-svn: 225088
2015-01-02 21:28:37 +00:00
Chandler Carruth
6173e869eb
Revert r224736: "[Sanitizer] Make CommonFlags immutable after initialization."
...
We've got some internal users that either aren't compatible with this or
have found a bug with it. Either way, this is an isolated cleanup and so
I'm reverting it to un-block folks while we investigate. Alexey and
I will be working on fixing everything up so this can be re-committed
soon. Sorry for the noise and any inconvenience.
llvm-svn: 225079
2015-01-02 09:59:38 +00:00
Kostya Serebryany
77c5c1a66d
[asan] fix coverage between fork() and exec(): reinitialize the guards after fork()
...
llvm-svn: 225016
2014-12-30 23:16:12 +00:00
Kostya Serebryany
a7ee2734cf
[asan] add flag coverage_pcs. When false, the coverage is not dumped as PCs. Useful e.g. if the user only needs coverage is bitset
...
llvm-svn: 225002
2014-12-30 19:55:04 +00:00
Kostya Serebryany
aa185bfc4b
[asan] change _sanitizer_cov_module_init to accept int* instead of int**
...
llvm-svn: 224999
2014-12-30 19:29:28 +00:00
Timur Iskhodzhanov
a023e06618
Follow-up to r224987: fix a lint warning
...
llvm-svn: 224988
2014-12-30 15:30:19 +00:00
Timur Iskhodzhanov
64fc8e4a5a
[ASan/Win] Sort the list of modules when we fail to reserve the shadow memory range
...
llvm-svn: 224987
2014-12-30 14:44:12 +00:00
Kuba Brecka
c52f300698
[sanitizer-common] Fixing the ASan test build failure on OS X
...
The change in r224819 started using internal_unlink in a sanitizer_common unit test. For some reason, internal_unlink is not defined in sanitizer_mac.cc, fixing that.
llvm-svn: 224910
2014-12-29 02:18:59 +00:00
Daniel Jasper
1e8eafd6c8
Escape ? to silence GCC warning about trigraphs.
...
llvm-svn: 224863
2014-12-26 18:21:34 +00:00
Evgeniy Stepanov
9e609426a7
[sanitizer] Treat \r, \n, \t as flag separators.
...
llvm-svn: 224858
2014-12-26 16:09:15 +00:00
Timur Iskhodzhanov
a04b33b9de
[ASan/Win] Add basic support for MemoryRangeIsAvailable and DumpProcessMap to make it easier to debug startup shadow mapping failures
...
llvm-svn: 224856
2014-12-26 14:28:32 +00:00
Evgeniy Stepanov
103084691d
[asan] Bump coverage size limit on 32-bit platforms.
...
This increases the limit from 4M locations to 16M, reserving
64Mb virtual memory. Chrome has >5M unique coverage locations with coverage=3.
llvm-svn: 224855
2014-12-26 13:54:11 +00:00
Evgeniy Stepanov
05dc4be0dc
[asan] Allow enabling coverage at activation.
...
This is a re-commit of r224838 + r224839, previously reverted in r224850.
Test failures were likely (still can not reproduce) caused by two lit tests
using the same name for an intermediate build target.
llvm-svn: 224853
2014-12-26 12:32:32 +00:00
Timur Iskhodzhanov
b8373bc119
[ASan/Win] Suppress error messaging when Abort() is called
...
This will prevent ASan bots from hanging / timing out
llvm-svn: 224852
2014-12-26 12:25:54 +00:00
Evgeniy Stepanov
f8c7e25560
Revert r224838, r224839.
...
Flaky failures on the build bots.
llvm-svn: 224850
2014-12-26 10:19:56 +00:00
Evgeniy Stepanov
b723834d82
[sanitizer] Tweak sancov.py output.
...
llvm-svn: 224841
2014-12-25 16:03:24 +00:00
Evgeniy Stepanov
01b922d9f2
[sanitizer] sancov.py: print status to stderr
...
llvm-svn: 224840
2014-12-25 16:01:09 +00:00
Evgeniy Stepanov
300d29a75d
[asan] Disable __sanitizer_cov_dump registration on Windows.
...
Looks like we can't use atexit() during ASan initialization on Windows.
llvm-svn: 224839
2014-12-25 15:11:00 +00:00
Evgeniy Stepanov
be9a53fec6
[asan] Allow enabling coverage at activation.
...
llvm-svn: 224838
2014-12-25 14:26:45 +00:00
Evgeniy Stepanov
5a09b2cdeb
[sanitizer] Disable InternalMmapWithOffset test on OSX.
...
llvm-svn: 224822
2014-12-24 13:59:35 +00:00
Evgeniy Stepanov
ca9e045570
[sanitizer] Fix off-by-8x in direct coverage.
...
File mapping offset was calculated by offsetting (uptr *) instead of (char *).
llvm-svn: 224821
2014-12-24 13:57:11 +00:00
Evgeniy Stepanov
40b16f4037
[sanitizer] Disable InternalMmapWithOffset test on Windows.
...
llvm-svn: 224820
2014-12-24 13:05:21 +00:00
Evgeniy Stepanov
98211121ab
[sanitizer] mmap2 syscall works with 4096-byte units instead of bytes.
...
Ouch.
llvm-svn: 224819
2014-12-24 12:58:09 +00:00
Kostya Serebryany
9fdeb37bd3
[asan] change the coverage collection scheme so that we can easily emit coverage for the entire process as a single bit set, and if coverage_bitset=1 actually emit that bitset
...
llvm-svn: 224789
2014-12-23 22:32:17 +00:00
Evgeniy Stepanov
b2dacb0c76
[asan] Fix line >80 chars.
...
llvm-svn: 224763
2014-12-23 10:18:47 +00:00
Evgeniy Stepanov
874b2bb228
[asan] Better error message in coverage.
...
llvm-svn: 224762
2014-12-23 10:12:51 +00:00
Alexey Samsonov
b430f6e17a
[Sanitizer] Make CommonFlags immutable after initialization.
...
Summary:
Protect CommonFlags singleton by adding const qualifier to
common_flags() accessor. The only ways to modify the flags are
SetCommonFlagsDefaults(), ParseCommonFlagsFromString() and
OverrideCommonFlags() functions, which are only supposed to be
called during initialization.
Test Plan: regression test suite
Reviewers: kcc, eugenis, glider
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6741
llvm-svn: 224736
2014-12-22 21:46:10 +00:00
Viktor Kutuzov
90f8673f05
[Sanitizers] Intercept wcsnrtombs() on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D6755
llvm-svn: 224709
2014-12-22 14:45:30 +00:00
Viktor Kutuzov
d4c3ffc5bf
[Sanitizers] Intercept snprintf_l() on FreeBSD
...
Differential Revision: http://reviews.llvm.org/D6418
llvm-svn: 224700
2014-12-22 12:29:40 +00:00