From b1e0c43abdc1ec69a03fa265d152b2f9f690c673 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Mon, 28 Jan 2019 20:08:10 -0500 Subject: [PATCH] report: disambiguate glibc versions - Give the glibc version entries more specific names. - Group all of the glibc version reporting together. PR-URL: https://github.com/nodejs/node/pull/25781 Reviewed-By: Richard Lau Reviewed-By: Gireesh Punathil Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- doc/api/report.md | 4 ++-- src/node_report.cc | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/doc/api/report.md b/doc/api/report.md index ecf44b20cf0bc2..cc099993057e2e 100644 --- a/doc/api/report.md +++ b/doc/api/report.md @@ -36,7 +36,8 @@ is provided below for reference. "child" ], "nodejsVersion": "v12.0.0-pre", - "glibcVersion": "2.17", + "glibcVersionRuntime": "2.17", + "glibcVersionCompiler": "2.17", "wordSize": "64 bit", "componentVersions": { "node": "12.0.0-pre", @@ -55,7 +56,6 @@ is provided below for reference. "release": "node" }, "osVersion": "Linux 3.10.0-862.el7.x86_64 #1 SMP Wed Mar 21 18:14:51 EDT 2018", - "glibc": "2.17", "machine": "Linux 3.10.0-862.el7.x86_64 #1 SMP Wed Mar 21 18:14:51 EDT 2018test_machine x86_64" }, "javascriptStack": { diff --git a/src/node_report.cc b/src/node_report.cc index a9861f931e847c..381a40e7861f2a 100644 --- a/src/node_report.cc +++ b/src/node_report.cc @@ -323,11 +323,22 @@ static void PrintVersionInformation(JSONWriter* writer) { buf << "v" << NODE_VERSION_STRING; writer->json_keyvalue("nodejsVersion", buf.str()); buf.str(""); + +#ifndef _WIN32 + // Report compiler and runtime glibc versions where possible. + const char* (*libc_version)(); + *(reinterpret_cast(&libc_version)) = + dlsym(RTLD_DEFAULT, "gnu_get_libc_version"); + if (libc_version != nullptr) + writer->json_keyvalue("glibcVersionRuntime", (*libc_version)()); +#endif /* _WIN32 */ + #ifdef __GLIBC__ buf << __GLIBC__ << "." << __GLIBC_MINOR__; - writer->json_keyvalue("glibcVersion", buf.str()); + writer->json_keyvalue("glibcVersionCompiler", buf.str()); buf.str(""); #endif + // Report Process word size writer->json_keyvalue("wordSize", sizeof(void*) * 8); @@ -433,13 +444,6 @@ static void PrintVersionInformation(JSONWriter* writer) { buf.str(""); buf << os_info.nodename << " " << os_info.machine; writer->json_keyvalue("machine", buf.str()); - - const char* (*libc_version)(); - *(reinterpret_cast(&libc_version)) = - dlsym(RTLD_DEFAULT, "gnu_get_libc_version"); - if (libc_version != nullptr) { - writer->json_keyvalue("glibc", (*libc_version)()); - } } #endif }