On Thu, Oct 20, 2022 at 03:15:07PM +0200, Ahmad Fatoum wrote: > Since a8b788ba61eb ("relocate_to_current_adr: hang directly on error instead > of panic()"), GCC can prove that variables aren't supposed to overlap and as > such it generated code than readded get_runtime_offset() on top of an > already relocated linker-defined variable's address. > See PATCH 2/3 for a disassembly of the affected code. Board code can > be similarly micompiled, but that's a fix for another day. > > Ahmad Fatoum (3): > include: asm-generic: reloc: implement runtime_address() > ARM: cpu: add compiler barrier around unrelocated access > RISC-V: add compiler barriers around unrelocated accesses Applied, thanks Sascha > > arch/arm/cpu/common.c | 15 ++++--- > arch/arm/cpu/uncompress.c | 4 +- > arch/riscv/boot/uncompress.c | 4 +- > arch/riscv/include/asm/sections.h | 3 +- > arch/riscv/lib/reloc.c | 10 +++-- > include/asm-generic/reloc.h | 69 +++++++++++++++++++++++++++++++ > 6 files changed, 91 insertions(+), 14 deletions(-) > > -- > 2.30.2 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |