The patch titled Subject: arch: turn off -Werror for architectures with known warnings has been added to the -mm mm-nonmm-unstable branch. Its filename is arch-turn-off-werror-for-architectures-with-known-warnings.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/arch-turn-off-werror-for-architectures-with-known-warnings.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: "Arnd Bergmann" <arnd@xxxxxxxx> Subject: arch: turn off -Werror for architectures with known warnings Date: Thu, 30 Nov 2023 09:07:38 +0100 A couple of architectures enable -Werror for their own files regardless of CONFIG_WERROR but also have known warnings that fail the build with -Wmissing-prototypes enabled by default: arch/alpha/lib/memcpy.c:153:8: error: no previous prototype for 'memcpy' [-Werror=missing-prototypes] arch/alpha/kernel/irq.c:96:1: error: no previous prototype for 'handle_irq' [-Werror=missing-prototypes] arch/mips/kernel/signal.c:673:17: error: no previous prototype for â??sys_rt_sigreturnâ?? [-Werror=missing-prototypes] arch/mips/kernel/signal.c:636:17: error: no previous prototype for â??sys_sigreturnâ?? [-Werror=missing-prototypes] arch/mips/kernel/syscall.c:51:16: error: no previous prototype for â??sysm_pipeâ?? [-Werror=missing-prototypes] arch/mips/mm/fault.c:323:17: error: no previous prototype for â??do_page_faultâ?? [-Werror=missing-prototypes] arch/sparc/vdso/vma.c:246:12: warning: no previous prototype for â??init_vdso_imageâ?? [-Wmissing-prototypes]v arch/sparc/vdso/vdso32/../vclock_gettime.c:343:1: warning: no previous prototype for â??__vdso_gettimeofday_stickâ?? [-Wmissing-prototypes] arch/sparc/vdso/vclock_gettime.c:343:1: warning: no previous prototype for â??__vdso_gettimeofday_stickâ?? [-Wmissing-prototypes] arch/sparc/prom/p1275.c:52:6: warning: no previous prototype for â??prom_cif_initâ?? [-Wmissing-prototypes] arch/sparc/prom/misc_64.c:165:5: warning: no previous prototype for â??prom_get_mmu_ihandleâ?? [-Wmissing-prototypes] This appears to be an artifact from the times when this architecture code was better maintained that most device drivers and before CONFIG_WERROR was added. Now it just gets in the way, so remove all of these. Powerpc and x86 both still have their own Kconfig options to enable -Werror for some of their files. These architectures are better maintained than most and the options are easy to disable, so leave those untouched. Link: https://lkml.kernel.org/r/4be73872-c1f5-4c31-8201-712c19290a22@xxxxxxxxxxxxxxxx Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Reported-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxx> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- arch/alpha/lib/Makefile | 1 - arch/alpha/mm/Makefile | 2 -- arch/mips/Kbuild | 6 ------ arch/sparc/kernel/Makefile | 1 - arch/sparc/lib/Makefile | 1 - arch/sparc/mm/Makefile | 1 - arch/sparc/prom/Makefile | 1 - 7 files changed, 13 deletions(-) --- a/arch/alpha/lib/Makefile~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/alpha/lib/Makefile @@ -4,7 +4,6 @@ # asflags-y := $(KBUILD_CFLAGS) -ccflags-y := -Werror # Many of these routines have implementations tuned for ev6. # Choose them iff we're targeting ev6 specifically. --- a/arch/alpha/mm/Makefile~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/alpha/mm/Makefile @@ -3,6 +3,4 @@ # Makefile for the linux alpha-specific parts of the memory manager. # -ccflags-y := -Werror - obj-y := init.o fault.o --- a/arch/mips/Kbuild~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/mips/Kbuild @@ -1,10 +1,4 @@ # SPDX-License-Identifier: GPL-2.0 -# Fail on warnings - also for files referenced in subdirs -# -Werror can be disabled for specific files using: -# CFLAGS_<file.o> := -Wno-error -ifeq ($(W),) -subdir-ccflags-y := -Werror -endif # platform specific definitions include $(srctree)/arch/mips/Kbuild.platforms --- a/arch/sparc/kernel/Makefile~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/sparc/kernel/Makefile @@ -5,7 +5,6 @@ # asflags-y := -ansi -ccflags-y := -Werror # Undefine sparc when processing vmlinux.lds - it is used # And teach CPP we are doing $(BITS) builds (for this case) --- a/arch/sparc/lib/Makefile~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/sparc/lib/Makefile @@ -3,7 +3,6 @@ # asflags-y := -ansi -DST_DIV0=0x02 -ccflags-y := -Werror lib-$(CONFIG_SPARC32) += ashrdi3.o lib-$(CONFIG_SPARC32) += memcpy.o memset.o --- a/arch/sparc/mm/Makefile~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/sparc/mm/Makefile @@ -3,7 +3,6 @@ # asflags-y := -ansi -ccflags-y := -Werror obj-$(CONFIG_SPARC64) += ultra.o tlb.o tsb.o obj-y += fault_$(BITS).o --- a/arch/sparc/prom/Makefile~arch-turn-off-werror-for-architectures-with-known-warnings +++ a/arch/sparc/prom/Makefile @@ -3,7 +3,6 @@ # Linux. # asflags := -ansi -ccflags := -Werror lib-y := bootstr_$(BITS).o lib-y += init_$(BITS).o _ Patches currently in -mm which might be from arnd@xxxxxxxx are kexec-fix-kexec_file-dependencies.patch kexec-select-crypto-from-kexec_file-instead-of-depending-on-it.patch kexec-fix-kexec_file-dependencies-fix.patch arch-turn-off-werror-for-architectures-with-known-warnings.patch ida-make-ida_dump-static.patch jffs2-mark-__jffs2_dbg_superblock_counts-static.patch sched-fair-move-unused-stub-functions-to-header.patch x86-sta2x11-include-header-for-sta2x11_get_instance-prototype.patch usb-fsl-mph-dr-of-mark-fsl_usb2_mpc5121_init-static.patch makefileextrawarn-turn-on-missing-prototypes-globally.patch