Re: [next] arm64: mte.c:176:17: error: 'struct thread_struct' has no member named 'sctlr_tcf0'

From: Steven Price
Date: Mon Nov 30 2020 - 10:58:17 EST


On 30/11/2020 15:42, Naresh Kamboju wrote:
Linux next tag 20201130 arm64 build failed due to below error,
- gcc-9, gcc-10 and clang-10 build FAIL
- gcc-8 build PASS.

make --silent --keep-going --jobs=8
O=/home/tuxbuild/.cache/tuxmake/builds/2/tmp ARCH=arm64
CROSS_COMPILE=aarch64-linux-gnu- 'CC=sccache aarch64-linux-gnu-gcc'
'HOSTCC=sccache gcc'
arch/arm64/kernel/mte.c: In function 'set_sctlr_el1_tcf0':
arch/arm64/kernel/mte.c:176:17: error: 'struct thread_struct' has no
member named 'sctlr_tcf0'
176 | current->thread.sctlr_tcf0 = tcf0;
| ^
At top level:
arch/arm64/kernel/mte.c:168:13: warning: 'set_sctlr_el1_tcf0' defined
but not used [-Wunused-function]
168 | static void set_sctlr_el1_tcf0(u64 tcf0)
| ^~~~~~~~~~~~~~~~~~
make[3]: *** [scripts/Makefile.build:283: arch/arm64/kernel/mte.o] Error 1
make[3]: Target '__build' not remade because of errors.

This looks like a bad conflict resolution of a patch in Andrew's set.

3394cb084a8d ("arm64: mte: add in-kernel MTE helpers") has reintroduced set_sctlr_el1_tcf0() which was removed in e710c29e0177 ("arm64: mte: make the per-task SCTLR_EL1 field usable elsewhere") (in arm64 tree). But this doesn't happen in the original patch arm64-mte-add-in-kernel-mte-helpers.patch in Andrew's set.

Steve

Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx>

steps to reproduce:

# 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 docker --target-arch arm64 --toolchain gcc-9
--kconfig defconfig --kconfig-add
https://builds.tuxbuild.com/1l0FGU7GBRQu6kT79iDAwsHkQ6d/config