While building sh defconfig with gcc-11 the following build warnings / errors noticed on Linux next-20240328 tag.
sh: build: * gcc-11-shx3_defconfig - Failed * gcc-11-dreamcast_defconfig - Failed * gcc-11-defconfig - Failed
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Build error: --------- arch/sh/kernel/cpu/sh4/fpu.c:389:6: warning: no previous prototype for 'float_raise' [-Wmissing-prototypes] 389 | void float_raise(unsigned int flags) | ^~~~~~~~~~~ arch/sh/kernel/cpu/sh4/fpu.c:394:5: warning: no previous prototype for 'float_rounding_mode' [-Wmissing-prototypes] 394 | int float_rounding_mode(void) | ^~~~~~~~~~~~~~~~~~~ In file included from include/linux/thread_info.h:27, from include/asm-generic/preempt.h:5, from ./arch/sh/include/generated/asm/preempt.h:1, from include/linux/preempt.h:79, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/mm.h:7, from arch/sh/mm/cache-sh4.c:14: arch/sh/mm/cache-sh4.c: In function 'sh4_flush_cache_page': arch/sh/mm/cache-sh4.c:250:51: error: too few arguments to function 'folio_flags' 250 | test_bit(PG_dcache_clean, folio_flags(folio)) && | ^~~~~~~~~~~
steps to reproduce: ---------- # tuxmake --runtime podman --target-arch sh --toolchain gcc-11 --kconfig defconfig
Links: - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240328/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240328/tes... - https://qa-reports.linaro.org/lkft/linux-next-master/build/next-20240328/tes...
-- Linaro LKFT https://lkft.linaro.org
On Thu, 28 Mar 2024 19:12:26 +0530 Naresh Kamboju naresh.kamboju@linaro.org wrote:
While building sh defconfig with gcc-11 the following build warnings / errors noticed on Linux next-20240328 tag.
sh: build: * gcc-11-shx3_defconfig - Failed * gcc-11-dreamcast_defconfig - Failed * gcc-11-defconfig - Failed
Reported-by: Linux Kernel Functional Testing lkft@linaro.org
Build error:
arch/sh/kernel/cpu/sh4/fpu.c:389:6: warning: no previous prototype for 'float_raise' [-Wmissing-prototypes] 389 | void float_raise(unsigned int flags) | ^~~~~~~~~~~ arch/sh/kernel/cpu/sh4/fpu.c:394:5: warning: no previous prototype for 'float_rounding_mode' [-Wmissing-prototypes] 394 | int float_rounding_mode(void) | ^~~~~~~~~~~~~~~~~~~ In file included from include/linux/thread_info.h:27, from include/asm-generic/preempt.h:5, from ./arch/sh/include/generated/asm/preempt.h:1, from include/linux/preempt.h:79, from include/linux/spinlock.h:56, from include/linux/mmzone.h:8, from include/linux/gfp.h:7, from include/linux/mm.h:7, from arch/sh/mm/cache-sh4.c:14: arch/sh/mm/cache-sh4.c: In function 'sh4_flush_cache_page': arch/sh/mm/cache-sh4.c:250:51: error: too few arguments to function 'folio_flags' 250 | test_bit(PG_dcache_clean, folio_flags(folio)) && | ^~~~~~~~~~~
Thanks.
--- a/arch/sh/mm/cache-sh4.c~sh-remove-use-of-pg_arch_1-on-individual-pages-fix +++ a/arch/sh/mm/cache-sh4.c @@ -247,7 +247,7 @@ static void sh4_flush_cache_page(void *a * another ASID than the current one. */ map_coherent = (current_cpu_data.dcache.n_aliases && - test_bit(PG_dcache_clean, folio_flags(folio)) && + test_bit(PG_dcache_clean, folio_flags(folio, 0)) && page_mapped(page)); if (map_coherent) vaddr = kmap_coherent(page, address); _
On Thu, Mar 28, 2024 at 11:46:12AM -0700, Andrew Morton wrote:
--- a/arch/sh/mm/cache-sh4.c~sh-remove-use-of-pg_arch_1-on-individual-pages-fix +++ a/arch/sh/mm/cache-sh4.c @@ -247,7 +247,7 @@ static void sh4_flush_cache_page(void *a * another ASID than the current one. */ map_coherent = (current_cpu_data.dcache.n_aliases &&
test_bit(PG_dcache_clean, folio_flags(folio)) &&
test_bit(PG_dcache_clean, folio_flags(folio, 0)) &&
Yup. https://lore.kernel.org/linux-mm/ZgRqLDP7yVCT2dnh@casper.infradead.org/