Commit Graph

4268 Commits

Author SHA1 Message Date
Evgeniy Stepanov dfa5439652 [asan] Fix mmap-ed coverage with coverage=0.
llvm-svn: 210655
2014-06-11 15:11:26 +00:00
Evgeniy Stepanov 9ae3d02193 [asan] Run Android test with asanwrapper.
This better replicates the target environment.

llvm-svn: 210650
2014-06-11 10:37:06 +00:00
Evgeniy Stepanov b2b4c3ab32 [asan] Exclude non-executable mappings from coverage.
llvm-svn: 210649
2014-06-11 10:11:51 +00:00
Evgeniy Stepanov 46fa9f2d9e [asan] One more coverage test.
Test that coverage is dumped correctly (and completely) even when the processed
gets SIGKILL-ed.

llvm-svn: 210647
2014-06-11 09:23:25 +00:00
Evgeniy Stepanov 125a302257 [asan] Fix coverage-android test to avoid name conflict.
And re-enable it.

llvm-svn: 210646
2014-06-11 09:09:09 +00:00
Alexander Potapenko 14f8ac04e3 Add detection of OS X relocatable SDK to compiler-rt as a lit.util function
Clang's lit cfg already detects the currently selected SDK via
"xcrun --show-sdk-path". The same thing should be done for compiler-rt tests,
to make them work on recent OS X versions. Instead of duplicating the detection
code, this patch extracts the detection function into a lit.util method.

Patch by Kuba Brecka (kuba.brecka@gmail.com),
reviewed at http://reviews.llvm.org/D4072

llvm-svn: 210534
2014-06-10 14:22:00 +00:00
Evgeniy Stepanov 9cc3ebdd3b [sanitizer] Relax sanity checks in ioctl decoding.
Standard KVM ioctls don't pass currect ioctl_decode().

llvm-svn: 210533
2014-06-10 13:54:15 +00:00
Evgeniy Stepanov 48eccb7fb3 [asan] Disable a flaky test.
llvm-svn: 210517
2014-06-10 08:32:01 +00:00
Alexey Samsonov f0d1fd6b32 [TSan] Exclude blacklist tests from manual test runner
llvm-svn: 210494
2014-06-09 22:02:14 +00:00
Evgeniy Stepanov b22b963669 [asan] Remove dependency of tests on runtime library in standalone build.
llvm-svn: 210465
2014-06-09 11:17:37 +00:00
Evgeniy Stepanov 9959915890 [msan] Intercept __strto*_internal.
This should fix strtoimax/strtoumax on newer glibc.
https://code.google.com/p/memory-sanitizer/issues/detail?id=36

llvm-svn: 210463
2014-06-09 10:41:22 +00:00
Evgeniy Stepanov 2be29929be Fix line numbers for code inlined from __nodebug__ functions.
Instructions from __nodebug__ functions don't have file:line
information even when inlined into no-nodebug functions. As a result,
intrinsics (SSE and other) from <*intrin.h> clang headers _never_
have file:line information.

With this change, an instruction without !dbg metadata gets one from
the call instruction when inlined.

Fixes PR19001.

llvm-svn: 210459
2014-06-09 09:09:19 +00:00
Evgeniy Stepanov 66c6a18d39 [msan] Add a test for mmx.packuswb.
llvm-svn: 210458
2014-06-09 08:58:41 +00:00
Evgeniy Stepanov aaaf74f9fb [msan] Simplify tests.
llvm-svn: 210457
2014-06-09 08:57:40 +00:00
Evgeniy Stepanov 63ece03c57 [asan] Add malloc_usable_size to android malloc dispatch.
llvm-svn: 210452
2014-06-09 08:36:14 +00:00
Alexey Samsonov 2c8dda4e53 [TSan] Make lit-tests more self-contained
llvm-svn: 210370
2014-06-06 21:04:55 +00:00
Dmitry Vyukov 9ff85e9674 tsan: fix argument passing in Go interface
Go calling convention does not support bools (it probably works, but uptrs are safer)

llvm-svn: 210365
2014-06-06 18:53:52 +00:00
Greg Fitzgerald e124a30fbe Un-xfail passing ARM Android tests
llvm-svn: 210360
2014-06-06 18:06:58 +00:00
Dmitry Vyukov 13793e5121 tsan: fix CurrentStackId
FuncEnter adds FuncEnter entry to trace that nobody removes later

llvm-svn: 210359
2014-06-06 18:05:12 +00:00
Dmitry Vyukov d858fa77d6 tsan: fix mutex in Go mode
In Go it's legal to unlock from a different goroutine.

llvm-svn: 210358
2014-06-06 18:04:05 +00:00
Dmitry Vyukov fc9b5d67a6 tsan: disable reporting of mutex misuses in Go
llvm-svn: 210353
2014-06-06 17:23:27 +00:00
Dmitry Vyukov 9546afec62 tsan: minor optimizations for Go runtime
llvm-svn: 210351
2014-06-06 16:06:19 +00:00
Dmitry Vyukov 75f5cf657e tsan: fix out-of-bounds access in Go runtime
FuncEntry can resize the shadow stack, while "thr->shadow_stack_pos[0] = pc" writes out-of-bounds.

llvm-svn: 210349
2014-06-06 15:56:08 +00:00
Dmitry Vyukov 32336152af tsan: fix mapping of meta shadow for Go
Go maps heap and data+bss, these regions are not adjacent.
data+bss is mapped first.

llvm-svn: 210348
2014-06-06 15:54:49 +00:00
Dmitry Vyukov ff194daead tsan: flush metamap per-thread cache when thread finishes
llvm-svn: 210347
2014-06-06 15:52:10 +00:00
Dmitry Vyukov feb4ede8ac tsan: fix clang warning:
comparison of unsigned expression >= 0 is always true

llvm-svn: 210346
2014-06-06 15:51:20 +00:00
Dmitry Vyukov 4f6de1d684 tsan: fix Go build with TSAN_COLLECT_STATS
Go does not have cur_thread function.

llvm-svn: 210345
2014-06-06 15:50:29 +00:00
Dmitry Vyukov 8744b1c1e3 tsan: allow to build Go runtime with clang + enable SSE3
llvm-svn: 210344
2014-06-06 15:49:49 +00:00
Evgeniy Stepanov ee98fb197b [msan] Fix wrong endianness when printing shadow.
llvm-svn: 210335
2014-06-06 14:06:14 +00:00
Evgeniy Stepanov 3e810b01c3 [msan] Partial revert of r210331.
Bots did not like it.

llvm-svn: 210332
2014-06-06 13:35:25 +00:00
Evgeniy Stepanov 9438bf1f62 [msan] Better diagnostic for invalid origin id.
llvm-svn: 210331
2014-06-06 12:58:44 +00:00
Dmitry Vyukov 909b7490a3 sanitizer: document missing macro
llvm-svn: 210329
2014-06-06 12:16:26 +00:00
Evgeniy Stepanov e5c34ace7f [asan] Make ReplaceSystemMalloc optional on Android.
Don't fail if __libc_malloc_dispatch is missing; continue running
with normal linux interceptors instead.

llvm-svn: 210322
2014-06-06 10:57:21 +00:00
Kostya Serebryany 558b3363a7 [asan] initialize fake_stack_ to 0 before we call SetThreadStackAndTls, because that may actually try to use fake_stack_ (still don't know how). Yet another case where we desperately want https://sourceware.org/glibc/wiki/ThreadPropertiesAPI
llvm-svn: 210315
2014-06-06 07:35:35 +00:00
Alexey Samsonov f251e0051c [TSan] Reduce the stack frame size of ReportDeadlock
llvm-svn: 210301
2014-06-05 23:24:46 +00:00
Evgeniy Stepanov 38c228a842 [asancov] Faster coverage in memory-mapped mode.
Use caller pc of __sanitizer_cov_module_init to figure out
when 2 sequential calls are from the same module; skip
.sancov.map file update in this case.

llvm-svn: 210267
2014-06-05 14:38:53 +00:00
Evgeniy Stepanov 57eba53a01 [asan] asan_device_setup: extend search path
In standalone build asan-rt is stored in yet another path.

llvm-svn: 210259
2014-06-05 12:49:35 +00:00
Evgeniy Stepanov 474e70aeb7 [asan] Add 'asan' to asan test deps.
This sound like a good idea in general.
Also, without this on Android we get add_lit_testsuite() with empty DEPENDS
list, and it does not work well.

llvm-svn: 210257
2014-06-05 12:31:22 +00:00
Evgeniy Stepanov 785108b0fc [asan] Fix lit tests setup on Android.
Pass cflags in a way that's compatible with standalone compiler-rt build.

llvm-svn: 210256
2014-06-05 12:29:47 +00:00
Evgeniy Stepanov 3641cd43b2 [asan] Use -pthread instead of -lpthread in tests.
llvm-svn: 210255
2014-06-05 12:22:37 +00:00
Dan Albert f4239c7707 Remove's uses of sys/timeb.h for Android.
Android is removing sys/timeb.h because it was removed in POSIX 2008.

llvm-svn: 210235
2014-06-05 02:00:24 +00:00
Alexey Samsonov 1c9a921a04 [Deadlock detector] Fix CMake build rules for shared runtime
llvm-svn: 210232
2014-06-05 00:58:28 +00:00
Greg Fitzgerald a1b620051f [asan] Add install rule for Android runtime
llvm-svn: 210216
2014-06-04 21:05:01 +00:00
Peter Collingbourne 8501e39a85 [dfsan] Fix the declaration of dfsan_add_label.
llvm-svn: 210202
2014-06-04 17:54:51 +00:00
Sergey Matveev dcd9bba602 [sanitizer] Make LSan/MSan/TSan honor the "color" flag.
Based on a patch by Stephan Bergmann.

llvm-svn: 210199
2014-06-04 16:57:03 +00:00
Evgeniy Stepanov fe18102649 [sancov] Handle fork.
Reset coverage data on fork().
For memory-mapped mode (coverage_direct=1) this helps avoid loss of data
(before this change two processes would write to the same file simultaneously).
For normal mode, this reduces coverage dump size, because PCs from the parent
process are no longer inherited by the child.

llvm-svn: 210180
2014-06-04 12:13:54 +00:00
Greg Fitzgerald 547f536bcf Disable unstable test on ARM
llvm-svn: 210140
2014-06-04 00:06:41 +00:00
Evgeniy Stepanov ce98452516 [sancov] Delay opening dump file until the first module constructor.
llvm-svn: 210109
2014-06-03 15:27:15 +00:00
Evgeniy Stepanov 937afa1fbb [sancov] Handle spaces in module name.
llvm-svn: 210108
2014-06-03 15:25:43 +00:00
Kostya Serebryany 7d4fc2c6a7 [asan] enable detect_odr_violation=2; https://code.google.com/p/address-sanitizer/wiki/OneDefinitionRuleViolation . This feature has been working quite well so far, found a few bugs and zero false positives. The main problem is that there could be lots of true positives and users will have to disable this checking until the bugs are fixed.
llvm-svn: 210106
2014-06-03 15:06:13 +00:00