[coreboot] ARM Trusted Firmware build issue

Paul Kocialkowski contact at paulk.fr
Wed Jul 13 17:14:19 CEST 2016


Hi,

Le mercredi 13 juillet 2016 à 08:57 -0600, Martin Roth a écrit :
>   Thanks for posting about this.  I've spent some time looking into
> this as well, but in my usual fashion, I didn't communicate what I
> found in a responsible fashion.  Here's what I posted in a code
> review:

Looks like I didn't search long enough to find this ;)

> > The current binutils (2.26) is failing to build the current arm-trusted-
> > firmware.
> > This wasn't caught because the jenkins builders haven't been updated to the
> > latest build tools. I tested the new release of binutils (2.26.1) and the
> > update
> > didn't help my build. There's a patch that should fix the issue - See this
> > thread for an explanation of the issue and the patch:
> > 
> > https://www.mail-archive.com/linaro-toolchain%40lists.linaro.org/msg05685.ht
> > ml
> > 
> > Unfortunately, a different change went into 2.26.1 at that location, so this
> > patch
> > doesn't directly apply.
> 
> For some reason, I didn't directly test that patch with 2.26 to see if
> it actually worked - I tried adding it in to 2.26.1, which did not
> help.  I'll test it with 2.26 today, and add the patch into the
> toolchain build if it works.

From what I understood, that patch only allows the build to work when removing
the extra 0 to .align (so using ".align x" instead of ".align x, 0"). And it was
indeed crafted for an older GAS version. For 2.26, it doesn't apply either and a
similar fix was already included, so the workaround above does work.

But again, we can't easily patch ATF…

> We can't roll the entire toolchain back to binutils 2.25 because of
> the RISC-V work.

Indeed.

> Is it reasonable to roll back to binutils 2.25 for just the ARM toolchain
> builds?

Someone should definitely try that, I have no idea whether it's a good idea off-
hand. If anyone does, please speak up :)

I'm running out of time these days, but if nobody else does it, I'll probably
have a go at it this week-end.

> And then I need to update the toolchains on the builders and figure
> out how to keep them up-to-date so this doesn't happen again.

That would be nice!

> Sorry I didn't post this directly to the mailing list earlier.

No problem, it was fun to dig into it. Also, since the affected devices are not
public, I guess it doesn't really bother anyone. I just happened to look at it
when submitting a crossgcc change, which comes out as unstable because of this
issue, but that's about it.

Cheers,

Paul

> On Wed, Jul 13, 2016 at 2:35 AM, Paul Kocialkowski <contact at paulk.fr> wrote:
> > We spent some time yesterday evening on IRC investigating why the ARM
> > Trusted
> > Firmware (ATF) doesn't build with the current toolchain from coreboot's
> > crossgcc.
> > 
> > It turns out it is a complex issue on the assembler's side. I have opened a
> > bug
> > upstream about it, with all the details we could find:
> > https://sourceware.org/bugzilla/show_bug.cgi?id=20364
> > 
> > This regression was introduced with binutils 2.26. To get the build going in
> > the
> > short term, we could either downgrade binutils back to 2.25 (if it still
> > meets
> > all dependencies from other tools) or patch ATF to replace the ".align x, 0"
> > directives to ".align x" in include/common/asm_macros.S (not sure this is a
> > possibility).
> > 
> > Cheers,
> > 
> > -- Paul Kocialkowski, developer of low-level free software for embedded
> > devices
> > 
> > Website: https://www.paulk.fr/
> > Coding blog: https://code.paulk.fr/
> > Git repositories: https://git.paulk.fr/ https://git.code.paulk.fr/
> > --
> > coreboot mailing list: coreboot at coreboot.org
> > https://www.coreboot.org/mailman/listinfo/coreboot
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20160713/4bcb49fc/attachment.asc>


More information about the coreboot mailing list