Message ID | 20211019223646.1146945-4-ndesaulniers@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | compat vdso cleanups | expand |
On Tue, Oct 19, 2021 at 03:36:45PM -0700, Nick Desaulniers wrote: > When running the following command without arm-linux-gnueabi-gcc in > one's $PATH, the following warning is observed: > > $ ARCH=arm64 CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make -j72 LLVM=1 mrproper > make[1]: arm-linux-gnueabi-gcc: No such file or directory > > This is because KCONFIG is not run for mrproper, so CONFIG_CC_IS_CLANG > is not set, and we end up eagerly evaluating various variables that try > to invoke CC_COMPAT. > > This is a similar problem to what was observed in > commit dc960bfeedb0 ("h8300: suppress error messages for 'make clean'") > > Reported-by: Lucas Henneman <henneman@google.com> > Suggested-by: Masahiro Yamada <masahiroy@kernel.org> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Nathan Chancellor <nathan@kernel.org> Tested-by: Nathan Chancellor <nathan@kernel.org> > --- > Changes v1 -> v2: > * Change to suppressing via redirecting stderr to /dev/null, as per > Masahiro. > * Add Masahiro's SB tag. > * Cite dc960bfeedb0. > > arch/arm64/kernel/vdso32/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile > index 1407516e041e..e478cebb9891 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -38,7 +38,8 @@ cc32-disable-warning = $(call try-run,\ > # As a result we set our own flags here. > > # KBUILD_CPPFLAGS and NOSTDINC_FLAGS from top-level Makefile > -VDSO_CPPFLAGS := -DBUILD_VDSO -D__KERNEL__ -nostdinc -isystem $(shell $(CC_COMPAT) -print-file-name=include) > +VDSO_CPPFLAGS := -DBUILD_VDSO -D__KERNEL__ -nostdinc > +VDSO_CPPFLAGS += -isystem $(shell $(CC_COMPAT) -print-file-name=include 2>/dev/null) > VDSO_CPPFLAGS += $(LINUXINCLUDE) > > # Common C and assembly flags > -- > 2.33.0.1079.g6e70778dc9-goog > >
On 10/20/21 12:36 AM, Nick Desaulniers wrote: > When running the following command without arm-linux-gnueabi-gcc in > one's $PATH, the following warning is observed: > > $ ARCH=arm64 CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make -j72 LLVM=1 mrproper > make[1]: arm-linux-gnueabi-gcc: No such file or directory > > This is because KCONFIG is not run for mrproper, so CONFIG_CC_IS_CLANG > is not set, and we end up eagerly evaluating various variables that try > to invoke CC_COMPAT. > > This is a similar problem to what was observed in > commit dc960bfeedb0 ("h8300: suppress error messages for 'make clean'") > > Reported-by: Lucas Henneman <henneman@google.com> > Suggested-by: Masahiro Yamada <masahiroy@kernel.org> > Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com> > --- > Changes v1 -> v2: > * Change to suppressing via redirecting stderr to /dev/null, as per > Masahiro. > * Add Masahiro's SB tag. > * Cite dc960bfeedb0. > > arch/arm64/kernel/vdso32/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile > index 1407516e041e..e478cebb9891 100644 > --- a/arch/arm64/kernel/vdso32/Makefile > +++ b/arch/arm64/kernel/vdso32/Makefile > @@ -38,7 +38,8 @@ cc32-disable-warning = $(call try-run,\ > # As a result we set our own flags here. > > # KBUILD_CPPFLAGS and NOSTDINC_FLAGS from top-level Makefile > -VDSO_CPPFLAGS := -DBUILD_VDSO -D__KERNEL__ -nostdinc -isystem $(shell $(CC_COMPAT) -print-file-name=include) > +VDSO_CPPFLAGS := -DBUILD_VDSO -D__KERNEL__ -nostdinc > +VDSO_CPPFLAGS += -isystem $(shell $(CC_COMPAT) -print-file-name=include 2>/dev/null) > VDSO_CPPFLAGS += $(LINUXINCLUDE) > > # Common C and assembly flags >
diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile index 1407516e041e..e478cebb9891 100644 --- a/arch/arm64/kernel/vdso32/Makefile +++ b/arch/arm64/kernel/vdso32/Makefile @@ -38,7 +38,8 @@ cc32-disable-warning = $(call try-run,\ # As a result we set our own flags here. # KBUILD_CPPFLAGS and NOSTDINC_FLAGS from top-level Makefile -VDSO_CPPFLAGS := -DBUILD_VDSO -D__KERNEL__ -nostdinc -isystem $(shell $(CC_COMPAT) -print-file-name=include) +VDSO_CPPFLAGS := -DBUILD_VDSO -D__KERNEL__ -nostdinc +VDSO_CPPFLAGS += -isystem $(shell $(CC_COMPAT) -print-file-name=include 2>/dev/null) VDSO_CPPFLAGS += $(LINUXINCLUDE) # Common C and assembly flags
When running the following command without arm-linux-gnueabi-gcc in one's $PATH, the following warning is observed: $ ARCH=arm64 CROSS_COMPILE_COMPAT=arm-linux-gnueabi- make -j72 LLVM=1 mrproper make[1]: arm-linux-gnueabi-gcc: No such file or directory This is because KCONFIG is not run for mrproper, so CONFIG_CC_IS_CLANG is not set, and we end up eagerly evaluating various variables that try to invoke CC_COMPAT. This is a similar problem to what was observed in commit dc960bfeedb0 ("h8300: suppress error messages for 'make clean'") Reported-by: Lucas Henneman <henneman@google.com> Suggested-by: Masahiro Yamada <masahiroy@kernel.org> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> --- Changes v1 -> v2: * Change to suppressing via redirecting stderr to /dev/null, as per Masahiro. * Add Masahiro's SB tag. * Cite dc960bfeedb0. arch/arm64/kernel/vdso32/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)