On 24 October 2018 at 09:22, Sedat Dilek <sedat.dilek@xxxxxxxxx> wrote: > On Tue, Oct 23, 2018 at 7:53 PM Nathan Chancellor > <natechancellor@xxxxxxxxx> wrote: >> >> On Fri, Oct 12, 2018 at 06:03:49PM -0700, Nathan Chancellor wrote: >> > When building the kernel with Clang, some disabled warnings appear >> > because this Makefile overrides KBUILD_CFLAGS for x86{,_64}. Add them to >> > this list so that the build is clean again. >> > >> > -Wpointer-sign was disabled for the whole kernel before the beginning >> > of git history. >> > >> > -Waddress-of-packed-member was disabled for the whole kernel in >> > commit bfb38988c51e ("kbuild: clang: Disable 'address-of-packed-member' >> > warning") and for x86/boot/compressed in commit 20c6c1890455 ("x86/boot: >> > Disable the address-of-packed-member compiler warning"). >> > >> > -Wgnu was disabled for the whole kernel in commit 61163efae020 ("kbuild: >> > LLVMLinux: Add Kbuild support for building kernel with Clang") and for >> > x86/boot/compressed in commit 6c3b56b19730 ("x86/boot: Disable Clang >> > warnings about GNU extensions"). >> > >> > Link: https://github.com/ClangBuiltLinux/linux/issues/112 >> > Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx> >> > --- >> > >> > Nick expressed concern that this Makefile is overwriting KBUILD_CFLAGS >> > and suggested potentially rewriting the x86 portion of this Makefile to >> > behave like the arm/arm64 one where problematic flags are filtered out. >> > While that comes to fruition, it would be nice for this folder to behave >> > like the rest of the kernel when it comes to this warnings so that the >> > build is cleaner, thus this patch. >> > >> > drivers/firmware/efi/libstub/Makefile | 5 ++++- >> > 1 file changed, 4 insertions(+), 1 deletion(-) >> > >> > diff --git a/drivers/firmware/efi/libstub/Makefile b/drivers/firmware/efi/libstub/Makefile >> > index c51627660dbb..d9845099635e 100644 >> > --- a/drivers/firmware/efi/libstub/Makefile >> > +++ b/drivers/firmware/efi/libstub/Makefile >> > @@ -9,7 +9,10 @@ cflags-$(CONFIG_X86_32) := -march=i386 >> > cflags-$(CONFIG_X86_64) := -mcmodel=small >> > cflags-$(CONFIG_X86) += -m$(BITS) -D__KERNEL__ -O2 \ >> > -fPIC -fno-strict-aliasing -mno-red-zone \ >> > - -mno-mmx -mno-sse -fshort-wchar >> > + -mno-mmx -mno-sse -fshort-wchar \ >> > + -Wno-pointer-sign \ >> > + $(call cc-disable-warning, address-of-packed-member) \ >> > + $(call cc-disable-warning, gnu) >> > >> > # arm64 uses the full KBUILD_CFLAGS so it's necessary to explicitly >> > # disable the stackleak plugin >> > -- >> > 2.19.1 >> > >> >> + Sedat for review/testing. > > Thanks Nathan. > > Reviewed-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> > Tested-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> > [ Reported-by: Sedat Dilek <sedat.dilek@xxxxxxxxx> ] > [ See duplicate "arch/x86/include/asm/processor.h: Warning > -Waddress-of-packed-member " > <https://github.com/ClangBuiltLinux/linux/issues/234> ] > Queued in efi/next Thanks