1From 12756328702ba5ccba9c9558a65c4f72c53dcc14 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 13 Feb 2019 09:51:14 -0800
4Subject: [PATCH] gnu_libc_version API is glibc specific
5
6Do not assume it to be linux wide
7
8Upstream-Status: Pending
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11---
12 .../chrome_browser_main_extra_parts_metrics.cc       | 12 ++++++------
13 1 file changed, 6 insertions(+), 6 deletions(-)
14
15diff --git a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
16index 6d495358b7..af3d2d8a48 100644
17--- a/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
18+++ b/chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.cc
19@@ -61,14 +61,14 @@
20
21 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
22 // of lacros-chrome is complete.
23-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
24+#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS)
25 #include <gnu/libc-version.h>
26
27 #include "base/linux_util.h"
28 #include "base/strings/string_split.h"
29 #include "base/strings/string_util.h"
30 #include "base/version.h"
31-#endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
32+#endif  // defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS)
33
34 #if BUILDFLAG(IS_OZONE)
35 #include "ui/events/devices/device_data_manager.h"
36@@ -195,7 +195,7 @@ void RecordMicroArchitectureStats() {
37
38 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
39 // of lacros-chrome is complete.
40-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
41+#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS)
42 void RecordLinuxDistroSpecific(const std::string& version_string,
43                                size_t parts,
44                                const char* histogram_name) {
45@@ -273,12 +273,12 @@ void RecordLinuxDistro() {
46
47   base::UmaHistogramSparse("Linux.Distro2", distro_result);
48 }
49-#endif  // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
50+#endif  // defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS)
51
52 void RecordLinuxGlibcVersion() {
53 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
54 // of lacros-chrome is complete.
55-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
56+#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS)
57   base::Version version(gnu_get_libc_version());
58
59   UMALinuxGlibcVersion glibc_version_result = UMA_LINUX_GLIBC_NOT_PARSEABLE;
60@@ -589,7 +589,7 @@ void ChromeBrowserMainExtraPartsMetrics::PostBrowserStart() {
61       base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN};
62 // TODO(crbug.com/1052397): Revisit the macro expression once build flag switch
63 // of lacros-chrome is complete.
64-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS_LACROS)
65+#if defined(__GLIBC__) || BUILDFLAG(IS_CHROMEOS_LACROS)
66   base::ThreadPool::PostTask(FROM_HERE, kBestEffortTaskTraits,
67                              base::BindOnce(&RecordLinuxDistro));
68 #endif
69