summaryrefslogtreecommitdiff
path: root/arch/arm/lib/crt0_arm_efi.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/lib/crt0_arm_efi.S')
-rw-r--r--arch/arm/lib/crt0_arm_efi.S4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/lib/crt0_arm_efi.S b/arch/arm/lib/crt0_arm_efi.S
index 91b0fe12c51..593ee1e194a 100644
--- a/arch/arm/lib/crt0_arm_efi.S
+++ b/arch/arm/lib/crt0_arm_efi.S
@@ -143,13 +143,15 @@ section_table:
IMAGE_SCN_CNT_INITIALIZED_DATA)
.align 12
+ .globl _start
_start:
stmfd sp!, {r0-r2, lr}
adr r1, .L_DYNAMIC
ldr r0, [r1]
add r1, r0, r1
- adrl r0, image_base
+ sub r0, pc, #((.+8-image_base) & 0xff)
+ sub r0, r0, #((.+4-image_base) & 0xff00)
bl _relocate
teq r0, #0
bne 0f