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

2 messages, 2 authors, 2021-05-14 · open the first message on its own page

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

From: Naresh Kamboju <hidden>
Date: 2021-05-14 09:45:56

On Fri, 14 May 2021 at 02:38, Randy Dunlap [off-list ref] wrote:
On 5/13/21 1:47 PM, Andrew Morton wrote:
quoted
On Thu, 13 May 2021 19:09:23 +0200 Christophe Leroy [off-list ref] wrote:
quoted
quoted
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 <redacted>


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

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-05-14 21:40:27

On Fri, 14 May 2021 15:15:41 +0530 Naresh Kamboju [off-list ref] wrote:
On Fri, 14 May 2021 at 02:38, Randy Dunlap [off-list ref] wrote:
quoted
On 5/13/21 1:47 PM, Andrew Morton wrote:
quoted
On Thu, 13 May 2021 19:09:23 +0200 Christophe Leroy [off-list ref] wrote:
quoted
quoted
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.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help