Age | Commit message (Collapse) | Author | Files | Lines |
|
------------------------------------------------------------------------
r244101 | samsonov | 2015-08-05 12:35:46 -0700 (Wed, 05 Aug 2015) | 6 lines
[UBSan] Fix UBSan-vptr false positive.
Offset from vptr to the start of most-derived object can actually
be positive in some virtual base class vtables.
Patch by Stephan Bergmann!
------------------------------------------------------------------------
llvm-svn: 245114
|
|
------------------------------------------------------------------------
r244646 | dsanders | 2015-08-11 19:40:02 +0100 (Tue, 11 Aug 2015) | 5 lines
[ubsan][mips] Revise r243384 to avoid special casing big-endian mips.
Account for the case when uptr is 32-bit instead of trying to fix this case
using the little endian path.
------------------------------------------------------------------------
llvm-svn: 245111
|
|
------------------------------------------------------------------------
r243384 | slthakur | 2015-07-28 06:51:51 +0100 (Tue, 28 Jul 2015) | 9 lines
[UBSan][MIPS] Fix cast-overflow tests for mips big endian
This fixes the bug https://llvm.org/bugs/show_bug.cgi?id=24152
The float value resides in the first 4 bytes of ValueHandle for both mips and mipsel.
Reviewers: dsanders, samsonov
Subscibers: rsmith, hans, mohit.bhakkad, jaydeep, llvm-commits
Differential: http://reviews.llvm.org/D11448
------------------------------------------------------------------------
llvm-svn: 245110
|
|
------------------------------------------------------------------------
r244002 | tbrethou | 2015-08-04 20:58:00 -0700 (Tue, 04 Aug 2015) | 2 lines
Update references to new lists.llvm.org mailing lists.
------------------------------------------------------------------------
llvm-svn: 244771
|
|
------------------------------------------------------------------------
r243686 | dsanders | 2015-07-30 14:00:48 -0700 (Thu, 30 Jul 2015) | 14 lines
[Sanitizers] [Bug 24151] Generalize type of offset in internal_mmap
Summary:
Using u64 as type for offset changes its value, changing starting address for map in file.
This patch solves Bug 24151, which raises issue while mapping file in mips32.
Patch by Mohit Bhakkad
Reviewers: dsanders, kcc
Subscribers: hans, llvm-commits, samsonov, nitesh.jain, sagar, bhushan, jaydeep
Differential Revision: http://reviews.llvm.org/D11588
------------------------------------------------------------------------
llvm-svn: 244114
|
|
------------------------------------------------------------------------
r243615 | nico | 2015-07-29 20:41:05 -0700 (Wed, 29 Jul 2015) | 1 line
Revert r243604, it (very likely) caused PR24312.
------------------------------------------------------------------------
llvm-svn: 243617
|
|
------------------------------------------------------------------------
r243604 | hans | 2015-07-29 18:45:17 -0700 (Wed, 29 Jul 2015) | 13 lines
[CMake] Pass -march=i686 when targeting i686 (PR24222)
Clang will not define __i686__, even when the target triple is i686,
without -march=i686.
With this patch, the compiler-rt build will successfully detect that
Clang can target i686.
The open_memstream.cc test is a little funny. Before my patch, it
was invoked with "-m32 -m64". To make it work after my -march
change, I had to add '-march=x86-64'.
Differential Revision: http://reviews.llvm.org/D11618
------------------------------------------------------------------------
llvm-svn: 243608
|
|
------------------------------------------------------------------------
r243170 | samsonov | 2015-07-24 15:01:07 -0700 (Fri, 24 Jul 2015) | 14 lines
[CMake] Workaround for PR24222: don't fail if we can't target COMPILER_RT_TEST_TARGET_TRIPLE unless it was explicitly set.
Summary:
Although we assume that we can always target host triple, relax
this check to avoid failing at configure-time for cases when we are
not able to correctly infer/verify host triple for some reasons.
See http://llvm.org/bugs/show_bug.cgi?id=24222 for more details.
Reviewers: hans
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11496
------------------------------------------------------------------------
llvm-svn: 243278
|
|
------------------------------------------------------------------------
r242539 | rnk | 2015-07-17 09:23:05 -0700 (Fri, 17 Jul 2015) | 14 lines
compiler-rt: add support for mingw-w64 in builtins
The is so that we can avoid using libgcc and use compiler-rt with
mingw-w64.
Related driver patch
http://reviews.llvm.org/D11077
I have tested this with mingw-w64 and everything seems to be in order.
I also sent this patch to the mingw-w64 mailing list for them to look at.
Patch by Martell Malone.
Differential Revision: http://reviews.llvm.org/D11085
------------------------------------------------------------------------
------------------------------------------------------------------------
r242540 | rnk | 2015-07-17 09:31:59 -0700 (Fri, 17 Jul 2015) | 1 line
Add missing chkstk.S files from r242539
------------------------------------------------------------------------
llvm-svn: 243059
|
|
------------------------------------------------------------------------
r242647 | eugenis | 2015-07-19 12:57:13 -0700 (Sun, 19 Jul 2015) | 5 lines
[sanitizer] De-flake one test.
signal_segv_handler.cc occasionally fails due to a suspected kernel bug.
Increasing the mapped region size seems to make the test pass reliably.
------------------------------------------------------------------------
------------------------------------------------------------------------
r242651 | dvyukov | 2015-07-19 14:44:49 -0700 (Sun, 19 Jul 2015) | 6 lines
asan: fix a test
Page size is not necessary 4096.
Use sysconf to obtain page size.
------------------------------------------------------------------------
llvm-svn: 242848
|
|
------------------------------------------------------------------------
r242449 | samsonov | 2015-07-16 14:46:58 -0700 (Thu, 16 Jul 2015) | 1 line
[ASan] PR24150: restrict test case to i386.
------------------------------------------------------------------------
llvm-svn: 242563
|
|
------------------------------------------------------------------------
r242444 | samsonov | 2015-07-16 14:20:05 -0700 (Thu, 16 Jul 2015) | 3 lines
[CMake] One more attempt to fix PR24144.
This time, exclude ExternalProject from build using set_target_properties.
------------------------------------------------------------------------
llvm-svn: 242445
|
|
------------------------------------------------------------------------
r242424 | samsonov | 2015-07-16 10:53:01 -0700 (Thu, 16 Jul 2015) | 11 lines
[CMake] Workaround for PR24144: avoid installing libcxx_tsan and libcxx_msan by default "ninja install" command.
Summary:
Exclude external libc++ builds from "all" target, so that they are only
build on demand, and are not installed together with LLVM/Clang.
Reviewers: hans
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D11252
------------------------------------------------------------------------
llvm-svn: 242425
|
|
------------------------------------------------------------------------
r242350 | samsonov | 2015-07-15 15:50:39 -0700 (Wed, 15 Jul 2015) | 1 line
[probile] Fix memory leak introduced in r241824.
------------------------------------------------------------------------
llvm-svn: 242405
|
|
llvm-svn: 242193
|
|
r241824 didn't update the autoconf build system to handle the new file
in the profile library.
llvm-svn: 242013
|
|
Fixes check-ubsan when self hosting on Windows.
llvm-svn: 242003
|
|
llvm-svn: 242002
|
|
llvm-svn: 241940
|
|
overwritten by user.
llvm-svn: 241876
|
|
When the file is initialized, this patch checks whether the path
specifies a directory. If so, it creates the directory tree before
truncating the file.
Use default.profdata instead of pgo-data for default indexed profile name.
llvm-svn: 241824
|
|
The image-relative complete object locator contains a reference to itself,
which we can use to compute the image base without using VirtualQuery.
Spotted by David Majnemer.
llvm-svn: 241758
|
|
'__interceptor_malloc' ; PR22681
llvm-svn: 241755
|
|
Specifically:
- Start using %expect_crash.
- Provide an implementation of __ubsan::getDynamicTypeInfoFromVtable
for the Microsoft C++ ABI. This is all that is needed for CFI
diagnostics; UBSan's -fsanitize=vptr also requires an implementation of
__ubsan::checkDynamicType.
- Build the sanitizer runtimes against the release version of the C
runtime, even in debug builds.
- Accommodate demangling differences in tests.
Differential Revision: http://reviews.llvm.org/D11029
llvm-svn: 241745
|
|
Since http://reviews.llvm.org/D10294, ASan test cases now respect default env. options via `ASAN_OPTION=$ASAN_OPTIONS:additional_options=xxx`. This patch adds this to a few test cases where it's still missing.
Differential Revision: http://reviews.llvm.org/D10988
llvm-svn: 241571
|
|
On OS X 10.11 (which is currently a public beta), the dynamic linker has been improved so that it doesn't require the use of DYLD_INSERT_LIBRARIES in order for interposition/wrappers to work. This patch adds support of this behavior into ASan – we no longer need to re-exec in case the env. variable is not set.
Reviewed at http://reviews.llvm.org/D10924
llvm-svn: 241487
|
|
On OS X, when the main instrumented binary contains a custom section with zero length, ASan will crash (assert failure) early in the initialization.
Reviewed at http://reviews.llvm.org/D10944
llvm-svn: 241474
|
|
llvm-svn: 241400
|
|
Specifically:
- Disable int128 tests on Windows, as MSVC cl.exe does not support
int128, so we might not have been able to build the runtime
with int128 support.
- XFAIL the vptr tests as we lack Microsoft ABI support.
- XFAIL enum.cpp as UBSan fails to add the correct instrumentation code
for some reason.
- Modify certain tests that build executables multiple times to use
unique names for each executable. This works around a race condition
observed on Windows.
- Implement IsAccessibleMemoryRange for Windows to fix the last
misaligned.cpp test.
- Introduce a substitution for testing crashes on Windows using
KillTheDoctor.
Differential Revision: http://reviews.llvm.org/D10864
llvm-svn: 241303
|
|
A recent change in slow unwinder causes the OS X build to fail when using COMPILER_RT_DEBUG=On. Let's fix this by #ifdef'ing it with #if SANITIZER_CAN_SLOW_UNWIND.
See http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20150622/284294.html
Reviewed at http://reviews.llvm.org/D10870
llvm-svn: 241261
|
|
llvm-svn: 241227
|
|
- Disable building of the interceptor library on 64-bit Windows.
- Mangle names in /alternatename directive for 32-bit Windows.
llvm-svn: 241224
|
|
llvm-svn: 241219
|
|
Differential Revision: http://reviews.llvm.org/D10856
llvm-svn: 241217
|
|
read_binary_name_regtest.c requires seccomp kernel headers.
Make the test pass if <linux/seccomp.h> is missing.
llvm-svn: 241119
|
|
buildbots are still failing in check-ubsan.
llvm-svn: 241113
|
|
POSIX states that "It shall be safe to destroy an initialized condition
variable upon which no threads are currently blocked", and later clarifies
"A condition variable can be destroyed immediately after all the threads
that are blocked on it are awakened) (in examples section). Tsan reported
such destruction as a data race.
Fixes https://llvm.org/bugs/show_bug.cgi?id=23616
Reviewed in http://reviews.llvm.org/D10693
llvm-svn: 241082
|
|
The test simulates a sandbox that prevents the program from calling readlink().
ASan is supposed to still be able to print the executable name regardless of that.
llvm-svn: 241072
|
|
On Android L, TSD destructors run 8 times instead of 4.
Back to 4 times on the current master branch (as well as on K).
llvm-svn: 240992
|
|
PR23971 is fixed.
llvm-svn: 240975
|
|
struct sigaction was not initialized. As the result if SA_RESETHAND is set in sa_flags, then the handler is reset after first invocation leading to crash.
Initialize struct sigaction to zero.
Reviewed in http://reviews.llvm.org/D10803
llvm-svn: 240965
|
|
which caches the executable name upon the first invocation.
This is necessary because Google Chrome (and potentially other programs)
restrict the access to /proc/self/exe on linux.
This change should fix https://code.google.com/p/chromium/issues/detail?id=502974
llvm-svn: 240960
|
|
The new suppression type is called "race_top" and is matched only against top frame in report stacks.
This is required for situations when we want to suppress a race in a "thread pool" or "event loop" implementation.
If we simply use "race:ThreadPool::Execute" suppression, that can suppress everything in the program.
Reviewed in http://reviews.llvm.org/D10686
llvm-svn: 240949
|
|
See the comment for explanation.
llvm-svn: 240943
|
|
Summary:
On PPC64, half the msan tests fail with an infinite recursion through
GetStackTrace like this:
#0 __msan::GetStackTrace
#1 __msan_memcpy
#2 ?? () from /lib64/libgcc_s.so.1
#3 ?? () from /lib64/libgcc_s.so.1
#4 _Unwind_Backtrace
#5 __sanitizer::BufferedStackTrace::SlowUnwindStack
#6 __sanitizer::BufferedStackTrace::Unwind
#7 __msan::GetStackTrace
#8 __interceptor_calloc
#9 _dl_allocate_tls
#10 pthread_create@@GLIBC_2.17
#11 __interceptor_pthread_create
#12 main
The problem is that we call _Unwind_Backtrace to get a stack trace; but
_Unwind_Backtrace calls memcpy, which we intercept and try to get
another stack trace.
This patch fixes it in __msan_memcpy by skipping the stack trace if
IsInSymbolizer(). This works because GetStackTrace already creates a
SymbolizerScope to "block reports from our interceptors during
_Unwind_Backtrace".
Reviewers: samsonov, wschmidt, eugenis
Reviewed By: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D10762
llvm-svn: 240878
|
|
Different reasons for failing; see source file comments.
llvm-svn: 240858
|
|
This helps Android (which only support PIE) and does not hurt anything else.
llvm-svn: 240857
|
|
Due to bionic improvements and "recent" sized-delete changes in clang.
llvm-svn: 240856
|
|
A workaround for PR23971.
Fixes the test on Android.
llvm-svn: 240855
|
|
Fixes quarantine_size_mb.cc test on the Android bot.
llvm-svn: 240854
|