[RFCv3] Azure/GitLab: Move to gcc-11.1.0 and LLVM-11

Bin Meng bmeng.cn at gmail.com
Thu Jun 17 16:51:07 CEST 2021


On Thu, Jun 17, 2021 at 10:45 PM Tom Rini <trini at konsulko.com> wrote:
>
> On Thu, Jun 17, 2021 at 10:24:18PM +0800, Bin Meng wrote:
> > On Thu, Jun 17, 2021 at 10:14 PM Tom Rini <trini at konsulko.com> wrote:
> > >
> > > On Thu, Jun 17, 2021 at 10:09:20PM +0800, Bin Meng wrote:
> > > > On Thu, Jun 17, 2021 at 8:31 PM Tom Rini <trini at konsulko.com> wrote:
> > > > >
> > > > > On Thu, Jun 17, 2021 at 04:27:11PM +0800, Bin Meng wrote:
> > > > > > Hi Tom,
> > > > > >
> > > > > > On Thu, Jun 17, 2021 at 4:00 AM Tom Rini <trini at konsulko.com> wrote:
> > > > > > >
> > > > > > > - Move to gcc-11.1.0 builds from kernel.org for supported platforms and
> > > > > > >   LLVM-11 for those tests.
> > > > > > > - grub-2.06 does not build with gcc-11.1.0 on riscv32 as seen here:
> > > > > > >   https://www.mail-archive.com/grub-devel@gnu.org/msg30736.html
> > > > > > >   so drop it.
> > > > > > > - Update to newer Xtensa (gcc-9.2.0) and ARC (gcc-10.2) toolchains
> > > > > > >
> > > > > > > Cc: Heinrich Schuchardt <xypron.glpk at gmx.de>
> > > > > > > Cc: Bin Meng <bmeng.cn at gmail.com>
> > > > > > > Cc: Simon Glass <sjg at chromium.org>
> > > > > > > Cc: Rick Chen <rick at andestech.com>
> > > > > > > Signed-off-by: Tom Rini <trini at konsulko.com>
> > > > > > > ---
> > > > > > > Changes in v3:
> > > > > > > - Post the right patch this time.
> > > > > > > - Switch to gcc-11.1.0 builds rather than pre-release
> > > > > > > - grub-2.06 is out, use that rather than -rc1
> > > > > > > - Update Xtensa and ARC toolchains.
> > > > > > > - Note that right now this causes x86 to fail to link, which I did not
> > > > > > >   see with gcc-11.0 tests.
> > > > > >
> > > > > > Did you mean x86 fails to link with LLVM 11, not GCC 11?
> > > > >
> > > > > It fails to run for qemu-x86:
> > > > > https://source.denx.de/u-boot/u-boot/-/jobs/279345#L39
> > > > > And fails to link on other configs:
> > > > > https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2378&view=logs&j=8a1d3be7-a4c9-55b6-774d-e7f1a8f80847&t=b2f224a7-1103-5b52-edbc-3784ae727e03
> > > > >
> > > > > Sorry I forgot to add the CI links.
> > > >
> > > > Just had a quick look. The u-boot.rom (qemu-x86_defconfig) built with
> > > > GCC 11.1.0 does not boot. It fails at the very early stage at
> > > > fdtdec_prepare_fdt(). It turns out gd->fdt_blob which is set to _end
> > > > does not point to a valid DT.
> > > >
> > > > This may have something to do with:
> > > >
> > > > x86_64-linux-ld.bfd: arch/x86/cpu/start.o: warning: relocation in
> > > > read-only section `.text.start'
> > > > x86_64-linux-ld.bfd: warning: creating DT_TEXTREL in a PIE
> > >
> > > Yeah, I suspect that's the problem.  I just don't know where to start
> > > looking for what to change to address that.
> >
> > The following changes seem to fix the issue:
> >
> > diff --git a/arch/x86/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
> > index a283c290ee..22fde01e74 100644
> > --- a/arch/x86/cpu/u-boot.lds
> > +++ b/arch/x86/cpu/u-boot.lds
> > @@ -105,6 +105,7 @@ SECTIONS
> >         /DISCARD/ : { *(.plt*) }
> >         /DISCARD/ : { *(.interp*) }
> >         /DISCARD/ : { *(.gnu*) }
> > +       /DISCARD/ : { *(.note.gnu.property) }
> >
> >  #ifdef CONFIG_X86_16BIT_INIT
> >         /*
> >
> > Not sure if this is something introduced by using --whole-archive?
>
> Could be.  Thanks for digging in to this part!

You are welcome :)
I will continue the investigation on this.

> Do you have any comments / concerns about the dropping grub for riscv32 part of this?

It looks like the grub community does not want to fix the build issue
for riscv32. I am not sure if we can have a solution for grub soon.
Heinrich could comment whether it's okay to drop riscv32 EFI testing
in U-Boot.

Regards,
Bin


More information about the U-Boot mailing list