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

Alistair Delva
2021-10-25T17:46:53Z

-Scott's ancient non-functioning email address

Hi Tom,

On Mon, Oct 25, 2021 at 6:30 AM Tom Rini <trini@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@google.com>
> > Signed-off-by: Alistair Delva <adelva@google.com>
> > Cc: David Brazdil <dbrazdil@google.com>
> > Cc: Scott Wood <scottwood@freescale.com>
> > Cc: Tom Rini <trini@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
rockchip.

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:
https://ci.android.com/builds/branches/aosp_u-boot-mainline/grid?
(using Clang but still ld.bfd for now)

> --
> Tom