mmotm 2021-05-12-21-46 uploaded (arch/x86/mm/pgtable.c)

Andrew Morton akpm at linux-foundation.org
Fri May 14 14:40:24 PDT 2021


On Fri, 14 May 2021 15:15:41 +0530 Naresh Kamboju <naresh.kamboju at linaro.org> wrote:

> On Fri, 14 May 2021 at 02:38, Randy Dunlap <rdunlap at infradead.org> wrote:
> >
> > On 5/13/21 1:47 PM, Andrew Morton wrote:
> > > On Thu, 13 May 2021 19:09:23 +0200 Christophe Leroy <christophe.leroy at csgroup.eu> wrote:
> > >
> > >>
> > >>
> > >>> on i386:
> > >>>
> > >>> ../arch/x86/mm/pgtable.c:703:5: error: redefinition of ‘pud_set_huge’
> > >>>   int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
> > >>>       ^~~~~~~~~~~~
> > >>> In file included from ../include/linux/mm.h:33:0,
> > >>>                   from ../arch/x86/mm/pgtable.c:2:
> > >>> ../include/linux/pgtable.h:1387:19: note: previous definition of ‘pud_set_huge’ was here
> > >>>   static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot)
> > >>>                     ^~~~~~~~~~~~
> > >>> ../arch/x86/mm/pgtable.c:758:5: error: redefinition of ‘pud_clear_huge’
> > >>>   int pud_clear_huge(pud_t *pud)
> > >>>       ^~~~~~~~~~~~~~
> > >>> In file included from ../include/linux/mm.h:33:0,
> > >>>                   from ../arch/x86/mm/pgtable.c:2:
> > >>> ../include/linux/pgtable.h:1391:19: note: previous definition of ‘pud_clear_huge’ was here
> > >>>   static inline int pud_clear_huge(pud_t *pud)
> 
> These errors are noticed on linux next 20210514 tag on arm64.
> Regressions found on arm64 for the following configs.
> 
>   - build/gcc-9-defconfig-904271f2
>   - build/gcc-9-tinyconfig
>   - build/gcc-8-allnoconfig
>   - build/gcc-10-allnoconfig
>   - build/clang-11-allnoconfig
>   - build/clang-10-allnoconfig
>   - build/clang-12-tinyconfig
>   - build/gcc-10-tinyconfig
>   - build/clang-10-tinyconfig
>   - build/clang-11-tinyconfig
>   - build/clang-12-allnoconfig
>   - build/gcc-8-tinyconfig
>   - build/gcc-9-allnoconfig

I can't get arm64 to compile at all ;(.  5.13-rc1 base with gcc-9.3.0,
tinyconfig:

In file included from ././include/linux/compiler_types.h:65,
                 from <command-line>:
./include/linux/smp.h:34:26: error: requested alignment '20' is not a positive power of 2
   34 |  __aligned(sizeof(struct __call_single_data));
      |                          ^~~~~~~~~~~~~~~~~~
./include/linux/compiler_attributes.h:52:68: note: in definition of macro '__aligned'
   52 | #define __aligned(x)                    __attribute__((__aligned__(x)))
      |                                                                    ^
In file included from ./arch/arm64/include/asm/thread_info.h:17,
                 from ./include/linux/thread_info.h:59,
                 from ./arch/arm64/include/asm/preempt.h:5,
                 from ./include/linux/preempt.h:78,
                 from ./include/linux/smp.h:110,
                 from ./include/linux/lockdep.h:14,
                 from ./include/linux/mutex.h:17,
                 from ./include/linux/kernfs.h:12,
                 from ./include/linux/sysfs.h:16,
                 from ./include/linux/kobject.h:20,
                 from ./include/linux/of.h:17,
                 from ./include/linux/irqdomain.h:35,
                 from ./include/linux/acpi.h:13,
                 from ./include/acpi/apei.h:9,
                 from ./include/acpi/ghes.h:5,
                 from ./include/linux/arm_sdei.h:8,
                 from arch/arm64/kernel/asm-offsets.c:10:
./arch/arm64/include/asm/memory.h: In function 'kaslr_offset':
./arch/arm64/include/asm/memory.h:65:33: warning: left shift count >= width of type [-Wshift-count-overflow]
   65 | #define _PAGE_END(va)  (-(UL(1) << ((va) - 1)))
      |                                 ^~
./arch/arm64/include/asm/memory.h:47:31: note: in expansion of macro '_PAGE_END'
   47 | #define BPF_JIT_REGION_START (_PAGE_END(VA_BITS_MIN))
      |                               ^~~~~~~~~
./arch/arm64/include/asm/memory.h:49:29: note: in expansion of macro 'BPF_JIT_REGION_START'
   49 | #define BPF_JIT_REGION_END (BPF_JIT_REGION_START + BPF_JIT_REGION_SIZE)
      |                             ^~~~~~~~~~~~~~~~~~~~
./arch/arm64/include/asm/memory.h:51:25: note: in expansion of macro 'BPF_JIT_REGION_END'
   51 | #define MODULES_VADDR  (BPF_JIT_REGION_END)
      |                         ^~~~~~~~~~~~~~~~~~
./arch/arm64/include/asm/memory.h:50:23: note: in expansion of macro 'MODULES_VADDR'
   50 | #define MODULES_END  (MODULES_VADDR + MODULES_VSIZE)
      |                       ^~~~~~~~~~~~~
./arch/arm64/include/asm/memory.h:46:24: note: in expansion of macro 'MODULES_END'
   46 | #define KIMAGE_VADDR  (MODULES_END)
      |                        ^~~~~~~~~~~
./arch/arm64/include/asm/memory.h:196:24: note: in expansion of macro 'KIMAGE_VADDR'
  196 |  return kimage_vaddr - KIMAGE_VADDR;
      |                        ^~~~~~~~~~~~
In file included from ./arch/arm64/include/asm/thread_info.h:17,
                 from ./include/linux/thread_info.h:59,
                 from ./arch/arm64/include/asm/preempt.h:5,
                 from ./include/linux/preempt.h:78,
                 from ./include/linux/smp.h:110,
                 from ./include/linux/lockdep.h:14,
                 from ./include/linux/mutex.h:17,
                 from ./include/linux/kernfs.h:12,
                 from ./include/linux/sysfs.h:16,
                 from ./include/linux/kobject.h:20,
                 from ./include/linux/of.h:17,
                 from ./include/linux/irqdomain.h:35,
                 from ./include/linux/acpi.h:13,
                 from ./include/acpi/apei.h:9,
                 from ./include/acpi/ghes.h:5,
                 from ./include/linux/arm_sdei.h:8,
                 from arch/arm64/kernel/asm-offsets.c:10:

and lots of other errors beside that.



More information about the linux-arm-kernel mailing list