Re: mmotm 2021-05-12-21-46 uploaded (arch/x86/mm/pgtable.c)
From: Naresh Kamboju
Date: Fri May 14 2021 - 05:45:57 EST
On Fri, 14 May 2021 at 02:38, Randy Dunlap <rdunlap@xxxxxxxxxxxxx> wrote:
>
> On 5/13/21 1:47 PM, Andrew Morton wrote:
> > On Thu, 13 May 2021 19:09:23 +0200 Christophe Leroy <christophe.leroy@xxxxxxxxxx> 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@xxxxxxxxxx>
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