Age | Commit message (Collapse) | Author |
|
Reviewers: eugenis
Subscribers: jaydeep, sagar, Sanitizers
Differential Revision: http://reviews.llvm.org/D19531
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@267674 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Store.
This change modifies find_darwin_sdk_dir to set a variable if a Darwin "Internal" SDK is present which allows CMake to disable components that require internal-only APIs.
This mechanism is then used to disable TSan when an internal SDK is not present.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@267575 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Adds the initial version of a runtime library for the new
EfficiencySanitizer ("esan") family of tools. The library includes:
+ Slowpath code via callouts from the compiler instrumentation for
each memory access.
+ Registration of atexit() to call finalization code.
+ Runtime option flags controlled by the environment variable
ESAN_OPTIONS. The common sanitizer flags are supported such as
verbosity and log_path.
+ An initial simple test.
Still TODO: common code for libc interceptors and shadow memory mapping,
and tool-specific code for shadow state updating.
Reviewers: eugenis, vitalybuka, aizatsky, filcab
Subscribers: filcab, vkalintiris, kubabrecka, llvm-commits, zhaoqin, kcc
Differential Revision: http://reviews.llvm.org/D19168
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@267060 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
sanitizer_common is now in good enough shape on s390x to support UBSan
- all tests passing. Let's enable it.
Differential Revision: http://reviews.llvm.org/D19157
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@266483 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
MSVC_VERSION comes from the _MSC_VER macro, which won't correspond to
the STL version if the host compiler is clang-cl.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@264901 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reduces cflags duplication and allows us to build
sanitizer_common/tests with clang and the VS 2015 STL.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@264017 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Update the compiler-rt cmake to build TSan dylibs for iOS-style simulators when the
corresponding COMPILER_RT_ENABLE_FOO_OS setting is enabled.
Differential Revision: http://reviews.llvm.org/D18277
Part of rdar://problem/24048382
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@263910 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reviewers: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D17896
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@262770 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reviewers: samsonov
Subscribers: jaydeep, sagar, llvm-commits
Differential Revision: http://reviews.llvm.org/D17846
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@262690 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This change should have no functional impact, it just moves some macro definitions out of config-ix.cmake into CompilerRTUtils.cmake.
This step will allow these macros to be re-used by the separated builtin build.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@261108 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This also reverts r259577 which was a quick-fix to fix buildbots.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@259593 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
It fails almost every test on clang-stage1-cmake-RA_check.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@259577 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@259451 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Given:
set(T1 a b c)
set(T2 b c d)
message("T1=${T1}")
message("T2=${T2}")
list_union(T3 T1 T2)
message("T3=${T3}")
cmake emitted:
T1=a;b;c
T2=b;c;d
T3=b;c
Reviewers: beanz
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16580
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@258916 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This test requires llvm-symbolizer to be able to convert a stack
address into a function name. It is only able to do this if the
DIA SDK was found at cmake time. Add a lit feature for this,
and let the test depend on it.
See also discussion in D15363.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@258545 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@257619 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
* Refactored the iOS config-ix.cmake code to be a more compact loop over supported embedded platforms.
* Added watchOS and tvOS as experimental platforms, they don't currently build so they are disabled by default
Reviewers: zaks.anna, kubabrecka, samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D16119
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@257544 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The ASan dylib as well as other compiler-rt dylibs work with app extensions,
so we should add -fapplication-extension to the link line when building them.
This will avoid linker warnings when using the dylibs in app extensions.
(APIs unavailable to app extensions are listed here: https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensionOverview.html#//apple_ref/doc/uid/TP40014214-CH2-SW6)
Differential Revision: http://reviews.llvm.org/D15550
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@256989 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary: This change configures Windows builds to build the complier-rt profile support library (clang_rt.profile-i386.lib). Windows API incompatibilities in the compiler-rt profile lib are also fixed.
Reviewers: davidxl, dnovillo
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D15830
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@256848 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is an initial version of the runtime cross-DSO CFI support
library.
It contains a number of FIXMEs, ex. it does not support the
diagnostic mode nor dlopen/dlclose, but it works and can be tested.
Diagnostic mode, in particular, would require some refactoring (we'd
like to gather all CFI hooks in the UBSan library into one function
so that we could easier pass the diagnostic information down to
__cfi_check). It will be implemented later.
Once the diagnostic mode is in, I plan to create a second test
configuration to run all existing tests in both modes. For now, this
patch includes only a few new cross-DSO tests.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255695 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This patch enables the safestack for aarch64. The frontend already have
it enabled on all supported architectures and no adjustment is required
in llvm.
The compiler-rt adjustments are basically add on the cmake configuration
to enable the tests and fix the pagesize debug check by getting its
value at runtime (since aarch64 has multiple pagesize depending of
kernel configuration).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255345 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Printf is a builtin, and the check fails with -Werror because of a clang
warning about an incompatible redeclaration.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255189 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
libraries."
This reverts r255170. This change caused a bunch of bot failures and needs to be revised.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255184 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
Rather than having to add new "experimental" options each time someone wants to work on bringing a sanitizer to a new platform, this patch makes options for all of them.
The default values for the options are set by the platform checks that would have enabled them, but they can be overridden on or off.
Reviewers: kubabrecka, samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D14846
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255170 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
msse3 is a target dependent flag and must be guarded as check_cxx_compiler_flag()
checks only for compiler error messages and ignores warnings. Earlier COMPILER_RT_HAS_MSSE3_FLAG
is set to "TRUE" for all targets as clang emits warnings and the compilation spits unnecessary
warnings for non-X86 targets. This issue is fixed by coupling the flag with "-Werror"
Differential Revision: http://reviews.llvm.org/D15362
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255165 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This patch is by Simone Atzeni with portions by Adhemerval Zanella.
This contains the LLVM patches to enable the thread sanitizer for
PPC64, both big- and little-endian. Two different virtual memory
sizes are supported: Old kernels use a 44-bit address space, while
newer kernels require a 46-bit address space.
There are two companion patches that will be added shortly. There is
a Clang patch to actually turn on the use of the thread sanitizer for
PPC64. There is also a patch that I wrote to provide interceptor
support for setjmp/longjmp on PPC64.
Patch discussion at reviews.llvm.org/D12841.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255057 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
tests simulator capabilities.
Not sure why I put this in the iOS block originally, it shouldn't be there.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@255046 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254966 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Second attempt to enable building ThreadSanitizer (and running tests) on OS X by default.
Differential Revision: http://reviews.llvm.org/D15109
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254603 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
A ton of tests fail on OS X 10.10, because dyld auto-interposition is only available in 10.11.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254420 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: http://reviews.llvm.org/D15109
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254417 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Thanks Alexey.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254316 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This results in a significant reduction in the size of the sanitizer libraries.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@254308 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
We already support this in autoconf and it ships in Apple Clang.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253709 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Apparently check_c_compiler_flag isn't a thing everywhere. Not being
incredibly well-versed in cmake, I'm hoping that check_cxx_compiler_flag
serves a similar purpose. :)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253648 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Thanks to angelsl for the patch!
Differential Revision: http://reviews.llvm.org/D13692
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@253646 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This patch enables building and running TSan unit tests on OS X.
Differential Revision: http://reviews.llvm.org/D14546
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@252731 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Hi, this patch adds a CMake flag called `COMPILER_RT_ENABLE_TSAN_OSX`, which is off by default. If enabled, the build system will be building the OS X version of the TSan runtime library (called `libclang_rt.tsan_osx_dynamic.dylib`). I'll submit patches that fix OS X build errors shortly.
This is part of an effort to port TSan to OS X, and it's one the very first steps. Don't expect TSan on OS X to actually work or pass tests at this point.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@251915 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This patch add support for leak sanitizer for aarch64. Similar to
MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64
currently supports 39 and 42-bit VMA).
It also fixes the android build issue.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@250898 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
There is no haswell support in 10.4, so we don't need a 10.4 builtin library.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249868 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
builtins library from being built properly.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249844 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This reverts commit ea02fa45225c35613bfecab383fb526e24b74497 (r249337).
Reason: broken "ninja AsanUnitTests" on Android/AArch64.
http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/20675/steps/build%20compiler-rt%20android%2Faarch64/logs/stdio
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249730 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Reviewers: howard.hinnant, samsonov
Subscribers: samsonov, dsanders, llvm-commits
Differential Revision: http://reviews.llvm.org/D13098
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249382 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This patch add support for leak sanitizer for aarch64. Similar to
MIPS it uses a SizeClassAllocator32 due VMA constraints (aarch64
currently supports 39 and 42-bit VMA).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249337 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
builtins.
This matters because simulator builtins get lipo'd together with the device builtins into a single static archive per-platform.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249056 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
architectures for that OS.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249054 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
libclang_rt.profile for iOS.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248948 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This builtin library is used when setting the OS X deployment target to 10.4, which we still support.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248940 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
setting based.
This is needed because we need to skip cc_kext generation for more than just the simulator builds.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248939 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This somehow worked with the build on Linux, but seems to fail on the buildbots.
Split the flags apart here as otherwise the two flags are treated as one, and
cause a compilation failure.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@248654 91177308-0d34-0410-b5e6-96231b3b80d8
|