[Buildroot] Toolchain issues on multiple architectures

Alistair Francis alistair23 at gmail.com
Thu Sep 24 18:47:50 UTC 2020


On Thu, Sep 24, 2020 at 11:47 AM Thomas Petazzoni
<thomas.petazzoni at bootlin.com> wrote:
>
> Hello,
>
> On Thu, 24 Sep 2020 11:20:18 -0700
> Alistair Francis <alistair23 at gmail.com> wrote:
>
> > > Sorry for the slow feedback. I retested the above defconfig, and it
> > > fails to build here. Did you try on the 2020.08 tag, with no change ?
> > > Perhaps you tried on master and something fixed this on master after
> > > 2020.08 ?
> >
> > Yep, that doesn't work.
> >
> > That branch is missing the patches to use upstream glibc:
> >
> > * acc1330d4a configs/qemu_riscv32_virt: use Linux 5.4 kernel (by
> > Alistair Francis 3 weeks ago)
> > * a4889545aa package/glibc: use upstream glibc for RISC-V 32-bit (by
> > Alistair Francis 3 weeks ago)
> >
> > Because of that the kernel headers need to be patched to add support
> > for a 32-bit time_t.
> >
> > This change in the defconfig should fix that:
> >
> > BR2_GLOBAL_PATCH_DIR="board/qemu/riscv32-virt/patches/"
> >
> > Although it looks like the kernel build is also required to get the
> > patches to take effect:
> >
> > # Kernel
> > BR2_LINUX_KERNEL=y
> > BR2_LINUX_KERNEL_CUSTOM_VERSION=y
> > BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.1.12"
> > BR2_LINUX_KERNEL_DEFCONFIG="rv32"
> > BR2_LINUX_KERNEL_IMAGE=y
> >
> > Although applying the two commits mentioned above would be a much better option.
>
> Thanks a lot for the feedback, it makes sense. To me, it illustrates
> very well that the solution of having patches for the kernel headers
> that only apply to a specific defconfig doesn't work: whenever someone
> builds a system from scratch without using a defconfig, such patches
> are not applied.

Yep, makes sense. Luckily we no longer need them for RV32 :)

Alistair

>
> Thomas
> --
> Thomas Petazzoni, CTO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com


More information about the buildroot mailing list