[Buildroot] [PATCH v4 0/9] Add RV64 NOMMU and Canaan K210 SoC support

Damien Le Moal Damien.LeMoal at wdc.com
Mon Aug 30 21:59:34 UTC 2021


On 2021/08/31 6:56, Thomas Petazzoni wrote:
> 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

OK. Got it. Re-spinning with this.
Thanks !

> 
> Best regards,
> 
> Thomas
> 


-- 
Damien Le Moal
Western Digital Research


More information about the buildroot mailing list