On Mon, Sep 26, 2022 at 08:47:40PM +0000, Alistair Delva wrote:

> From: Nick Desaulniers <ndesaulni...@google.com>
> 
> It seems that for aarch64, unless we apply dynamic relocations to the
> location being relocated, we fail to boot.
> 
> As Fangrui notes:
>   For dynamic relocations using the RELA format (readelf -Wr), GNU ld
>   sets the initial content to r_addend; ld.lld doesn't do that by
>   default (needs --apply-dynamic-relocs).
> 
> Otherwise .rodata appears to be full of NUL-bytes before relocation,
> causing crashes when trying to invoke the function pointers in
> init_sequence_f from initcall_run_list().
> 
> Link: https://reviews.llvm.org/D42797
> Suggested-by: Fangrui Song <mask...@google.com>
> Signed-off-by: Nick Desaulniers <ndesaulni...@google.com>
> Signed-off-by: Alistair Delva <ade...@google.com>
> Cc: Simon Glass <s...@chromium.org>
> Cc: Tom Rini <tr...@konsulko.com>
> Cc: Nick Desaulniers <ndesaulni...@google.com>

Applied to u-boot/master, thanks!

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to