summaryrefslogtreecommitdiffstats
path: root/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
* [asan] Enable halt_on_error tests on OS X.Yury Gribov2015-11-172-0/+0
| | | | llvm-svn: 253342
* tsan: replace macro check with constant checkDmitry Vyukov2015-11-161-7/+7
| | | | | | As per comments in 252892 commit. llvm-svn: 253216
* [compiler-rt] [tsan] Enable intercept setjmp/longjmp for AArch64Adhemerval Zanella2015-11-169-11/+227
| | | | | | | | | | | | | | | This patch adds assembly routines to enable setjmp/longjmp for aarch64 on linux. It fixes: * test/tsan/longjmp2.cc * test/tsan/longjmp3.cc * test/tsan/longjmp4.cc * test/tsan/signal_longjmp.cc I also checked with perlbench from specpu2006 (it fails to run with missing setjmp/longjmp intrumentation). llvm-svn: 253205
* [asan] Restored asynch signal test.Yury Gribov2015-11-161-0/+104
| | | | llvm-svn: 253204
* Reverting r253080 ([tsan] Don't demangle names not starting with "_Z").Kuba Brecka2015-11-142-8/+0
| | | | | | This caused bot failures on ARM, e.g. http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-full/builds/9068 llvm-svn: 253129
* [asan] add an experimental flag protect_shadow_gap. If set to false, the ↵Kostya Serebryany2015-11-142-0/+3
| | | | | | shadow gap will not be mprotect-ed and all hell may break loose. But this makes CUDA's cuInit() pass. llvm-svn: 253108
* [PGO] Ensure profile section symbols are created (linux)Xinliang David Li2015-11-137-1/+122
| | | | | | | | | | | | | - This is to handle a corner case where profile lib is linked in but non of the modules are instrumented (On linux, since we avoided the overhead to emit runtime hook use functions so this is the side effect of that size optimization). - Added a profile runtime test case to cover all scenarios of shared library builds. Differential Revision: http://reviews.llvm.org/D14468 llvm-svn: 253098
* [tsan] Don't demangle names not starting with "_Z"Kuba Brecka2015-11-132-0/+8
| | | | | | | | I noticed that when a symbol is named just "x", it gets demangled to "long long". On POSIX, AFAIK, mangled names always start with "_Z", so lets just require that. Differential Revision: http://reviews.llvm.org/D14637 llvm-svn: 253080
* [tsan] Fix finalization of detached threads on OS XKuba Brecka2015-11-131-1/+1
| | | | | | | | Currently, we crash on finalization of detached threads, because we'll try to clear the ThreadState twice. Differential Revision: http://reviews.llvm.org/D14644 llvm-svn: 253079
* [tsan] Fix a typo in tsan_test_util.hKuba Brecka2015-11-131-1/+1
| | | | | | | | There is a typo in tsan_test_util.h, it shouldn't be `APPLE`, but `__APPLE__`. Differential Revision: http://reviews.llvm.org/D14647 llvm-svn: 253078
* [tsan] Expect memmove interceptor to be called from memcpyKuba Brecka2015-11-133-4/+4
| | | | | | | | On OS X, memcpy and memmove are actually aliases of the same function, so the memmove interceptor can be invoked on a call to memcpy. This patch updates the tests to expect either memmove or memcpy on a stack trace. Differential Revision: http://reviews.llvm.org/D14638 llvm-svn: 253077
* [tsan] Mark dl_iterate_phdr.cc test as unsupported on OS XKuba Brecka2015-11-131-0/+3
| | | | | | | | The dl_iterate_phdr is not present on OS X. Differential Revision: http://reviews.llvm.org/D14643 llvm-svn: 253076
* [tsan] Don't require full paths to be present on stack tracesKuba Brecka2015-11-137-12/+12
| | | | | | | | The OS X symbolizers (namely AtosSymbolizer) don't return full file paths, only file names. This patch modifies `mutexset*.cc` tests not to require a path to be present in the symbol on the stack trace. Differential Revision: http://reviews.llvm.org/D14642 llvm-svn: 253075
* [CMake] [macho_embedded] [builtins] Always use OS X sysroot, even for arm.Chris Bieneman2015-11-131-3/+0
| | | | | | Turns out that there are some checks in the backend that change code generation for armv7 if you are building against an iOS sys root. For the macho_embedded builtins we really don't want that. llvm-svn: 253064
* [asan] Fixed invalid check in test.Yury Gribov2015-11-131-2/+2
| | | | llvm-svn: 253037
* [asan] Dump test output in case of error in single-threaded mode.Yury Gribov2015-11-131-1/+1
| | | | llvm-svn: 253035
* [asan] Fix test to properly handle collisions.Yury Gribov2015-11-131-6/+6
| | | | llvm-svn: 253025
* [asan] Fix silly error when reporting multiple ASan errors in parallel.Yury Gribov2015-11-131-2/+3
| | | | llvm-svn: 253022
* [asan] Get rid of rand_r (not available on all targets).Yury Gribov2015-11-131-8/+9
| | | | llvm-svn: 253021
* [tsan] Add global symbolication support into AtosSymbolizerKuba Brecka2015-11-132-15/+68
| | | | | | | | This patch adds support for symbolication of globals (implements `SymbolizeData`) for `AtosSymbolizer` on OS X. Differential Revision: http://reviews.llvm.org/D14618 llvm-svn: 253015
* compiler-rt: add make solution to bootstrap mingw-w64Martell Malone2015-11-131-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D14290 llvm-svn: 252976
* [CMake] [Darwin] Forcing -fPIC on for all darwin builtins except macho_embeddedChris Bieneman2015-11-121-1/+2
| | | | | | We need to add -fPIC to the flags for the builtins in case PIC was turned off at a higher level. We also want to set ENABLE_PIC to Off when building the macho_embedded builtins so the top-level settings don't impact that build. llvm-svn: 252966
* [CMake] [Darwin] [Builitins] Removing muloti4 from the blacklists for arm.Chris Bieneman2015-11-122-2/+0
| | | | llvm-svn: 252965
* [CMake] [Darwin] [Builtins] Sorting and uniquing blacklists. NFC.Chris Bieneman2015-11-122-92/+10
| | | | llvm-svn: 252964
* [Windows] Fix halt_on_error-1.c test on Windows with %env_asan_optsReid Kleckner2015-11-121-2/+2
| | | | llvm-svn: 252958
* [asan] Mark halt_on_error-torture test unsupported on android.Evgeniy Stepanov2015-11-121-0/+1
| | | | | | Android libc is missing rand_r until API 21. ASan supports API 19. llvm-svn: 252930
* [CMake] [builtins] Removing a few non-source files from the arm list.Chris Bieneman2015-11-121-2/+0
| | | | | | I was a little too aggressive about adding sources from the arm subdirectory. llvm-svn: 252929
* [CMake] Actually adding the TODO comment I mentioned in r252927.Chris Bieneman2015-11-121-0/+3
| | | | | | Turns out you need to save before committing. llvm-svn: 252928
* [CMake] [builtins] Adding missing architecture-specific builtins.Chris Bieneman2015-11-121-0/+8
| | | | | | Also added a TODO comment to make the build system throw an error if the CMakeLists gets out of sync again. llvm-svn: 252927
* tsan: fix windows Go buildDmitry Vyukov2015-11-122-1/+3
| | | | | | | | | | | Go build does not link in whatever library provides these symbols: # runtime/race race_windows_amd64.syso:gotsan.cc:(.text+0x578f): undefined reference to `__sanitizer::DumpProcessMap()' race_windows_amd64.syso:gotsan.cc:(.text+0xee33): undefined reference to `EnumProcessModules' race_windows_amd64.syso:gotsan.cc:(.text+0xeeb9): undefined reference to `GetModuleInformation' llvm-svn: 252922
* tsan: fix windows Go buildDmitry Vyukov2015-11-121-0/+2
| | | | | | CompareModulesBase is an unused function. llvm-svn: 252907
* [tsan] Add global symbolication support into DlAddrSymbolizerKuba Brecka2015-11-122-2/+37
| | | | | | | | `DlAddrSymbolizer` is used on OS X when we're running inside a sandbox that prevents us from spawning an external symbolizer. This patch adds support for symbolication of globals (implements `SymbolizeData`) for `DlAddrSymbolizer`. Differential Revision: http://reviews.llvm.org/D14613 llvm-svn: 252899
* [tsan] Allow symbolizers that don't obtain global symbol sizesKuba Brecka2015-11-124-6/+11
| | | | | | | | The default symbolizer, `llvm-symbolizer` provides sizes for global symbols. On OS X, we want to also allow using `atos` (because it's available everywhere and users don't need to copy/install it) and `dladdr` (it's the only available option when running in a sandbox). However, these symbolizers do not supply the symbol sizes, only names and starting addresses. This patch changes the reporting functions to hide the size of the symbol when this value is unavailable, and modifies tests to make this part of the report "optional". Differential Revision: http://reviews.llvm.org/D14608 llvm-svn: 252896
* tsan: disable abort_on_error for GoDmitry Vyukov2015-11-121-1/+5
| | | | | | | It does not work as expected. Go runtime handles SIGABRT and crashes with a loud message. llvm-svn: 252892
* [tsan] Add a Darwin-specific lit test directoryKuba Brecka2015-11-123-1/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D14610 llvm-svn: 252887
* tsan: fix Go build on linuxDmitry Vyukov2015-11-122-2/+2
| | | | | | librt is not linked in in Go build. llvm-svn: 252877
* [asan] Remove system_malloc_zoneKuba Brecka2015-11-121-14/+3
| | | | | | | | This seems to be dead code – `system_malloc_zone` is initialized as null and we never assign to it. This code is apparently currently never executed (in ASan), but is causes trouble for the TSan OS X port. Let's replace the checks with `COMMON_MALLOC_ENTER` (`ENSURE_ASAN_INITED()`). Differential Revision: http://reviews.llvm.org/D14334 llvm-svn: 252876
* tsan: fix unused function warning in Go buildDmitry Vyukov2015-11-121-1/+1
| | | | llvm-svn: 252875
* tsan: fix mac Go buildDmitry Vyukov2015-11-121-2/+2
| | | | | | cur_thread does not exist in Go. llvm-svn: 252874
* [tsan] Filter OS X architectures for unit testingKuba Brecka2015-11-121-1/+5
| | | | | | | | The TSan unit test build currently fails if we're also building the iOS parts of compiler-rt, because `TSAN_SUPPORTED_ARCH` contains ARM64. For unit tests, we need to filter this only to host architecture(s). Differential Revision: http://reviews.llvm.org/D14604 llvm-svn: 252873
* tsan: fix flakiness of sleep_sync2 testDmitry Vyukov2015-11-121-1/+4
| | | | llvm-svn: 252869
* [sanitizer coverage] reset global counters in __sanitizer_reset_coverageKostya Serebryany2015-11-112-0/+7
| | | | llvm-svn: 252815
* [CMake] [Darwin] [Builtins] Force setting the flags we care about at the end ↵Chris Bieneman2015-11-111-9/+11
| | | | | | | | of the compiler command line Setting CMAKE_*_FLAGS isn't sufficient here because CMAKE_*_FLAGS_${CMAKE_BUILD_TYPE} can override the flags, and there is no way to safely clear that because it is a cached variable (<sarcasm> YAY! </sarcasm>). llvm-svn: 252807
* [asan] Remove a flaky test.Evgeniy Stepanov2015-11-111-109/+0
| | | | llvm-svn: 252805
* [Windows] Add exports for dll_host test broken by r252071 and r251071Reid Kleckner2015-11-111-0/+2
| | | | llvm-svn: 252784
* tsan: fix unused variable in Go buildDmitry Vyukov2015-11-111-6/+6
| | | | llvm-svn: 252746
* Revert r252683 - "Sancov in C++."Diego Novillo2015-11-112-288/+0
| | | | | | | | This reverts commits r252683 and r252689. This tool should not live here. See http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20151109/311862.html for discussion. llvm-svn: 252744
* [ASan] Improve portability of new tests.Yury Gribov2015-11-112-2/+7
| | | | llvm-svn: 252742
* [tsan] Rename tsan_test_util_linux.cc to tsan_test_util_posix.ccKuba Brecka2015-11-112-2/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D14575 llvm-svn: 252741
* Implement some TLS support for PowerPC64.Jay Foad2015-11-113-8/+34
| | | | | | | | | | | | Summary: This is enough to get the asan static_tls.cc test case working. Reviewers: eugenis, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D14574 llvm-svn: 252738
OpenPOWER on IntegriCloud