summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorAndre Przywara <andre.przywara@arm.com>2020-09-30 19:39:13 +0300
committerTom Rini <trini@konsulko.com>2020-10-08 18:42:36 +0300
commiteabc0902155aa36f603f628360706767202affb2 (patch)
tree3f86eb06c9c42a7c977a34a76bda6f1ac2b97392 /arch
parentcee2e022d208e2dd9c10d1d6845941e37cfe3e3a (diff)
downloadu-boot-eabc0902155aa36f603f628360706767202affb2.tar.xz
arm64: PIE: Do not skip static relocation
When we build an arm64 target and enable POSITION_INDEPENDENT, we were skipping our build-time dynamic relocation fixup routine (STATIC_RELA). This was probably done because we didn't need it in this case, as the PIE fixup routine in start.S would take care of that at runtime. However when we now skip this routine (upon detecting that the fixup offset is 0), this might lead to uninitialised pointers. Remove the exception, so that we always do the build-time relocation. NOTE: GNU binutils starting with v2.27.1 do this build-time relocation automatically, to be in-line with other architecures. So on newer toolchains our manual fixup is actually not needed. It doesn't hurt to have it, though, so that we keep compatibility with the popular Linaro toolchains, which lack this feature. Signed-off-by: Andre Przywara <andre.przywara@arm.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/Kconfig2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index 2e08e9907a..a98dba3900 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -76,7 +76,7 @@ config GIC_V3_ITS
config STATIC_RELA
bool
- default y if ARM64 && !POSITION_INDEPENDENT
+ default y if ARM64
config DMA_ADDR_T_64BIT
bool