]> git.dujemihanovic.xyz Git - u-boot.git/commit
arm: clean up v7 and v8 linker scripts for __rel_dyn_start/end
authorIlias Apalodimas <ilias.apalodimas@linaro.org>
Fri, 15 Mar 2024 06:43:48 +0000 (08:43 +0200)
committerTom Rini <trini@konsulko.com>
Fri, 29 Mar 2024 14:39:25 +0000 (10:39 -0400)
commit742752afc0c26238b46d7c4316486e7956d40b9d
tree1fe906a53b139915b89bb068289936c7de21671e
parent6b7f91cd837cdb3262c2964e31bc5dd912f2ca8c
arm: clean up v7 and v8 linker scripts for __rel_dyn_start/end

commit 47bd65ef057f ("arm: make __rel_dyn_{start, end} compiler-generated")
were moving the __rel_dyn_start/end on c generated variables that were
injected in their own sections. The reason was that we needed relative
relocations for position independent code and linker bugs back then
prevented us from doing so [0].

However, the linker documentation pages states that symbols that are
defined within a section definition will create a relocatable
type with the value being a fixed offset from the base of a section [1].

[0] binutils commit 6b3b0ab89663 ("Make linker assigned symbol dynamic only for shared object")
[1] https://sourceware.org/binutils/docs/ld/Expression-Section.html

Suggested-by: Sam Edwards <CFSworks@gmail.com>
Reviewed-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>
arch/arm/cpu/armv8/u-boot.lds
arch/arm/cpu/u-boot.lds
arch/arm/lib/sections.c
arch/arm/mach-zynq/u-boot.lds