ARM: move away from ld_var
The ld_var solves the issue that when compiled with -pie the linker
provided variables are all 0x0. This mechanism however refuses to
compile with aarch64 support.

This patch replaces the ld_var mechanism with a nice little trick
learned from U-Boot: Instead of using linker provided variables
directly with "__bss_start = ." we put a zero size array into
a separate section and use the address of that array instead of
the linker variable. This properly works before relocation.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
1 parent f382224 commit 47ea1f6b6df92fdb8dfff8afae1335092383d8fc
@Sascha Hauer Sascha Hauer authored on 9 Mar 2018
Showing 10 changed files
View
arch/arm/boards/friendlyarm-tiny210/lowlevel.c
View
arch/arm/cpu/Makefile
View
arch/arm/cpu/common.c
View
arch/arm/cpu/sections.c 0 → 100644
View
arch/arm/cpu/setupc.S
View
arch/arm/include/asm/sections.h
View
arch/arm/lib/pbl.lds.S
View
arch/arm/lib32/barebox.lds.S
View
arch/arm/lib64/barebox.lds.S
View
arch/arm/mach-imx/xload-common.c