Hi, Kéléfa Sané Thank you for the patch. On Mon, May 26, 2025 at 5:04 PM <devel-requ...@lists.crash-utility.osci.io> wrote:
> Date: Mon, 26 May 2025 11:03:24 +0200 > From: kelefa.s...@smile.fr > Subject: [Crash-utility] [meta-oe][PATCH v2] Use CC env var to get > compiler version > To: devel@lists.crash-utility.osci.io > Cc: Kéléfa Sané <kelefa.s...@smile.fr> > Message-ID: <20250526090324.3113589-1-kelefa.s...@smile.fr> > Content-Type: text/plain; charset=UTF-8 > > From: Kéléfa Sané <kelefa.s...@smile.fr> > > The source file build_data.c generated at compilation time define a > variable compiler_version which is obtained by calling "gcc --version" > cmd. This call retrieve the native gcc compiler install on host build > machine but not necessarily the compiler use to build the project (ex: > cross compilation). > Good findings. > > The CC env variable commonly used in Makefile project define the > compiler to use at build, so this is the appropriate way to retrieve the > compiler version, when the CC env var is define. > If the CC env variable is not set, this is still a problem. We should not expect that the CC env variable is always defined(or set). I would suggest parsing the GDB_CONF_FLAGS to get the target gcc version, which is visible in the configure.c What do you think? Thanks Lianbo > Signed-off-by: Kéléfa Sané <kelefa.s...@smile.fr> > --- > configure.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/configure.c b/configure.c > index 4668c9a..4b65bd7 100644 > --- a/configure.c > +++ b/configure.c > @@ -1362,7 +1362,17 @@ make_build_data(char *target) > > fp1 = popen("date", "r"); > fp2 = popen("id", "r"); > - fp3 = popen("gcc --version", "r"); > + > + const char *cc_env = getenv("CC"); > + if(NULL == cc_env) { > + fp3 = popen("gcc --version", "r"); > + } > + else { > + char compiler_version_cmd[512]; > + > + snprintf(compiler_version_cmd, > sizeof(compiler_version_cmd), "%s --version", cc_env); > + fp3 = popen(compiler_version_cmd, "r"); > + } > > if ((fp4 = fopen("build_data.c", "w")) == NULL) { > perror("build_data.c"); > > > >
-- Crash-utility mailing list -- devel@lists.crash-utility.osci.io To unsubscribe send an email to devel-le...@lists.crash-utility.osci.io https://${domain_name}/admin/lists/devel.lists.crash-utility.osci.io/ Contribution Guidelines: https://github.com/crash-utility/crash/wiki