[PATCH] arm64: relocate-rela: Add support for ld.lld

Alistair Delva adelva at google.com
Mon Oct 25 19:46:32 CEST 2021

-Scott's ancient non-functioning email address

Hi Tom,

On Mon, Oct 25, 2021 at 6:30 AM Tom Rini <trini at konsulko.com> wrote:
> On Wed, Oct 20, 2021 at 09:31:32PM +0000, Alistair Delva wrote:
> > Cap end of relocations by the binary size.
> >
> > Linkers like to insert some auxiliary sections between .rela.dyn and
> > .bss_start. These sections don't make their way to the final binary, but
> > reloc_rela still tries to relocate them, resulting in attempted read
> > past the end of file.
> >
> > When linking U-Boot with ld.lld, the STATIC_RELA feature (enabled by
> > default on arm64) breaks the build. After this patch, U-Boot can be
> > linked successfully with and without CONFIG_STATIC_RELA.
> >
> > Originally-from: Elena Petrova <lenaptr at google.com>
> > Signed-off-by: Alistair Delva <adelva at google.com>
> > Cc: David Brazdil <dbrazdil at google.com>
> > Cc: Scott Wood <scottwood at freescale.com>
> > Cc: Tom Rini <trini at konsulko.com>
> Thanks for the patch.  Do you have any other changes for LLVM/LLDB
> support on arm64 platforms?  I think I've had a few stumbles whenever
> I've tried and not been able to cycle back to them.

I think the patches I posted are enough to get U-Boot to build with
LLVM LD for QEMU targets on arm64 and x86_64, but I have some other
build problems to work through on physical device targets like

Oddly, the arm64 binaries seem to be booting up (as far as we can see
in a debugger), but there's no serial output, so there's still some
work to do.

I'll keep upstreaming what we find. Our CI system is over here:
(using Clang but still ld.bfd for now)

> --
> Tom

More information about the U-Boot mailing list