diff options
| author | Nico Weber <nicolasweber@gmx.de> | 2019-07-31 18:51:27 +0000 |
|---|---|---|
| committer | Nico Weber <nicolasweber@gmx.de> | 2019-07-31 18:51:27 +0000 |
| commit | 65492d959b17aa428f55bbde72af3f2c14711242 (patch) | |
| tree | 57b0130d66af453adcc90457892ba900dddab9af /compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc | |
| parent | b42a1c69672d40e54972274f3302204ec317ef04 (diff) | |
| download | bcm5719-llvm-65492d959b17aa428f55bbde72af3f2c14711242.tar.gz bcm5719-llvm-65492d959b17aa428f55bbde72af3f2c14711242.zip | |
compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp
See https://reviews.llvm.org/D58620 for discussion, and for the commands
I ran. In addition I also ran
for f in $(svn diff | diffstat | grep .cc | cut -f 2 -d ' '); do rg $f . ; done
and manually updated (many) references to renamed files found by that.
llvm-svn: 367463
Diffstat (limited to 'compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc')
| -rw-r--r-- | compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc | 129 |
1 files changed, 0 insertions, 129 deletions
diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc b/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc deleted file mode 100644 index 6c7c132e99e..00000000000 --- a/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc +++ /dev/null @@ -1,129 +0,0 @@ -//===-- sanitizer_libignore.cc --------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#include "sanitizer_platform.h" - -#if SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || \ - SANITIZER_NETBSD || SANITIZER_OPENBSD - -#include "sanitizer_libignore.h" -#include "sanitizer_flags.h" -#include "sanitizer_posix.h" -#include "sanitizer_procmaps.h" - -namespace __sanitizer { - -LibIgnore::LibIgnore(LinkerInitialized) { -} - -void LibIgnore::AddIgnoredLibrary(const char *name_templ) { - BlockingMutexLock lock(&mutex_); - if (count_ >= kMaxLibs) { - Report("%s: too many ignored libraries (max: %d)\n", SanitizerToolName, - kMaxLibs); - Die(); - } - Lib *lib = &libs_[count_++]; - lib->templ = internal_strdup(name_templ); - lib->name = nullptr; - lib->real_name = nullptr; - lib->loaded = false; -} - -void LibIgnore::OnLibraryLoaded(const char *name) { - BlockingMutexLock lock(&mutex_); - // Try to match suppressions with symlink target. - InternalScopedString buf(kMaxPathLength); - if (name && internal_readlink(name, buf.data(), buf.size() - 1) > 0 && - buf[0]) { - for (uptr i = 0; i < count_; i++) { - Lib *lib = &libs_[i]; - if (!lib->loaded && (!lib->real_name) && - TemplateMatch(lib->templ, name)) - lib->real_name = internal_strdup(buf.data()); - } - } - - // Scan suppressions list and find newly loaded and unloaded libraries. - ListOfModules modules; - modules.init(); - for (uptr i = 0; i < count_; i++) { - Lib *lib = &libs_[i]; - bool loaded = false; - for (const auto &mod : modules) { - for (const auto &range : mod.ranges()) { - if (!range.executable) - continue; - if (!TemplateMatch(lib->templ, mod.full_name()) && - !(lib->real_name && - internal_strcmp(lib->real_name, mod.full_name()) == 0)) - continue; - if (loaded) { - Report("%s: called_from_lib suppression '%s' is matched against" - " 2 libraries: '%s' and '%s'\n", - SanitizerToolName, lib->templ, lib->name, mod.full_name()); - Die(); - } - loaded = true; - if (lib->loaded) - continue; - VReport(1, - "Matched called_from_lib suppression '%s' against library" - " '%s'\n", - lib->templ, mod.full_name()); - lib->loaded = true; - lib->name = internal_strdup(mod.full_name()); - const uptr idx = - atomic_load(&ignored_ranges_count_, memory_order_relaxed); - CHECK_LT(idx, ARRAY_SIZE(ignored_code_ranges_)); - ignored_code_ranges_[idx].begin = range.beg; - ignored_code_ranges_[idx].end = range.end; - atomic_store(&ignored_ranges_count_, idx + 1, memory_order_release); - break; - } - } - if (lib->loaded && !loaded) { - Report("%s: library '%s' that was matched against called_from_lib" - " suppression '%s' is unloaded\n", - SanitizerToolName, lib->name, lib->templ); - Die(); - } - } - - // Track instrumented ranges. - if (track_instrumented_libs_) { - for (const auto &mod : modules) { - if (!mod.instrumented()) - continue; - for (const auto &range : mod.ranges()) { - if (!range.executable) - continue; - if (IsPcInstrumented(range.beg) && IsPcInstrumented(range.end - 1)) - continue; - VReport(1, "Adding instrumented range %p-%p from library '%s'\n", - range.beg, range.end, mod.full_name()); - const uptr idx = - atomic_load(&instrumented_ranges_count_, memory_order_relaxed); - CHECK_LT(idx, ARRAY_SIZE(instrumented_code_ranges_)); - instrumented_code_ranges_[idx].begin = range.beg; - instrumented_code_ranges_[idx].end = range.end; - atomic_store(&instrumented_ranges_count_, idx + 1, - memory_order_release); - } - } - } -} - -void LibIgnore::OnLibraryUnloaded() { - OnLibraryLoaded(nullptr); -} - -} // namespace __sanitizer - -#endif // SANITIZER_FREEBSD || SANITIZER_LINUX || SANITIZER_MAC || - // SANITIZER_NETBSD |

