diff mbox series

Makefile: fix config cc version check

Message ID 20220307223231.608498-1-mst@redhat.com (mailing list archive)
State New, archived
Headers show
Series Makefile: fix config cc version check | expand

Commit Message

Michael S. Tsirkin March 7, 2022, 10:32 p.m. UTC
.config is of the form:
CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)"

while CC_VERSION_TEXT is of the form: gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-7)

thus when comparing these, CONFIG_CC_VERSION_TEXT should not
be put in "", otherwise we get () outside "" which shell then
tries to evaluate.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Masahiro Yamada March 8, 2022, 2:23 a.m. UTC | #1
On Tue, Mar 8, 2022 at 7:32 AM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> .config is of the form:
> CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)"


No. This was changed.

See this:

$ git show 129ab0d2d9f -- Makefile



> while CC_VERSION_TEXT is of the form: gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-7)
>
> thus when comparing these, CONFIG_CC_VERSION_TEXT should not
> be put in "", otherwise we get () outside "" which shell then
> tries to evaluate.
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>  Makefile | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index daeb5c88b50b..d5c03c827825 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1714,9 +1714,9 @@ PHONY += prepare
>  # now expand this into a simple variable to reduce the cost of shell evaluations
>  prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
>  prepare:
> -       @if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ]; then \
> +       @if [ "$(CC_VERSION_TEXT)" != $(CONFIG_CC_VERSION_TEXT) ]; then \
>                 echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
> -               echo >&2 "  The kernel was built by: $(CONFIG_CC_VERSION_TEXT)"; \
> +               echo >&2 "  The kernel was built by: "$(CONFIG_CC_VERSION_TEXT)";" \
>                 echo >&2 "  You are using:           $(CC_VERSION_TEXT)"; \
>         fi
>
> --
> MST
>
Akemi Yagi April 3, 2022, 9:10 a.m. UTC | #2
On Tue, 08 Mar 2022 11:23:31 +0900, Masahiro Yamada wrote:

> On Tue, Mar 8, 2022 at 7:32 AM Michael S. Tsirkin <mst@redhat.com>
> wrote:
>>
>> .config is of the form:
>> CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)"
> 
> 
> No. This was changed.
> 
> See this:
> 
> $ git show 129ab0d2d9f -- Makefile
> 
> 
> 
>> while CC_VERSION_TEXT is of the form: gcc (GCC) 11.2.1 20220127 (Red
>> Hat 11.2.1-7)
>>
>> thus when comparing these, CONFIG_CC_VERSION_TEXT should not be put in
>> "", otherwise we get () outside "" which shell then tries to evaluate.
>>
>> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>> ---
>>  Makefile | 4 ++--
>>  1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/Makefile b/Makefile index daeb5c88b50b..d5c03c827825
>> 100644 --- a/Makefile +++ b/Makefile @@ -1714,9 +1714,9 @@ PHONY +=
>> prepare
>>  # now expand this into a simple variable to reduce the cost of shell
>>  evaluations prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
>>  prepare:
>> -       @if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ];
>> then \
>> +       @if [ "$(CC_VERSION_TEXT)" != $(CONFIG_CC_VERSION_TEXT) ]; then
>> \
>>                 echo >&2 "warning: the compiler differs from the one
>>                 used to build the kernel"; \
>> -               echo >&2 "  The kernel was built by:
>> $(CONFIG_CC_VERSION_TEXT)"; \ +               echo >&2 "  The kernel
>> was built by: "$(CONFIG_CC_VERSION_TEXT)";" \
>>                 echo >&2 "  You are using:          
>>                 $(CC_VERSION_TEXT)"; \
>>         fi
>>
>> --
>> MST

I believe the patch proposed by Michael indeed fixes an issue 
introduced by 129ab0d2d9f (Makefile).

Please see the following bug reports:

https://elrepo.org/bugs/view.php?id=1215
https://elrepo.org/bugs/view.php?id=1214

and this forum post:

https://www.phoronix.com/forums/forum/software/general-linux-open-source/
1303986-linux-5-17-rc1-released-a-little-bit-early-but-with-shiny-new-
features#post1304036

Akemi
Masahiro Yamada April 4, 2022, 11:02 a.m. UTC | #3
On Sun, Apr 3, 2022 at 6:11 PM Akemi Yagi <toracat@elrepo.org> wrote:
>
> On Tue, 08 Mar 2022 11:23:31 +0900, Masahiro Yamada wrote:
>
> > On Tue, Mar 8, 2022 at 7:32 AM Michael S. Tsirkin <mst@redhat.com>
> > wrote:
> >>
> >> .config is of the form:
> >> CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)"
> >
> >
> > No. This was changed.
> >
> > See this:
> >
> > $ git show 129ab0d2d9f -- Makefile
> >
> >
> >
> >> while CC_VERSION_TEXT is of the form: gcc (GCC) 11.2.1 20220127 (Red
> >> Hat 11.2.1-7)
> >>
> >> thus when comparing these, CONFIG_CC_VERSION_TEXT should not be put in
> >> "", otherwise we get () outside "" which shell then tries to evaluate.
> >>
> >> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >> ---
> >>  Makefile | 4 ++--
> >>  1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/Makefile b/Makefile index daeb5c88b50b..d5c03c827825
> >> 100644 --- a/Makefile +++ b/Makefile @@ -1714,9 +1714,9 @@ PHONY +=
> >> prepare
> >>  # now expand this into a simple variable to reduce the cost of shell
> >>  evaluations prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
> >>  prepare:
> >> -       @if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ];
> >> then \
> >> +       @if [ "$(CC_VERSION_TEXT)" != $(CONFIG_CC_VERSION_TEXT) ]; then
> >> \
> >>                 echo >&2 "warning: the compiler differs from the one
> >>                 used to build the kernel"; \
> >> -               echo >&2 "  The kernel was built by:
> >> $(CONFIG_CC_VERSION_TEXT)"; \ +               echo >&2 "  The kernel
> >> was built by: "$(CONFIG_CC_VERSION_TEXT)";" \
> >>                 echo >&2 "  You are using:
> >>                 $(CC_VERSION_TEXT)"; \
> >>         fi
> >>
> >> --
> >> MST
>
> I believe the patch proposed by Michael indeed fixes an issue
> introduced by 129ab0d2d9f (Makefile).
>
> Please see the following bug reports:
>
> https://elrepo.org/bugs/view.php?id=1215
> https://elrepo.org/bugs/view.php?id=1214
>
> and this forum post:
>
> https://www.phoronix.com/forums/forum/software/general-linux-open-source/
> 1303986-linux-5-17-rc1-released-a-little-bit-early-but-with-shiny-new-
> features#post1304036
>
> Akemi
>

I left a comment:
https://elrepo.org/bugs/view.php?id=1215


This is a bug in ELRepo.

The upstream kernel is good.

Please do not come back to this over again.
diff mbox series

Patch

diff --git a/Makefile b/Makefile
index daeb5c88b50b..d5c03c827825 100644
--- a/Makefile
+++ b/Makefile
@@ -1714,9 +1714,9 @@  PHONY += prepare
 # now expand this into a simple variable to reduce the cost of shell evaluations
 prepare: CC_VERSION_TEXT := $(CC_VERSION_TEXT)
 prepare:
-	@if [ "$(CC_VERSION_TEXT)" != "$(CONFIG_CC_VERSION_TEXT)" ]; then \
+	@if [ "$(CC_VERSION_TEXT)" != $(CONFIG_CC_VERSION_TEXT) ]; then \
 		echo >&2 "warning: the compiler differs from the one used to build the kernel"; \
-		echo >&2 "  The kernel was built by: $(CONFIG_CC_VERSION_TEXT)"; \
+		echo >&2 "  The kernel was built by: "$(CONFIG_CC_VERSION_TEXT)";" \
 		echo >&2 "  You are using:           $(CC_VERSION_TEXT)"; \
 	fi