Age | Commit message (Collapse) | Author |
|
Differential Revision: http://reviews.llvm.org/D6089
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221599 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: http://reviews.llvm.org/D6088
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221597 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: http://reviews.llvm.org/D6087
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221596 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221445 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219924 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219906 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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!).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219721 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219699 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219642 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219563 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219559 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219488 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Some more tests failing on the ARMv7 buildbot.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219404 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
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.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@219343 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
UBSan doesn't work together with ASan on Darwin yet, see http://llvm.org/bugs/show_bug.cgi?id=21112
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218746 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
does not work yet.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218675 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218662 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Changed files:
config-ix.cmake: Enabled UBSan for MIPS32
sanitizer_stacktrace.cc: Program counter for MIPS32 is four byte aligned
and a delay slot so subtracted PC by 8 for getting call site address.
cast-overflow.cpp: Added big endian support for this test case.
Patch by Sagar Thakur.
Differential Revision: http://reviews.llvm.org/D4881
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218519 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218264 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
UBSAN_DEFAULT_OPTIONS compile definition
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218137 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
By default summary is not printed if UBSan is run in a standalone mode,
but is printed if it's combined with another sanitizer (like ASan).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@218135 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
UBSan needs to check if memory snippet it's going to print resides
in addressable memory. Similar check might be helpful in ASan with
dump_instruction_bytes option (see http://reviews.llvm.org/D5167).
Instead of scanning /proc/self/maps manually, delegate this check to
the OS kernel: try to write this memory in a syscall and assume that
memory is inaccessible if the syscall failed (e.g. with EFAULT).
Fixes PR20721.
Test Plan: compiler-rt test suite
Reviewers: eugenis, glider
Reviewed By: glider
Subscribers: emaste, ygribov, llvm-commits, glider, rsmith
Differential Revision: http://reviews.llvm.org/D5253
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@217971 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@217652 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
UBSan is combined with ASan.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@217616 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@217535 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@217400 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
This patch implements a new UBSan check, which verifies
that function arguments declared to be nonnull with __attribute__((nonnull))
are actually nonnull in runtime.
To implement this check, we pass FunctionDecl to CodeGenFunction::EmitCallArgs
(where applicable) and if function declaration has nonnull attribute specified
for a certain formal parameter, we compare the corresponding RValue to null as
soon as it's calculated.
Test Plan: regression test suite
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: cfe-commits, rnk
Differential Revision: http://reviews.llvm.org/D5082
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@217389 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@216661 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
to make the tests green.
Slow stack unwinding is disabled in libsanitizer on Darwin now.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@216657 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@216289 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@216266 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
is not supported.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@216263 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Summary:
This patch adds a runtime check verifying that functions
annotated with "returns_nonnull" attribute do in fact return nonnull pointers.
It is based on suggestion by Jakub Jelinek:
http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20140623/223693.html.
Test Plan: regression test suite
Reviewers: rsmith
Reviewed By: rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D4849
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@215485 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
a given platform in a top-level CMakeLists.txt to use it both
in lib/ and in test/ subdirectories. Move architecture/platform
checks to config-ix.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@215247 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
RUN lines.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@214855 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Based on http://reviews.llvm.org/D4702 by Byoungyoung Lee!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@214833 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
predictably
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@214149 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This change introduces the first UBSan-specific runtime flag: print_stacktrace
(off by default). It can be set in UBSAN_OPTIONS to unwind and print call stacks
in addition to diagnostic messages. For now these stacks are printed only
in vptr checker.
This change is based on http://reviews.llvm.org/D4410 by Byoungyoung Lee!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213783 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
If UBSan is run in a standalone mode (w/o any other sanitizer), it
still uses functions from sanitizer_common, some of which depend on
the value of runtime flags. Allow to override the default values of these
flags with UBSAN_OPTIONS variable. In particular, UBSAN_OPTIONS=symbolize=0
can be used to turn off online symbolization.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@213782 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: http://reviews.llvm.org/D3794
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209856 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This commit broke the Windows build, where CMAKE_C_COMPILER can
compile and link with -march=armv7-a but the just-built-clang
cannot.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209851 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
You can expect the sanitizers to be built under any of the following conditions:
1) CMAKE_C_COMPILER is GCC built to cross-compile to ARM
2) CMAKE_C_COMPILER is Clang built to cross-compile to ARM (ARM is default target)
3) CMAKE_C_COMPILER is Clang and CMAKE_C_FLAGS contains -target and --sysroot
Differential Revision: http://reviews.llvm.org/D3794
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209835 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
support it
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209517 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209516 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Differential Revision: http://reviews.llvm.org/D3751
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@209249 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Thanks Alexey!
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208747 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208746 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@208744 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@207709 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Configure %run with COMPILER_RT_EMULATOR:
$ cmake -DCOMPILER_RT_EMULATOR="qemu-arm -L $SYSROOT"
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@207707 91177308-0d34-0410-b5e6-96231b3b80d8
|