On Fri, 15 Jan 2021 at 20:26, Nathan Chancellor <natechancellor@xxxxxxxxx> wrote: > > Commit ee67855ecd9d ("MIPS: vdso: Allow clang's --target flag in VDSO > cflags") allowed the '--target=' flag from the main Makefile to filter > through to the vDSO. However, it did not bring any of the other clang > specific flags for controlling the integrated assembler and the GNU > tools locations (--prefix=, --gcc-toolchain=, and -no-integrated-as). > Without these, we will get a warning (visible with tinyconfig): > > arch/mips/vdso/elf.S:14:1: warning: DWARF2 only supports one section per > compilation unit > .pushsection .note.Linux, "a",@note ; .balign 4 ; .long 2f - 1f ; .long > 4484f - 3f ; .long 0 ; 1:.asciz "Linux" ; 2:.balign 4 ; 3: > ^ > arch/mips/vdso/elf.S:34:2: warning: DWARF2 only supports one section per > compilation unit > .section .mips_abiflags, "a" > ^ > > All of these flags are bundled up under CLANG_FLAGS in the main Makefile > and exported so that they can be added to Makefiles that set their own > CFLAGS. Use this value instead of filtering out '--target=' so there is > no warning and all of the tools are properly used. > > Cc: stable@xxxxxxxxxxxxxxx > Fixes: ee67855ecd9d ("MIPS: vdso: Allow clang's --target flag in VDSO cflags") > Link: https://github.com/ClangBuiltLinux/linux/issues/1256 > Reported-by: Anders Roxell <anders.roxell@xxxxxxxxxx> > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> Tested-by: Anders Roxell <anders.roxell@xxxxxxxxxx> Cheers, Anders > --- > arch/mips/vdso/Makefile | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/arch/mips/vdso/Makefile b/arch/mips/vdso/Makefile > index 5810cc12bc1d..2131d3fd7333 100644 > --- a/arch/mips/vdso/Makefile > +++ b/arch/mips/vdso/Makefile > @@ -16,16 +16,13 @@ ccflags-vdso := \ > $(filter -march=%,$(KBUILD_CFLAGS)) \ > $(filter -m%-float,$(KBUILD_CFLAGS)) \ > $(filter -mno-loongson-%,$(KBUILD_CFLAGS)) \ > + $(CLANG_FLAGS) \ > -D__VDSO__ > > ifndef CONFIG_64BIT > ccflags-vdso += -DBUILD_VDSO32 > endif > > -ifdef CONFIG_CC_IS_CLANG > -ccflags-vdso += $(filter --target=%,$(KBUILD_CFLAGS)) > -endif > - > # > # The -fno-jump-tables flag only prevents the compiler from generating > # jump tables but does not prevent the compiler from emitting absolute > > base-commit: 7b490a8ab0f2d3ab8d838a4ff22ae86edafd34a1 > -- > 2.30.0 >