On Mon, Apr 4, 2022 at 9:35 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > On Mon, Apr 4, 2022 at 9:14 PM Max Filippov <jcmvbkbc@xxxxxxxxx> wrote: > > On Mon, Apr 4, 2022 at 12:01 PM Arnd Bergmann <arnd@xxxxxxxx> wrote: > > > On Mon, Apr 4, 2022 at 7:57 PM Max Filippov <jcmvbkbc@xxxxxxxxx> wrote: > > > > Please let me know if you observe any specific build/runtime issues. > > > xtensa-linux-gcc-11.1.0 -DKCONFIG_SEED= > > ... > > > /git/arm-soc/arch/xtensa/kernel/head.S: Assembler messages: > > > /git/arm-soc/arch/xtensa/kernel/head.S:87: Error: invalid register > > > 'atomctl' for 'wsr' instruction > > > > Sure, one cannot use an arbitrary xtensa compiler for the kernel > > build, the compiler configuration must match the core variant selected > > in the linux configuration. Specifically, for the nommu_kc705_defconfig > > the following compiler can be used: > > > > https://github.com/foss-xtensa/toolchain/releases/download/2020.07/x86_64-2020.07-xtensa-de212-elf.tar.gz > > > > If you build the toolchain yourself using crosstool-ng or buildroot they > > accept the 'configuration overlay' parameter that does the compiler > > customization. > > > > Perhaps the documentation for this part is what needs to be improved. > > It sounds like a bug in the kernel Makefile. On all other architectures, > you can generally just pick any (recent) compiler and build any kernel, > as the compiler arguments set the exact target machine type based > on the kernel config. You can't normally rely on the compiler defaults > for kernel builds. FWIW, the compiler I used is the one I built for kernel.org [1] using unmodified upstream sources The config I used for this is ${SRCTREE}/configure ../log-gcc-configure /home/arnd/git/gcc/configure --target=xtensa-linux --enable-targets=all --prefix=/home/arnd/cross/x86_64/gcc-11.1.0-nolibc/xtensa-linux --enable-languages=c --without-headers --disable-bootstrap --disable-nls --disable-threads --disable-shared --disable-libmudflap --disable-libssp --disable-libgomp --disable-decimal-float --disable-libquadmath --disable-libatomic --disable-libcc1 --disable-libmpx --enable-checking=release Let me know if I need to enable additional options to get a compiler that works for all xtensa targets. Usually the --enable-targets=all is meant to be sufficient. Arnd [1] https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/11.1.0/