On Fri, 14 May 2021 at 02:38, Randy Dunlap rdunlap@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@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
make --silent --keep-going --jobs=8 O=/home/tuxbuild/.cache/tuxmake/builds/current ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- 'CC=sccache aarch64-linux-gnu-gcc' 'HOSTCC=sccache gcc' /builds/linux/arch/arm64/mm/mmu.c:1341:5: error: redefinition of 'pud_set_huge' 1341 | int pud_set_huge(pud_t *pudp, phys_addr_t phys, pgprot_t prot) | ^~~~~~~~~~~~ In file included from /builds/linux/include/linux/mm.h:33, from /builds/linux/include/linux/pid_namespace.h:7, from /builds/linux/include/linux/ptrace.h:10, from /builds/linux/include/linux/elfcore.h:11, from /builds/linux/include/linux/crash_core.h:6, from /builds/linux/include/linux/kexec.h:18, from /builds/linux/arch/arm64/mm/mmu.c:15: /builds/linux/include/linux/pgtable.h:1387:19: note: previous definition of 'pud_set_huge' was here 1387 | static inline int pud_set_huge(pud_t *pud, phys_addr_t addr, pgprot_t prot) | ^~~~~~~~~~~~ /builds/linux/arch/arm64/mm/mmu.c:1369:5: error: redefinition of 'pud_clear_huge' 1369 | int pud_clear_huge(pud_t *pudp) | ^~~~~~~~~~~~~~ In file included from /builds/linux/include/linux/mm.h:33, from /builds/linux/include/linux/pid_namespace.h:7, from /builds/linux/include/linux/ptrace.h:10, from /builds/linux/include/linux/elfcore.h:11, from /builds/linux/include/linux/crash_core.h:6, from /builds/linux/include/linux/kexec.h:18, from /builds/linux/arch/arm64/mm/mmu.c:15: /builds/linux/include/linux/pgtable.h:1391:19: note: previous definition of 'pud_clear_huge' was here 1391 | static inline int pud_clear_huge(pud_t *pud) | ^~~~~~~~~~~~~~ make[3]: *** [/builds/linux/scripts/Makefile.build:273: arch/arm64/mm/mmu.o] Error 1
Reported-by: Naresh Kamboju naresh.kamboju@linaro.org
Steps to reproduce: ---------------------------
#!/bin/sh
# TuxMake is a command line tool and Python library that provides # portable and repeatable Linux kernel builds across a variety of # architectures, toolchains, kernel configurations, and make targets. # # TuxMake supports the concept of runtimes. # See https://docs.tuxmake.org/runtimes/, for that to work it requires # that you install podman or docker on your system. # # To install tuxmake on your system globally: # sudo pip3 install -U tuxmake # # See https://docs.tuxmake.org/ for complete documentation.
tuxmake --runtime podman --target-arch arm64 --toolchain gcc-9 --kconfig tinyconfig
-- Linaro LKFT https://lkft.linaro.org
On Fri, 14 May 2021 15:15:41 +0530 Naresh Kamboju naresh.kamboju@linaro.org wrote:
On Fri, 14 May 2021 at 02:38, Randy Dunlap rdunlap@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@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.