[scudo] Add mallopt to print stats to the log.
authorChristopher Ferris <cferris@google.com>
Fri, 16 Jun 2023 01:52:59 +0000 (18:52 -0700)
committerChristopher Ferris <cferris@google.com>
Fri, 16 Jun 2023 20:34:45 +0000 (13:34 -0700)
Reviewed By: Chia-hungDuan

Differential Revision: https://reviews.llvm.org/D153094

compiler-rt/lib/scudo/standalone/include/scudo/interface.h
compiler-rt/lib/scudo/standalone/wrappers_c.inc

index 3c083ed..6c0c521 100644 (file)
@@ -159,6 +159,11 @@ size_t __scudo_get_ring_buffer_size(void);
 #define M_MEMTAG_TUNING_UAF 1
 #endif
 
+// Print internal stats to the log.
+#ifndef M_LOG_STATS
+#define M_LOG_STATS -205
+#endif
+
 } // extern "C"
 
 #endif // SCUDO_INTERFACE_H_
index 3e495ea..2c8e382 100644 (file)
@@ -196,6 +196,9 @@ INTERFACE WEAK int SCUDO_PREFIX(mallopt)(int param, int value) {
   } else if (param == M_PURGE_ALL) {
     SCUDO_ALLOCATOR.releaseToOS(scudo::ReleaseToOS::ForceAll);
     return 1;
+  } else if (param == M_LOG_STATS) {
+    SCUDO_ALLOCATOR.printStats();
+    return 1;
   } else {
     scudo::Option option;
     switch (param) {