Hello, On (02/03/16 16:27), Stephen Rothwell wrote: > Hi Andrew, > > After merging the akpm-current tree, today's linux-next build (arm > allnoconfig) failed like this: > > In file included from kernel/memremap.c:17:0: > include/linux/pfn_t.h:108:7: error: 'pud_mkdevmap' declared as function returning an array > > Caused by commit > > a27da20ed50e ("mm: add support for PUD-sized transparent hugepages") > > Discovered after the linux-next release. .config CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD=y # CONFIG_TRANSPARENT_HUGEPAGE is not set makes the build unhappy fs/proc/task_mmu.c: In function ‘smaps_pud_range’: fs/proc/task_mmu.c:596:6: error: implicit declaration of function ‘is_huge_zero_pud’ [-Werror=implicit-function-declaration] if (is_huge_zero_pud(*pud)) ^ seems there is no ‘is_huge_zero_pud’ for !CONFIG_TRANSPARENT_HUGEPAGE. and a bunch of other errors as a result In file included from include/asm-generic/bug.h:4:0, from ./arch/x86/include/asm/bug.h:35, from include/linux/bug.h:4, from include/linux/mmdebug.h:4, from include/linux/mm.h:8, from fs/proc/task_mmu.c:1: include/linux/compiler.h:505:38: error: call to ‘__compiletime_assert_599’ declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:488:4: note: in definition of macro ‘__compiletime_assert’ prefix ## suffix(); \ ^ include/linux/compiler.h:505:2: note: in expansion of macro ‘_compiletime_assert’ _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/bug.h:50:37: note: in expansion of macro ‘compiletime_assert’ #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/bug.h:84:21: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^ include/linux/huge_mm.h:221:27: note: in expansion of macro ‘BUILD_BUG’ #define HPAGE_PUD_SIZE ({ BUILD_BUG(); 0; }) ^ fs/proc/task_mmu.c:599:19: note: in expansion of macro ‘HPAGE_PUD_SIZE’ mss->resident += HPAGE_PUD_SIZE; ^ In function ‘smaps_pud_range.part.10’, inlined from ‘smaps_pud_range’: include/linux/compiler.h:505:38: error: call to ‘__compiletime_assert_602’ declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:488:4: note: in definition of macro ‘__compiletime_assert’ prefix ## suffix(); \ ^ include/linux/compiler.h:505:2: note: in expansion of macro ‘_compiletime_assert’ _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/bug.h:50:37: note: in expansion of macro ‘compiletime_assert’ #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/bug.h:84:21: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^ include/linux/huge_mm.h:221:27: note: in expansion of macro ‘BUILD_BUG’ #define HPAGE_PUD_SIZE ({ BUILD_BUG(); 0; }) ^ fs/proc/task_mmu.c:602:25: note: in expansion of macro ‘HPAGE_PUD_SIZE’ mss->shared_dirty += HPAGE_PUD_SIZE; ^ include/linux/compiler.h:505:38: error: call to ‘__compiletime_assert_604’ declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:488:4: note: in definition of macro ‘__compiletime_assert’ prefix ## suffix(); \ ^ include/linux/compiler.h:505:2: note: in expansion of macro ‘_compiletime_assert’ _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/bug.h:50:37: note: in expansion of macro ‘compiletime_assert’ #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/bug.h:84:21: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^ include/linux/huge_mm.h:221:27: note: in expansion of macro ‘BUILD_BUG’ #define HPAGE_PUD_SIZE ({ BUILD_BUG(); 0; }) ^ fs/proc/task_mmu.c:604:25: note: in expansion of macro ‘HPAGE_PUD_SIZE’ mss->shared_clean += HPAGE_PUD_SIZE; ^ fs/proc/task_mmu.c: In function ‘smaps_pud_range’: include/linux/compiler.h:505:38: error: call to ‘__compiletime_assert_607’ declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:488:4: note: in definition of macro ‘__compiletime_assert’ prefix ## suffix(); \ ^ include/linux/compiler.h:505:2: note: in expansion of macro ‘_compiletime_assert’ _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/bug.h:50:37: note: in expansion of macro ‘compiletime_assert’ #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/bug.h:84:21: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^ include/linux/huge_mm.h:221:27: note: in expansion of macro ‘BUILD_BUG’ #define HPAGE_PUD_SIZE ({ BUILD_BUG(); 0; }) ^ fs/proc/task_mmu.c:607:26: note: in expansion of macro ‘HPAGE_PUD_SIZE’ mss->private_dirty += HPAGE_PUD_SIZE; ^ include/linux/compiler.h:505:38: error: call to ‘__compiletime_assert_609’ declared with attribute error: BUILD_BUG failed _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/compiler.h:488:4: note: in definition of macro ‘__compiletime_assert’ prefix ## suffix(); \ ^ include/linux/compiler.h:505:2: note: in expansion of macro ‘_compiletime_assert’ _compiletime_assert(condition, msg, __compiletime_assert_, __LINE__) ^ include/linux/bug.h:50:37: note: in expansion of macro ‘compiletime_assert’ #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) ^ include/linux/bug.h:84:21: note: in expansion of macro ‘BUILD_BUG_ON_MSG’ #define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") ^ include/linux/huge_mm.h:221:27: note: in expansion of macro ‘BUILD_BUG’ #define HPAGE_PUD_SIZE ({ BUILD_BUG(); 0; }) ^ fs/proc/task_mmu.c:609:26: note: in expansion of macro ‘HPAGE_PUD_SIZE’ mss->private_clean += HPAGE_PUD_SIZE; ^ cc1: some warnings being treated as errors scripts/Makefile.build:258: recipe for target 'fs/proc/task_mmu.o' failed make[2]: *** [fs/proc/task_mmu.o] Error 1 scripts/Makefile.build:407: recipe for target 'fs/proc' failed make[1]: *** [fs/proc] Error 2 make[1]: *** Waiting for unfinished jobs.... -ss -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html