diff options
| author | Kuba Brecka <kuba.brecka@gmail.com> | 2014-12-05 20:26:09 +0000 |
|---|---|---|
| committer | Kuba Brecka <kuba.brecka@gmail.com> | 2014-12-05 20:26:09 +0000 |
| commit | dde00302c75e244cd858ff2c93d2f53cbd84c9eb (patch) | |
| tree | 312b0c1ce18fbb9e4583a7dbf9202f180afb6081 /compiler-rt/lib/sanitizer_common | |
| parent | 8c728ae9fbab86d3b757bdf03b650a655dedfbf9 (diff) | |
| download | bcm5719-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')
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 { |

