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

Reply via email to