* Linux Kernel Mailing List wrote: > Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 > Commit: 2f569afd9ced9ebec9a6eb3dbf6f83429be0a7b4 > Parent: 13214adf738abc92b0a00c0763fd3be79eebaa7c > Author: Martin Schwidefsky > AuthorDate: Fri Feb 8 04:22:04 2008 -0800 > Committer: Linus Torvalds > CommitDate: Fri Feb 8 09:22:42 2008 -0800 > > CONFIG_HIGHPTE vs. sub-page page tables. this patch broke the 32-bit x86 build after just 2 randconfig iterations: In file included from include/linux/memcontrol.h:25, from include/linux/swap.h:9, from include/linux/suspend.h:8, from arch/x86/kernel/asm-offsets_32.c:12, from arch/x86/kernel/asm-offsets.c:3: include/linux/mm.h:1151: error: expected declaration specifiers or '...' before 'pgtable_t' config attached. It seems all !PAE 32-bit kernel builds are broken due to this. The patch below fixes it. Ingo -------------------> Subject: x86: pgtable_t build fix From: Ingo Molnar Signed-off-by: Ingo Molnar --- include/asm-x86/page_32.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) Index: linux/include/asm-x86/page_32.h =================================================================== --- linux.orig/include/asm-x86/page_32.h +++ linux/include/asm-x86/page_32.h @@ -49,11 +49,13 @@ typedef unsigned long phys_addr_t; typedef union { pteval_t pte, pte_low; } pte_t; -typedef struct page *pgtable_t; - #endif /* __ASSEMBLY__ */ #endif /* CONFIG_X86_PAE */ +#ifndef __ASSEMBLY__ +typedef struct page *pgtable_t; +#endif + #ifdef CONFIG_HUGETLB_PAGE #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA #endif