summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2019-07-31 18:51:27 +0000
committerNico Weber <nicolasweber@gmx.de>2019-07-31 18:51:27 +0000
commit65492d959b17aa428f55bbde72af3f2c14711242 (patch)
tree57b0130d66af453adcc90457892ba900dddab9af /compiler-rt/lib/sanitizer_common/sanitizer_libignore.cc
parentb42a1c69672d40e54972274f3302204ec317ef04 (diff)
downloadbcm5719-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.cc129
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
OpenPOWER on IntegriCloud