Re: [RFC PULL] remove arch/h8300

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/



[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux