diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2013-10-03 13:37:17 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2013-10-03 13:37:17 +0000 |
commit | 4af0f21c0c98950df1136dbec8824a029ed5bb8e (patch) | |
tree | c627364c732421ba62a21cbf7f96d86fbfbd3c0d /lib/sanitizer_common/tests | |
parent | 984930932ac6d85af5b07294a91b203ce822dc68 (diff) | |
download | compiler-rt-4af0f21c0c98950df1136dbec8824a029ed5bb8e.tar.gz compiler-rt-4af0f21c0c98950df1136dbec8824a029ed5bb8e.tar.bz2 compiler-rt-4af0f21c0c98950df1136dbec8824a029ed5bb8e.tar.xz |
tsan: ignore interceptors coming from specified libraries
LibIgnore allows to ignore all interceptors called from a particular set
of dynamic libraries. LibIgnore remembers all "called_from_lib" suppressions
from the provided SuppressionContext; finds code ranges for the libraries;
and checks whether the provided PC value belongs to the code ranges.
Also make malloc and friends interceptors use SCOPED_INTERCEPTOR_RAW instead of
SCOPED_TSAN_INTERCEPTOR, because if they are called from an ignored lib,
then must call our internal allocator instead of libc malloc.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191897 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/sanitizer_common/tests')
-rw-r--r-- | lib/sanitizer_common/tests/sanitizer_suppressions_test.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc b/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc index f44911e1..ea8741d4 100644 --- a/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc +++ b/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc @@ -65,8 +65,10 @@ TEST(Suppressions, TypeStrings) { CHECK(!internal_strcmp(SuppressionTypeString(SuppressionThread), "thread")); CHECK(!internal_strcmp(SuppressionTypeString(SuppressionSignal), "signal")); CHECK(!internal_strcmp(SuppressionTypeString(SuppressionLeak), "leak")); + CHECK(!internal_strcmp(SuppressionTypeString(SuppressionLib), + "called_from_lib")); // Ensure this test is up-to-date when suppression types are added. - CHECK_EQ(SuppressionTypeCount, 6); + CHECK_EQ(SuppressionTypeCount, 7); } class SuppressionContextTest : public ::testing::Test { |