summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common
diff options
context:
space:
mode:
authorKuba Brecka <kuba.brecka@gmail.com>2014-12-05 20:26:09 +0000
committerKuba Brecka <kuba.brecka@gmail.com>2014-12-05 20:26:09 +0000
commitdde00302c75e244cd858ff2c93d2f53cbd84c9eb (patch)
tree312b0c1ce18fbb9e4583a7dbf9202f180afb6081 /compiler-rt/lib/sanitizer_common
parent8c728ae9fbab86d3b757bdf03b650a655dedfbf9 (diff)
downloadbcm5719-llvm-dde00302c75e244cd858ff2c93d2f53cbd84c9eb.tar.gz
bcm5719-llvm-dde00302c75e244cd858ff2c93d2f53cbd84c9eb.zip
Implement AddressSanitizer suppressions.
Adds 3 new suppression types, "interceptor_name", "interceptor_via_fun", "interceptor_via_lib". Reviewed at http://reviews.llvm.org/D6280. llvm-svn: 223508
Diffstat (limited to 'compiler-rt/lib/sanitizer_common')
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cc5
-rw-r--r--compiler-rt/lib/sanitizer_common/sanitizer_suppressions.h3
-rw-r--r--compiler-rt/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc10
3 files changed, 15 insertions, 3 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cc b/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cc
index 2d6f76a8560..6b75036c7e5 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cc
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.cc
@@ -22,8 +22,9 @@
namespace __sanitizer {
static const char *const kTypeStrings[SuppressionTypeCount] = {
- "none", "race", "mutex", "thread", "signal",
- "leak", "called_from_lib", "deadlock", "vptr_check"};
+ "none", "race", "mutex", "thread", "signal", "leak", "called_from_lib",
+ "deadlock", "vptr_check", "interceptor_name", "interceptor_via_fun",
+ "interceptor_via_lib"};
bool TemplateMatch(char *templ, const char *str) {
if (str == 0 || str[0] == 0)
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.h b/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.h
index 897ea4f72e9..45373145616 100644
--- a/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.h
+++ b/compiler-rt/lib/sanitizer_common/sanitizer_suppressions.h
@@ -28,6 +28,9 @@ enum SuppressionType {
SuppressionLib,
SuppressionDeadlock,
SuppressionVptrCheck,
+ SuppressionInterceptorName,
+ SuppressionInterceptorViaFunction,
+ SuppressionInterceptorViaLibrary,
SuppressionTypeCount
};
diff --git a/compiler-rt/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc b/compiler-rt/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc
index 272e50b14ed..0699243283d 100644
--- a/compiler-rt/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc
+++ b/compiler-rt/lib/sanitizer_common/tests/sanitizer_suppressions_test.cc
@@ -71,8 +71,16 @@ TEST(Suppressions, TypeStrings) {
!internal_strcmp(SuppressionTypeString(SuppressionDeadlock), "deadlock"));
CHECK(!internal_strcmp(SuppressionTypeString(SuppressionVptrCheck),
"vptr_check"));
+ CHECK(!internal_strcmp(SuppressionTypeString(SuppressionInterceptorName),
+ "interceptor_name"));
+ CHECK(
+ !internal_strcmp(SuppressionTypeString(SuppressionInterceptorViaFunction),
+ "interceptor_via_fun"));
+ CHECK(
+ !internal_strcmp(SuppressionTypeString(SuppressionInterceptorViaLibrary),
+ "interceptor_via_lib"));
// Ensure this test is up-to-date when suppression types are added.
- CHECK_EQ(9, SuppressionTypeCount);
+ CHECK_EQ(12, SuppressionTypeCount);
}
class SuppressionContextTest : public ::testing::Test {
OpenPOWER on IntegriCloud