Message ID | 20210309162545.637647-1-masahiroy@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | kbuild: dummy-tools: adjust to scripts/cc-version.sh | expand |
On Wed, Mar 10, 2021 at 01:25:45AM +0900, Masahiro Yamada wrote: > Commit aec6c60a01d3 ("kbuild: check the minimum compiler version in > Kconfig") changed how the script detects the compiler version. > > Get 'make CROSS_COMPILE=scripts/dummy-tools/' back working again. > > Fixes: aec6c60a01d3 ("kbuild: check the minimum compiler version in Kconfig") > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Tested-by: Nathan Chancellor <nathan@kernel.org> > --- > > Perhaps, Jiri may have already noticed this issue, and have a similar patch. > I just checked ML, but I did not find a patch to fix this. > > > scripts/dummy-tools/gcc | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc > index 7b10332b23ba..39e65fee59bd 100755 > --- a/scripts/dummy-tools/gcc > +++ b/scripts/dummy-tools/gcc > @@ -57,9 +57,9 @@ if arg_contain --version "$@"; then > fi > > if arg_contain -E "$@"; then > - # For scripts/gcc-version.sh; This emulates GCC 20.0.0 > + # For scripts/cc-version.sh; This emulates GCC 20.0.0 > if arg_contain - "$@"; then > - sed 's/^__GNUC__$/20/; s/^__GNUC_MINOR__$/0/; s/^__GNUC_PATCHLEVEL__$/0/' > + sed -n '/^GCC/{s/__GNUC__/20/; s/__GNUC_MINOR__/0/; s/__GNUC_PATCHLEVEL__/0/; p;}' > exit 0 > else > echo "no input files" >&2 > -- > 2.27.0 >
On Tue, Mar 9, 2021 at 5:29 PM Masahiro Yamada <masahiroy@kernel.org> wrote: > > Commit aec6c60a01d3 ("kbuild: check the minimum compiler version in > Kconfig") changed how the script detects the compiler version. > > Get 'make CROSS_COMPILE=scripts/dummy-tools/' back working again. > > Fixes: aec6c60a01d3 ("kbuild: check the minimum compiler version in Kconfig") > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Acked-by: Miguel Ojeda <ojeda@kernel.org> Cheers, Miguel
On 09. 03. 21, 17:25, Masahiro Yamada wrote: > Commit aec6c60a01d3 ("kbuild: check the minimum compiler version in > Kconfig") changed how the script detects the compiler version. > > Get 'make CROSS_COMPILE=scripts/dummy-tools/' back working again. > > Fixes: aec6c60a01d3 ("kbuild: check the minimum compiler version in Kconfig") > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > Perhaps, Jiri may have already noticed this issue, and have a similar patch. > I just checked ML, but I did not find a patch to fix this. No, as I was making it work on 5.11 :). BTW there is one remaining issue I came across: config PAHOLE_HAS_SPLIT_BTF def_bool $(success, test `$(PAHOLE) --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/'` -ge "119") and in Makefile we see: PAHOLE = pahole and not something like: PAHOLE = $(CROSS_COMPILE)pahole Any idea how to fix this? > scripts/dummy-tools/gcc | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc > index 7b10332b23ba..39e65fee59bd 100755 > --- a/scripts/dummy-tools/gcc > +++ b/scripts/dummy-tools/gcc > @@ -57,9 +57,9 @@ if arg_contain --version "$@"; then > fi > > if arg_contain -E "$@"; then > - # For scripts/gcc-version.sh; This emulates GCC 20.0.0 > + # For scripts/cc-version.sh; This emulates GCC 20.0.0 > if arg_contain - "$@"; then > - sed 's/^__GNUC__$/20/; s/^__GNUC_MINOR__$/0/; s/^__GNUC_PATCHLEVEL__$/0/' > + sed -n '/^GCC/{s/__GNUC__/20/; s/__GNUC_MINOR__/0/; s/__GNUC_PATCHLEVEL__/0/; p;}' > exit 0 > else > echo "no input files" >&2 >
On Wed, Mar 10, 2021 at 1:54 PM Jiri Slaby <jirislaby@kernel.org> wrote: > > On 09. 03. 21, 17:25, Masahiro Yamada wrote: > > Commit aec6c60a01d3 ("kbuild: check the minimum compiler version in > > Kconfig") changed how the script detects the compiler version. > > > > Get 'make CROSS_COMPILE=scripts/dummy-tools/' back working again. > > > > Fixes: aec6c60a01d3 ("kbuild: check the minimum compiler version in Kconfig") > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > --- > > > > Perhaps, Jiri may have already noticed this issue, and have a similar patch. > > I just checked ML, but I did not find a patch to fix this. > > No, as I was making it work on 5.11 :). > > BTW there is one remaining issue I came across: > config PAHOLE_HAS_SPLIT_BTF > def_bool $(success, test `$(PAHOLE) --version | sed -E > 's/v([0-9]+)\.([0-9]+)/\1\2/'` -ge "119") I think I said this somewhere, but PAHOLE_HAS_SPLIT_BTF should be deleted. Checking the pahole version in Kconfig is wrong, I believe. > > and in Makefile we see: > PAHOLE = pahole > > and not something like: > PAHOLE = $(CROSS_COMPILE)pahole I do not think $(CROSS_COMPILE)pahole makes sense. As far as I test, pahole works for fereing architecture objects too. The DWARF format is identical across architectures. For example, for the following code: $ cat test.c struct sample { char a[2]; long l; int i; void *p; short s; } sample; $ gcc -g -c -o test.o test.c; pahole test.o $ arm-linux-gnueabihf-gcc -g -c -o test.o test.c; pahole test.o $ aarch64-linux-gnu-gcc -g -c -o test.o test.c; pahole test.o All worked for me. > Any idea how to fix this? > > > scripts/dummy-tools/gcc | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc > > index 7b10332b23ba..39e65fee59bd 100755 > > --- a/scripts/dummy-tools/gcc > > +++ b/scripts/dummy-tools/gcc > > @@ -57,9 +57,9 @@ if arg_contain --version "$@"; then > > fi > > > > if arg_contain -E "$@"; then > > - # For scripts/gcc-version.sh; This emulates GCC 20.0.0 > > + # For scripts/cc-version.sh; This emulates GCC 20.0.0 > > if arg_contain - "$@"; then > > - sed 's/^__GNUC__$/20/; s/^__GNUC_MINOR__$/0/; s/^__GNUC_PATCHLEVEL__$/0/' > > + sed -n '/^GCC/{s/__GNUC__/20/; s/__GNUC_MINOR__/0/; s/__GNUC_PATCHLEVEL__/0/; p;}' > > exit 0 > > else > > echo "no input files" >&2 > > > > > -- > js > suse labs -- Best Regards Masahiro Yamada
diff --git a/scripts/dummy-tools/gcc b/scripts/dummy-tools/gcc index 7b10332b23ba..39e65fee59bd 100755 --- a/scripts/dummy-tools/gcc +++ b/scripts/dummy-tools/gcc @@ -57,9 +57,9 @@ if arg_contain --version "$@"; then fi if arg_contain -E "$@"; then - # For scripts/gcc-version.sh; This emulates GCC 20.0.0 + # For scripts/cc-version.sh; This emulates GCC 20.0.0 if arg_contain - "$@"; then - sed 's/^__GNUC__$/20/; s/^__GNUC_MINOR__$/0/; s/^__GNUC_PATCHLEVEL__$/0/' + sed -n '/^GCC/{s/__GNUC__/20/; s/__GNUC_MINOR__/0/; s/__GNUC_PATCHLEVEL__/0/; p;}' exit 0 else echo "no input files" >&2
Commit aec6c60a01d3 ("kbuild: check the minimum compiler version in Kconfig") changed how the script detects the compiler version. Get 'make CROSS_COMPILE=scripts/dummy-tools/' back working again. Fixes: aec6c60a01d3 ("kbuild: check the minimum compiler version in Kconfig") Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- Perhaps, Jiri may have already noticed this issue, and have a similar patch. I just checked ML, but I did not find a patch to fix this. scripts/dummy-tools/gcc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)