1*4882a593SmuzhiyunFrom e0768318d6289672085b8f8f9a3425178e1475b5 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Khem Raj <raj.khem@gmail.com> 3*4882a593SmuzhiyunDate: Fri, 7 Jul 2017 14:09:06 -0700 4*4882a593SmuzhiyunSubject: [PATCH] chromium: musl: Avoid mallinfo() APIs on non-glibc/linux 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com> 7*4882a593SmuzhiyunUpstream-Status: Pending 8*4882a593Smuzhiyun--- 9*4882a593Smuzhiyun chromium/base/process/process_metrics_posix.cc | 4 ++-- 10*4882a593Smuzhiyun chromium/base/trace_event/malloc_dump_provider.cc | 2 ++ 11*4882a593Smuzhiyun 2 files changed, 4 insertions(+), 2 deletions(-) 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundiff --git a/chromium/base/process/process_metrics_posix.cc b/chromium/base/process/process_metrics_posix.cc 14*4882a593Smuzhiyunindex 9d12c427bb3..900ab13519f 100644 15*4882a593Smuzhiyun--- a/chromium/base/process/process_metrics_posix.cc 16*4882a593Smuzhiyun+++ b/chromium/base/process/process_metrics_posix.cc 17*4882a593Smuzhiyun@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() { 18*4882a593Smuzhiyun malloc_statistics_t stats = {0}; 19*4882a593Smuzhiyun malloc_zone_statistics(nullptr, &stats); 20*4882a593Smuzhiyun return stats.size_in_use; 21*4882a593Smuzhiyun-#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID) 22*4882a593Smuzhiyun+#elif defined(__GLIBC__) || defined(OS_CHROMEOS) || defined(OS_ANDROID) 23*4882a593Smuzhiyun struct mallinfo minfo = mallinfo(); 24*4882a593Smuzhiyun #if BUILDFLAG(USE_TCMALLOC) 25*4882a593Smuzhiyun return minfo.uordblks; 26*4882a593Smuzhiyun #else 27*4882a593Smuzhiyun return minfo.hblkhd + minfo.arena; 28*4882a593Smuzhiyun #endif 29*4882a593Smuzhiyun-#elif defined(OS_FUCHSIA) 30*4882a593Smuzhiyun+#else 31*4882a593Smuzhiyun // TODO(fuchsia): Not currently exposed. https://crbug.com/735087. 32*4882a593Smuzhiyun return 0; 33*4882a593Smuzhiyun #endif 34*4882a593Smuzhiyundiff --git a/chromium/base/trace_event/malloc_dump_provider.cc b/chromium/base/trace_event/malloc_dump_provider.cc 35*4882a593Smuzhiyunindex c327f486596..90129e851e8 100644 36*4882a593Smuzhiyun--- a/chromium/base/trace_event/malloc_dump_provider.cc 37*4882a593Smuzhiyun+++ b/chromium/base/trace_event/malloc_dump_provider.cc 38*4882a593Smuzhiyun@@ -77,6 +77,7 @@ MallocDumpProvider::~MallocDumpProvider() = default; 39*4882a593Smuzhiyun // the current process. 40*4882a593Smuzhiyun bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, 41*4882a593Smuzhiyun ProcessMemoryDump* pmd) { 42*4882a593Smuzhiyun+#if defined(__GLIBC__) 43*4882a593Smuzhiyun { 44*4882a593Smuzhiyun base::AutoLock auto_lock(emit_metrics_on_memory_dump_lock_); 45*4882a593Smuzhiyun if (!emit_metrics_on_memory_dump_) 46*4882a593Smuzhiyun@@ -170,6 +171,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args, 47*4882a593Smuzhiyun MemoryAllocatorDump::kUnitsBytes, 48*4882a593Smuzhiyun resident_size - allocated_objects_size); 49*4882a593Smuzhiyun } 50*4882a593Smuzhiyun+#endif // __GLIBC__ 51*4882a593Smuzhiyun return true; 52*4882a593Smuzhiyun } 53*4882a593Smuzhiyun 54