| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D8029
llvm-svn: 231162
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D8020
llvm-svn: 231061
|
| |
|
|
|
|
|
|
| |
interface
Reviewed at http://reviews.llvm.org/D7971
llvm-svn: 231032
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D7867
llvm-svn: 231027
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D7972
llvm-svn: 231014
|
| |
|
|
| |
llvm-svn: 230986
|
| |
|
|
| |
llvm-svn: 230980
|
| |
|
|
|
|
|
|
|
|
|
| |
The problem is that without SA_RESTORER flag, kernel ignores the handler. So tracer actually did not setup any handler.
Add SA_RESTORER flag when setting up handlers.
Add a test that causes SIGSEGV in stoptheworld callback.
Move SignalContext from asan to sanitizer_common to print better diagnostics about signal in the tracer thread.
http://reviews.llvm.org/D8005
llvm-svn: 230978
|
| |
|
|
|
|
|
| |
This was causing Chromium's browser_tests to flakily segfault during
leak check.
llvm-svn: 230874
|
| |
|
|
|
|
| |
Reviewed at: http://reviews.llvm.org/D7936
llvm-svn: 230842
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D7889
llvm-svn: 230749
|
| |
|
|
|
|
|
|
|
|
| |
executable
The ASanified executable could be launched from different locations. When we
cannot find the suppression file relative to the current directory, try to
see if the specified path is relative to the location of the executable.
llvm-svn: 230723
|
| |
|
|
| |
llvm-svn: 230721
|
| |
|
|
| |
llvm-svn: 230541
|
| |
|
|
|
|
| |
Reviewed at http://reviews.llvm.org/D7868
llvm-svn: 230530
|
| |
|
|
|
|
|
|
| |
functions
Reviewed at http://reviews.llvm.org/D7869
llvm-svn: 230529
|
| |
|
|
|
|
| |
Go build for Windows
llvm-svn: 230507
|
| |
|
|
|
|
| |
and __asan_on_error
llvm-svn: 230344
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sanitizers work on ancient kernels and were depending on types existing.
When those types were removed, the sanitizer build broke. See bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59009 for more information.
This patch fixes it by isolating the need for those types only when the
feature is actually needed, thus allowing one to compile the kernel with
or without that change, irrespective of its version.
Patch by Christophe Lyon.
llvm-svn: 230324
|
| |
|
|
|
|
|
|
|
|
| |
The buildbot failed to build with
error: variable ‘enable_fp’ set but not used [-Werror=unused-but-set-variable]
let's add a `(void)enable_fp;`.
llvm-svn: 230323
|
| |
|
|
|
|
|
|
|
|
| |
In debug mode (COMPILER_RT_DEBUG=On), we still build with -fomit-frame-pointer and wrap_ioctl doesn't set up a proper stack frame. In release mode it does, because ioctl_common_pre gets inlined into wrap_ioctl and it uses the COMMON_INTERCEPTOR_READ_RANGE macro which in the end calls GET_CURRENT_FRAME and that forces the compiler to generate a stack frame for the function.
Not having a proper stack frame breaks the unwinder. This patch forces to generate a frame pointer (via ENABLE_FRAME_POINTER macro).
Reviewed at http://reviews.llvm.org/D7815
llvm-svn: 230318
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revise the fix to https://code.google.com/p/address-sanitizer/issues/detail?id=178:
always disable strict init-order checking the first time dlopen() is
called: at this point shared library is allowed to access globals
defined in the main executable, as they are guaranteed to be
initialized. Revise the test cases:
* simplify init-order-dlopen.cc test case: make it Linux-specific
(there's no strict init-order checking on other platforms anyway),
and single-threaded.
* reinforce init-order-pthread-create.cc test case: make sure that
init-order checker would produce a false positive unless we
turn it off at the moment we call pthread_create().
llvm-svn: 230288
|
| |
|
|
|
|
|
|
| |
Also, __syscall form should be used when one or more of the
parameters is a 64-bit argument to ensure that argument alignment
is correct.
llvm-svn: 230183
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
SuppressionContext is no longer a singleton, shared by all sanitizers,
but a regular class. Each of ASan, LSan, UBSan and TSan now have their
own SuppressionContext, which only parses suppressions specific to
that sanitizer.
"suppressions" flag is moved away from common flags into tool-specific
flags, so the user now may pass
ASAN_OPTIONS=suppressions=asan_supp.txt LSAN_OPIONS=suppressions=lsan_supp.txt
in a single invocation.
llvm-svn: 230026
|
| |
|
|
| |
llvm-svn: 229948
|
| |
|
|
|
|
| |
Patch by Laszlo Szekeres
llvm-svn: 229940
|
| |
|
|
|
|
|
|
| |
Let each LibIgnore user (for now it's only TSan) manually go
through SuppressionContext and pass ignored library templates to
LibIgnore.
llvm-svn: 229924
|
| |
|
|
| |
llvm-svn: 229923
|
| |
|
|
|
|
|
|
| |
sanitizer_internal_defs.h to a new sanitizer_interface_internal.h file
Reviewed at http://reviews.llvm.org/D7758
llvm-svn: 229858
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the thread receives a signal concurrently with PTRACE_ATTACH,
we can get notification about the signal before notification about stop.
In such case we need to forward the signal to the thread, otherwise
the signal will be missed (as we do PTRACE_DETACH with arg=0) and
any logic relying on signals will break. After forwarding we need to
continue to wait for stopping, because the thread is not stopped yet.
We do ignore delivery of SIGSTOP, because we want to make stop-the-world
as invisible as possible.
http://reviews.llvm.org/D7723
--This line, and those below, will be ignored--
M lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
M test/tsan/signal_segv_handler.cc
llvm-svn: 229832
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Patch by Sagar Thakur
Reviewers: petarj, earthdok, kcc.
Subscribers: samsonov, dsanders, mohit.bhakkad, Anand.Takale, llvm-commits.
Differential Revision: http://reviews.llvm.org/D7013
llvm-svn: 229830
|
| |
|
|
|
|
|
|
|
|
| |
Long story short: stop-the-world briefly resets SIGSEGV handler to SIG_DFL.
This breaks programs that handle and continue after SIGSEGV (namely JVM).
See the test and comments for details.
http://reviews.llvm.org/D7722
llvm-svn: 229678
|
| |
|
|
|
|
|
| |
As per discussion with David Blaikie here:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150216/260289.html
llvm-svn: 229657
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enabling internal ptrace for mips, which fixes some
ptrace related tests. Along with this fixing some
other failures.
Reviewers: Reviewers: eugenis, kcc, samsonov
Subscribers: dsanders, sagar, lldb-commits
Differential Revision: http://reviews.llvm.org/D7332
llvm-svn: 229656
|
| |
|
|
|
|
|
|
|
| |
This reverts commit r229556.
Reverting this for now as internal apple builds rely on this
functionality.
llvm-svn: 229585
|
| |
|
|
|
|
|
|
|
| |
In general, this is a reasonable warning, except real_pthread_create is
weak and can be null. The existing usage is correct as it the function
is declared with SANITIZER_WEAK, but MSVC can't know that because it is
defined to nothing on Windows.
llvm-svn: 229562
|
| |
|
|
|
|
|
|
| |
They autotools build has a number of missing features, supports less
OS, architectures, build configurations, doesn't have any tests and
is hard to support in sync with CMake build.
llvm-svn: 229556
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
always available, and nothing in sanitizer_platform_limits_posix.cc uses
any of its definitions.
See also: https://svnweb.freebsd.org/changeset/base/277201
Reviewers: kcc, kutuzov.viktor.84, samsonov
Reviewed By: samsonov
Differential Revision: http://reviews.llvm.org/D7486
llvm-svn: 229518
|
| |
|
|
|
|
| |
GetTls is not defined in Go mode.
llvm-svn: 229395
|
| |
|
|
|
|
|
|
| |
mingw gcc complains:
warning: 'err' may be used uninitialized in this function [-Wmaybe-uninitialized]
Printf("Failed to read options from '%s': error %d\n", value, err);
llvm-svn: 229392
|
| |
|
|
|
|
|
| |
The function uses EnumProcessModules, which requires psapi.lib,
which is not linked with tsan on windows.
llvm-svn: 229390
|
| |
|
|
| |
llvm-svn: 228893
|
| |
|
|
|
|
|
|
|
| |
and even before that, it was never implemented. Just define it to zero
instead, so compiler-rt can compile on FreeBSD 11 and later.
Differential Revision: http://reviews.llvm.org/D7485
llvm-svn: 228871
|
| |
|
|
| |
llvm-svn: 228702
|
| |
|
|
|
|
| |
This should fix symbolization in those cases when the .exe file is moved together with the .pdb
llvm-svn: 228701
|
| |
|
|
|
|
|
|
|
|
|
|
| |
using non-absolute paths
MaybeReexec() in asan_mac.cc checks for presence of the ASan dylib in DYLD_INSERT_LIBRARIES, and if it is there, it will process this env. var. and remove the dylib from its value, so that spawned children don't have this variable set. However, the current implementation only works when using a canonical absolute path to the dylib, it fails to remove the dylib for example when using @executable_path.
This patch changes the processing of DYLD_INSERT_LIBRARIES to comparing values only based on filenames (ignoring directories).
Reviewed at http://reviews.llvm.org/D7160
llvm-svn: 228392
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7342
llvm-svn: 228125
|
| |
|
|
|
|
| |
coverage instrumentation as calls.
llvm-svn: 228102
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D7294
llvm-svn: 227959
|
| |
|
|
| |
llvm-svn: 227851
|