diff options
author | Ilias Apalodimas <ilias.apalodimas@linaro.org> | 2024-03-15 08:43:50 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-03-29 10:39:25 -0400 |
commit | 4ee32ea0c44f66b977a8de76e26b27a2559bc9ed (patch) | |
tree | 536034c01d1e7c92003e7a8f4c4cbbb11c013c15 /arch/arm/cpu/armv8/u-boot-spl.lds | |
parent | c0802104d6b86e223e5a605b36ca77453eb00314 (diff) | |
download | u-boot-4ee32ea0c44f66b977a8de76e26b27a2559bc9ed.zip u-boot-4ee32ea0c44f66b977a8de76e26b27a2559bc9ed.tar.gz u-boot-4ee32ea0c44f66b977a8de76e26b27a2559bc9ed.tar.bz2 |
arm: move image_copy_start/end to linker symbols
image_copy_start/end are defined as c variables in order to force the compiler
emit relative references. However, defining those within a section definition
will do the same thing since [0].
So let's remove the special sections from the linker scripts, the
variable definitions from sections.c and define them as a symbols within
a section.
[0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object")
Suggested-by: Sam Edwards <CFSworks@gmail.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Sam Edwards <CFSworks@gmail.com> # Binary output identical
Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Diffstat (limited to 'arch/arm/cpu/armv8/u-boot-spl.lds')
-rw-r--r-- | arch/arm/cpu/armv8/u-boot-spl.lds | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/arch/arm/cpu/armv8/u-boot-spl.lds b/arch/arm/cpu/armv8/u-boot-spl.lds index 8998c49..ef8af67 100644 --- a/arch/arm/cpu/armv8/u-boot-spl.lds +++ b/arch/arm/cpu/armv8/u-boot-spl.lds @@ -21,9 +21,9 @@ OUTPUT_ARCH(aarch64) ENTRY(_start) SECTIONS { + __image_copy_start = ADDR(.text); .text : { . = ALIGN(8); - __image_copy_start = .; CPUDIR/start.o (.text*) *(.text*) } >.sram @@ -51,10 +51,8 @@ SECTIONS KEEP(*(SORT(__u_boot_list*))); } >.sram - .image_copy_end : { - . = ALIGN(8); - *(.__image_copy_end) - } >.sram + . = ALIGN(8); + __image_copy_end = .; .end : { . = ALIGN(8); |