Benjamin Herrenschmidt <b...@kernel.crashing.org> writes: > diff --git a/arch/powerpc/include/asm/elf.h b/arch/powerpc/include/asm/elf.h > index 730c27e..a128836 100644 > --- a/arch/powerpc/include/asm/elf.h > +++ b/arch/powerpc/include/asm/elf.h > @@ -156,6 +163,14 @@ do { > \ > NEW_AUX_ENT(AT_ICACHEBSIZE, icache_bsize); \ > NEW_AUX_ENT(AT_UCACHEBSIZE, ucache_bsize); \ > VDSO_AUX_ENT(AT_SYSINFO_EHDR, current->mm->context.vdso_base); \ > + NEW_AUX_ENT(AT_L1I_CACHESIZE, ppc64_caches.l1i.size); \ > + NEW_AUX_ENT(AT_L1I_CACHEGEOMETRY, get_cache_shape(l1i)); \ > + NEW_AUX_ENT(AT_L1D_CACHESIZE, ppc64_caches.l1i.size); \ > + NEW_AUX_ENT(AT_L1D_CACHEGEOMETRY, get_cache_shape(l1i)); \ > + NEW_AUX_ENT(AT_L2_CACHESIZE, ppc64_caches.l2.size); \ > + NEW_AUX_ENT(AT_L2_CACHEGEOMETRY, get_cache_shape(l2)); \ > + NEW_AUX_ENT(AT_L3_CACHESIZE, ppc64_caches.l3.size); \ > + NEW_AUX_ENT(AT_L3_CACHEGEOMETRY, get_cache_shape(l3)); \ > } while (0) This breaks the 32-bit build:
../fs/binfmt_elf.c: In function ‘create_elf_tables’: ../arch/powerpc/include/asm/elf.h:166:32: error: ‘ppc64_caches’ undeclared (first use in this function) NEW_AUX_ENT(AT_L1I_CACHESIZE, ppc64_caches.l1i.size); \ ^ ../fs/binfmt_elf.c:222:26: note: in definition of macro ‘NEW_AUX_ENT’ elf_info[ei_index++] = val; \ ^~~ ../fs/binfmt_elf.c:232:2: note: in expansion of macro ‘ARCH_DLINFO’ ARCH_DLINFO; ^~~~~~~~~~~ ../arch/powerpc/include/asm/elf.h:166:32: note: each undeclared identifier is reported only once for each function it appears in NEW_AUX_ENT(AT_L1I_CACHESIZE, ppc64_caches.l1i.size); \ ^ ../fs/binfmt_elf.c:222:26: note: in definition of macro ‘NEW_AUX_ENT’ elf_info[ei_index++] = val; \ ^~~ ../fs/binfmt_elf.c:232:2: note: in expansion of macro ‘ARCH_DLINFO’ ARCH_DLINFO; ^~~~~~~~~~~ make[2]: *** [fs/binfmt_elf.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [fs] Error 2 make: *** [sub-make] Error 2 Will need some more macro foo. cheers