[compiler-rt] r322991 - Reland "Make TracePcGuardController linker-initialized"
Petr Hosek via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 19 13:14:53 PST 2018
Author: phosek
Date: Fri Jan 19 13:14:53 2018
New Revision: 322991
URL: http://llvm.org/viewvc/llvm-project?rev=322991&view=rev
Log:
Reland "Make TracePcGuardController linker-initialized"
It was always intended to be.
Patch By: mcgrathr
Differential Revision: https://reviews.llvm.org/D41513
Modified:
compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc
Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc?rev=322991&r1=322990&r2=322991&view=diff
==============================================================================
--- compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc (original)
+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc Fri Jan 19 13:14:53 2018
@@ -49,7 +49,7 @@ constexpr const char kSancovSinkName[] =
// Collects trace-pc guard coverage.
// This class relies on zero-initialization.
-class TracePcGuardController {
+class TracePcGuardController final {
public:
// For each PC location being tracked, there is a u32 reserved in global
// data called the "guard". At startup, we assign each guard slot a
@@ -113,11 +113,11 @@ class TracePcGuardController {
// We can always spare the 32G of address space.
static constexpr size_t MappingSize = sizeof(uptr) << 32;
- BlockingMutex setup_lock_;
- uptr *array_;
- u32 next_index_;
- zx_handle_t vmo_;
- char vmo_name_[ZX_MAX_NAME_LEN];
+ BlockingMutex setup_lock_ = {LINKER_INITIALIZED};
+ uptr *array_ = nullptr;
+ u32 next_index_ = 0;
+ zx_handle_t vmo _ = {};
+ char vmo_name_[ZX_MAX_NAME_LEN] = {};
size_t DataSize() const { return next_index_ * sizeof(uintptr_t); }
More information about the llvm-commits
mailing list