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