aboutsummaryrefslogtreecommitdiff
path: root/arch/arm/lib/crt0_64.S
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2021-11-29 12:00:57 -0500
committerTom Rini <trini@konsulko.com>2021-11-29 12:00:57 -0500
commit2402c93130c09b881f9cc1369459fb49d9fa0f74 (patch)
treeb98fcb4632c62e8693d8ee1acfa3af55c52f634a /arch/arm/lib/crt0_64.S
parentc087b5ad974441d1408c028eb7087d86b6d127e9 (diff)
parentade37460a944aed36ae6ee634c4d4a9a22690461 (diff)
downloadu-boot-2402c93130c09b881f9cc1369459fb49d9fa0f74.zip
u-boot-2402c93130c09b881f9cc1369459fb49d9fa0f74.tar.gz
u-boot-2402c93130c09b881f9cc1369459fb49d9fa0f74.tar.bz2
Merge tag 'v2022.01-rc3' into next
Prepare v2022.01-rc3 Signed-off-by: Tom Rini <trini@konsulko.com>
Diffstat (limited to 'arch/arm/lib/crt0_64.S')
-rw-r--r--arch/arm/lib/crt0_64.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/arm/lib/crt0_64.S b/arch/arm/lib/crt0_64.S
index 611affb..84c04bd 100644
--- a/arch/arm/lib/crt0_64.S
+++ b/arch/arm/lib/crt0_64.S
@@ -108,6 +108,10 @@ ENTRY(_main)
bic sp, x0, #0xf /* 16-byte alignment for ABI compliance */
ldr x18, [x18, #GD_NEW_GD] /* x18 <- gd->new_gd */
+ /* Skip relocation in case gd->gd_flags & GD_FLG_SKIP_RELOC */
+ ldr x0, [x18, #GD_FLAGS] /* x0 <- gd->flags */
+ tbnz x0, 11, relocation_return /* GD_FLG_SKIP_RELOC is bit 11 */
+
adr lr, relocation_return
#if CONFIG_POSITION_INDEPENDENT
/* Add in link-vs-runtime offset */