Hi, Willy
On Sun, Aug 06, 2023 at 02:47:09AM +0800, Zhangjin Wu wrote:
The little-endian powerpc64le compilers provided by Ubuntu and Fedora are able to compile big endian kernel and big endian nolibc-test [1].
FWIW I'm wondering why focusing on these ones which have a different naming from the other ones, when I think that most users rely on the ones maintained by Arnd there:
Arnd's toolchains may be a more distribution independent ones.
Yours is called powerpc64le while the one above is "powerpc64", it requires to make an exception for this one, I find this a bit odd.
Yes, one is little endian output by default, another may be big endian output by default.
If someone wants to use their distro's cross toolchain, that's fine, but I think that it will depend on distros anyway and some may not even be provided (like loongarch) so I think it would make more sense to adopt the canonical naming from Arnd's toolchains above.
Agree very much, let's switch to Arnd's toolchains.
It's not critical, but as you showed below, it makes building for ppc a little bit cumbersome: those "export" lines could be dropped when using the default names, and that's what we should document as the recommended way to test:
For example, it is able to build 64-bit nolibc-test with the big endian powerpc64-linux-gcc crosstool from [2]:
$ wget -c https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/13.1.0/x86_64-gcc-13.1.0-nolibc-powerpc64-linux.tar.xz $ tar xvf x86_64-gcc-13.1.0-nolibc-powerpc64-linux.tar.xz $ export PATH=$PWD/gcc-13.1.0-nolibc/powerpc64-linux/bin/:$PATH $ export CROSS_COMPILE_ppc=powerpc64-linux- $ export CROSS_COMPILE_ppc64=powerpc64-linux- $ export CROSS_COMPILE_ppc64le=powerpc64-linux- $ for arch in ppc ppc64 ppc64le; do \ make run-user XARCH=$arch | grep "status: "; \ done
Any opinion on this ?
Ok, let's go this way, if the others are ok for you, could you please drop the last two CROSS_COMPILE patches from this v6 ppc series? Thanks.
I will send v2 CROSS_COMPILE series with them, with Arnd's toolchains, the whole CROSS_COMPILE series will be unified and become very simple, although they need to download the toolchains manually one by one, but it is possible to write a common script, but that is another requirement.
BR, Zhangjin --- [1]: https://lore.kernel.org/lkml/cover.1691259983.git.falcon@tinylab.org/ [2]: https://lore.kernel.org/lkml/cover.1691263493.git.falcon@tinylab.org/
Thanks, Willy