Re: [Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
From: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Date: 2021-08-30 21:56:14
Hello Damien, On Mon, 30 Aug 2021 21:42:02 +0000 Damien Le Moal [off-list ref] wrote:
On 2021/08/31 6:32, Thomas Petazzoni wrote:quoted
Hello Damien, On Mon, 30 Aug 2021 13:40:51 +0900 Damien Le Moal [off-list ref] wrote:quoted
Christoph Hellwig (2): package/elf2flt: add RISC-V 64-bits support package/Makefile.in: Fix NOMMU RISC-V 64-bits toolchain base name Damien Le Moal (7): arch/config: Make RISC-V 64-bits MMU optionalJust tested with the first 3 patches applied the following defconfig: BR2_riscv=y # BR2_USE_MMU is not set It fails to build with: /home/thomas/buildroot/buildroot/output/host/riscv64-buildroot-linux-uclibc/bin/elf2flt: Loading to RAM ('-r' option) is requiredYes, this option is mandatory for rv64. The elf2flt patch checks for it, but only for rv64. Other architectures should not be affected. The following patch that adds the Sipeed MAIX bit board support adds that option to busybox build. So I guess that build option should be moved to this patch ?
I see:
+CONFIG_EXTRA_LDFLAGS="-Os -static -Wl,-elf2flt=-r"
in your Busybox configuration file indeed. But what about other
packages ?
If this is needed for all packages built for RISC-V 64-bit noMMU, then
we need to have it set as part of the toolchain wrapper. Actually, the
toolchain wrapper already passes -Wl,-elf2flt, so it would only have to
be tweaked to pass -Wl,-elf2flt=-r instead.
See:
#ifdef BR_BINFMT_FLAT
"-Wl,-elf2flt",
#endif
in toolchain/toolchain-wrapper.c
Best regards,
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot