On 3/12/24 04:08, Ilias Apalodimas wrote:
__efi_runtime_rel_start/end are defined as c variables for arm7 only in
order to force the compiler emit relative references. However, defining
those within a section definition will do the same thing since [0].
On top of that the v8 linker scripts define it as a symbol.

So let's remove the special sections from the linker scripts, the
variable definitions from sections.c and define them as a symbols within
the correct section.

[0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for 
shared object")

Suggested-by: Sam Edwards<cfswo...@gmail.com>
Signed-off-by: Ilias Apalodimas<ilias.apalodi...@linaro.org>
Reviewed-by: Sam Edwards<cfswo...@gmail.com>
Tested-by: Sam Edwards<cfswo...@gmail.com>  # Binary output identical
---
  arch/arm/cpu/armv8/u-boot.lds  |  4 +---
  arch/arm/cpu/u-boot.lds        | 16 +++-------------
  arch/arm/lib/sections.c        |  2 --
  arch/arm/mach-zynq/u-boot.lds  | 16 +++-------------
  include/asm-generic/sections.h |  2 ++
  lib/efi_loader/efi_runtime.c   |  1 +
  6 files changed, 10 insertions(+), 31 deletions(-)

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>

r~

Reply via email to