Messages in this thread | | | From | Masahiro Yamada <> | Date | Wed, 10 Mar 2021 04:55:00 +0900 | Subject | Re: [PATCH 2/2] Makefile: Only specify '--prefix=' when building with clang + GNU as |
| |
On Wed, Mar 3, 2021 at 6:07 AM Nathan Chancellor <nathan@kernel.org> wrote: > > When building with LLVM_IAS=1, there is no point to specifying > '--prefix=' because that flag is only used to find the cross assembler, > which is clang itself when building with LLVM_IAS=1. All of the other > tools are invoked directly from PATH or a full path specified via the > command line, which does not depend on the value of '--prefix='. > > Sharing commands to reproduce issues becomes a little bit easier without > a '--prefix=' value because that '--prefix=' value is specific to a > user's machine due to it being an absolute path. > > Signed-off-by: Nathan Chancellor <nathan@kernel.org>
I was tricked by a couple of Reviewed-by/Tested-by tags.
With this patch applied, the code looks as follows:
ifneq ($(CROSS_COMPILE),) CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) ifneq ($(LLVM_IAS),1) GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit)) CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) CLANG_FLAGS += -no-integrated-as endif endif
For the native build (empty CROSS_COMPILE), you cannot add -no-integrated-as.
I dropped this from my tree.
Is the correct code as follows?
ifneq ($(LLVM_IAS),1) CLANG_FLAGS += -no-integrated-as ifneq ($(CROSS_COMPILE),) CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit)) CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) endif endif
> --- > Makefile | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index c20f0ad8be73..0413b8c594cd 100644 > --- a/Makefile > +++ b/Makefile > @@ -566,12 +566,12 @@ CC_VERSION_TEXT = $(shell $(CC) --version 2>/dev/null | head -n 1 | sed 's/\#//g > ifneq ($(findstring clang,$(CC_VERSION_TEXT)),) > ifneq ($(CROSS_COMPILE),) > CLANG_FLAGS += --target=$(notdir $(CROSS_COMPILE:%-=%)) > +ifneq ($(LLVM_IAS),1) > GCC_TOOLCHAIN_DIR := $(dir $(shell which $(CROSS_COMPILE)elfedit)) > CLANG_FLAGS += --prefix=$(GCC_TOOLCHAIN_DIR)$(notdir $(CROSS_COMPILE)) > -endif > -ifneq ($(LLVM_IAS),1) > CLANG_FLAGS += -no-integrated-as > endif > +endif > CLANG_FLAGS += -Werror=unknown-warning-option > KBUILD_CFLAGS += $(CLANG_FLAGS) > KBUILD_AFLAGS += $(CLANG_FLAGS) > -- > 2.31.0.rc0.75.gec125d1bc1 >
-- Best Regards Masahiro Yamada
| |