linux-next: build failure after merge of the kbuild tree

From: Stephen Rothwell
Date: Thu Oct 13 2022 - 21:42:28 EST


Hi all,

After merging the kbuild tree, today's linux-next build (i386 defconfig)
failed like this:

In file included from arch/x86/kernel/head_32.S:29:
arch/x86/include/asm/pgtable_32.h:68:5: error: "PTRS_PER_PMD" is not defined, evaluates to 0 [-Werror=undef]
68 | #if PTRS_PER_PMD > 1
| ^~~~~~~~~~~~
cc1: all warnings being treated as errors

Exposed by commit

0a7606a9832a ("kbuild: move -Wundef from KBUILD_CFLAGS to KBUILD_CPPFLAGS")

I have no idea what the root cause is. :-(

It is a great pity that this commit was not in linux-next before the
merge window opened. :-(

I have applied the following hack for today.

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Fri, 14 Oct 2022 12:34:34 +1100
Subject: [PATCH] i386: hack for "kbuild: move -Wundef from KBUILD_CFLAGS to KBUILD_CPPFLAGS"

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
arch/x86/include/asm/pgtable_32.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/pgtable_32.h b/arch/x86/include/asm/pgtable_32.h
index 7c9c968a42ef..0f3f186ca140 100644
--- a/arch/x86/include/asm/pgtable_32.h
+++ b/arch/x86/include/asm/pgtable_32.h
@@ -65,7 +65,7 @@ do { \
* With PAE paging (PTRS_PER_PMD > 1), we allocate PTRS_PER_PGD == 4 pages for
* the PMD's in addition to the pages required for the last level pagetables.
*/
-#if PTRS_PER_PMD > 1
+#if defined(PTRS_PER_PMD) && (PTRS_PER_PMD > 1)
#define PAGE_TABLE_SIZE(pages) (((pages) / PTRS_PER_PMD) + PTRS_PER_PGD)
#else
#define PAGE_TABLE_SIZE(pages) ((pages) / PTRS_PER_PGD)
--
2.35.1

--
Cheers,
Stephen Rothwell

Attachment: pgp3BEEPL0gfg.pgp
Description: OpenPGP digital signature