[Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support
Thomas Petazzoni
thomas.petazzoni at bootlin.com
Mon Aug 30 21:55:59 UTC 2021
Hello Damien,
On Mon, 30 Aug 2021 21:42:02 +0000
Damien Le Moal <Damien.LeMoal at wdc.com> wrote:
> On 2021/08/31 6:32, Thomas Petazzoni wrote:
> > Hello Damien,
> >
> > On Mon, 30 Aug 2021 13:40:51 +0900
> > Damien Le Moal <damien.lemoal at wdc.com> wrote:
> >
> >> 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 optional
> >
> > Just 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 required
>
> Yes, 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
More information about the buildroot
mailing list