arm: fix __efi_runtime_rel_start/end definitions

__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 <CFSworks@gmail.com>
Reviewed-by: Sam Edwards <CFSworks@gmail.com>
Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
This commit is contained in:
Ilias Apalodimas 2024-03-15 08:43:47 +02:00 committed by Tom Rini
parent faf396aa1d
commit 6b7f91cd83
6 changed files with 10 additions and 31 deletions

View file

@ -15,6 +15,7 @@
#include <rtc.h>
#include <asm/global_data.h>
#include <u-boot/crc.h>
#include <asm/sections.h>
/* For manual relocation support */
DECLARE_GLOBAL_DATA_PTR;