[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