| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
In the Power architecture, all branch instructions ignore the 2 least
significant bits of the target address. Consequently if you branch to an
invalid address, the address reported along with the SIGSEGV will have
been rounded down to a multiple of 4. Tweak this test accordingly.
This may fix the test for ARM too, in which case we could remove
the XFAIL, but I have no way of testing that.
Reviewers: kcc, willschm, glider, samsonov
Reviewed By: samsonov
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D6167
llvm-svn: 221542
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag can be used to specify the format of stack frames - user
can now provide a string with placeholders, which should be printed
for each stack frame with placeholders replaced with actual data.
For example "%p" will be replaced by PC, "%s" will be replaced by
the source file name etc.
"DEFAULT" value enforces default stack trace format currently used in
all the sanitizers except TSan.
This change also implements __sanitizer_print_stack_trace interface
function in TSan.
llvm-svn: 221469
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
for both PPC64 Big and Little endian modes, so also eliminates the need for
the BIG_ENDIAN/LITTLE_ENDIAN #ifdeffery.
By trial and error, it also looks like the kPPC64_ShadowOffset64 value is
valid using (1ULL << 41) for both BE and LE, so that #if/#elif/#endif block
has also been simplified.
Differential Revision: http://reviews.llvm.org/D6044
llvm-svn: 221457
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the __virtual_mask is set, __offset_flags >> __offset_shift yields
an offset into the vtable. Dereferencing this vtable slot gets us the
vbase offset.
Adjust a test case to verify that this, in fact, works.
Differential Revision: http://reviews.llvm.org/D6074
llvm-svn: 221445
|
|
|
|
|
|
|
|
| |
The current ASan testcase Posix/allow_user_segv.cc expects SIGBUS to be triggered on 32-bit Darwin. This has apparently changed on 10.10 to trigger SIGSEGV instead, just as on 64-bit. Let's just install handlers for both SIGSEGV and SIGBUS instead of #ifdef'ing.
Reviewed at http://reviews.llvm.org/D6121
llvm-svn: 221381
|
|
|
|
|
|
| |
uninstrumented vararg functions.
llvm-svn: 221364
|
|
|
|
| |
llvm-svn: 221347
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test refers to user_regs_struct.rip so it can only ever have worked
on x86-64. Put this code inside an appropriate #if, and add a similar
case for PowerPC64. (If we do likewise for ARM we can probably remove
the XFAILs, but I have no way of testing that.)
Those changes are enough to get the test working for me on big-endian
PowerPC64 Fedora 19.
Differential Revision: http://reviews.llvm.org/D6108
llvm-svn: 221337
|
|
|
|
|
|
|
|
| |
Change the LC_ID_DYLIB of ASan's dynamic libraries on OS X to be set to "@rpath/libclang_rt.asan_osx_dynamic.dylib" and similarly for iossim. Clang driver then sets the "-rpath" to be the real path to where clang currently has the dylib (because clang uses the relative path to its current executable). This means if you move the compiler or install the binary release, -fsanitize=address will link to the proper library.
Reviewed at http://reviews.llvm.org/D6018
llvm-svn: 221278
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit changes the place where TSan runtime turns full path
to binary or shared library into its basename
(/usr/foo/mybinary -> mybinary). Instead of doing it as early as possible
(when we obtained the full path from the symbolizer), we now do it as
late as possible (right before printing the error report).
This seems like a right thing to do - stripping to basename is a detail
of report formatting implementation, and should belong there. Also, we
might need the full path at some point - for example, to match the
suppressions.
llvm-svn: 221225
|
|
|
|
| |
llvm-svn: 220975
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D6029
llvm-svn: 220907
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5995
llvm-svn: 220676
|
|
|
|
|
|
| |
inlined frames done in llvm-symbolizer
llvm-svn: 220582
|
|
|
|
|
|
|
|
|
| |
Allow user memory in the first TB of address space.
This also enabled non-pie binaries and freebsd.
Fixes issue:
https://code.google.com/p/thread-sanitizer/issues/detail?id=5
llvm-svn: 220571
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5855
llvm-svn: 220552
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5841
llvm-svn: 220550
|
|
|
|
|
|
|
|
| |
ParamTLS (shadow for function arguments) is of limited size. This change
makes all arguments that do not fit unpoisoned, and avoids writing
past the end of a TLS buffer.
llvm-svn: 220351
|
|
|
|
|
|
| |
(-fsanitize-address-field-padding=1). Note that all of this is still experimental; don't use unless you are brave.
llvm-svn: 220013
|
|
|
|
| |
llvm-svn: 219946
|
|
|
|
| |
llvm-svn: 219924
|
|
|
|
| |
llvm-svn: 219906
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5730
llvm-svn: 219791
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5729
llvm-svn: 219790
|
|
|
|
|
|
|
| |
Write interceptor calls malloc, which causes a false
unsafe-call-in-signal-handler report. See the test.
llvm-svn: 219784
|
|
|
|
|
|
|
|
| |
When compiling with -mfpu=vfpv3, those tests began to pass, like the others
with "Illegal Instruction" error, so removing the XFAIL from them should
get the bot green (and have more tests!).
llvm-svn: 219721
|
|
|
|
| |
llvm-svn: 219699
|
|
|
|
|
|
|
|
|
|
| |
The current handling (manual execution of atexit callbacks)
is overly complex and leads to constant problems due to mutual ordering of callbacks.
Instead simply wrap callbacks into our wrapper to establish
the necessary synchronization.
Fixes issue https://code.google.com/p/thread-sanitizer/issues/detail?id=80
llvm-svn: 219675
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds UBSan check to upcasts. Namely, when we
perform derived-to-base conversion, we:
1) check that the pointer-to-derived has suitable alignment
and underlying storage, if this pointer is non-null.
2) if vptr-sanitizer is enabled, and we perform conversion to
virtual base, we check that pointer-to-derived has a matching vptr.
llvm-svn: 219642
|
|
|
|
|
|
|
| |
Previously we said that it's a data race, which is confusing
if it happens in the same thread.
llvm-svn: 219600
|
|
|
|
|
|
|
|
|
|
|
| |
to pass in an opt build.
The test case in question does show UBSan catching the error, but it
doesn't then successfully set the exit code of the program. I'll let the
UBSan folks sort out why. It should reproduce trivially with an
optimized build.
llvm-svn: 219563
|
|
|
|
| |
llvm-svn: 219559
|
|
|
|
|
|
|
|
|
|
|
| |
cmake/config-ix.cmake: Enabled building of asan for mipsel arch
test/asan/CMakeLists.txt: Enabled testing of asan for mipsel
Patch by Kumar Sukhani
Differential Revision: http://reviews.llvm.org/D5615
llvm-svn: 219496
|
|
|
|
| |
llvm-svn: 219488
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5666
llvm-svn: 219482
|
|
|
|
|
|
| |
Related revision: http://reviews.llvm.org/D5670
llvm-svn: 219481
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5670
llvm-svn: 219478
|
|
|
|
|
|
| |
Some more tests failing on the ARMv7 buildbot.
llvm-svn: 219404
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5669
llvm-svn: 219399
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5668
llvm-svn: 219398
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5665
llvm-svn: 219397
|
|
|
|
|
|
|
|
|
| |
ASAN, UBSAN and profile tests that don't work with arm-linux-gnueabi and
android also don't work on armv7l-linux-gnueabihf. Some of the tests have
known causes, others not yet. In order to get a green bot, I'm disabling
those tests for now and will investigate when the priority rises.
llvm-svn: 219343
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D5561
llvm-svn: 219293
|
|
|
|
|
|
|
|
|
|
|
|
| |
FreeBSD does not have libdl, so set it via lit.cfg instead of the test
input, as with asan. Also remove it from Darwin test runs - it's not
necessary, but harmless there.
Add FreeBSD to the list of hosts to test.
Differential Revision: http://reviews.llvm.org/D5650
llvm-svn: 219227
|
|
|
|
|
|
|
|
| |
Summary: Fixed asan-asm-stacktrace-test.cc. Now it's supported on x86_64 and added test run when no debug info is generated.
Differential Revision: http://reviews.llvm.org/D5547
llvm-svn: 219200
|
|
|
|
| |
llvm-svn: 218841
|
|
|
|
|
|
|
|
| |
There is some strange interaction between mmap limit and unlimited stack
(ulimit -s unlimited), which results in this test failing when run with
"make".
llvm-svn: 218764
|
|
|
|
|
|
|
|
|
|
| |
This is needed so we can produce -i686- named libraries for
x86 Android (which is i686-linux-android).
An alternative solution would be keeping the "i386" name internally and
tweaking the OUTPUT_NAME of compiler-rt libraries.
llvm-svn: 218761
|
|
|
|
|
|
| |
The memory limits were a bit too large for 32-bit Android.
llvm-svn: 218759
|
|
|
|
|
|
| |
UBSan doesn't work together with ASan on Darwin yet, see http://llvm.org/bugs/show_bug.cgi?id=21112
llvm-svn: 218746
|