Commit 1d6760a3 authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Russell King

[ARM] 3524/1: ARM EABI: more 64-bit aligned stack fixes

Patch from Nicolas Pitre

Assembly code that calls C code must ensure the C code sees a 64-bit
aligned stack pointer.
Signed-off-by: default avatarNicolas Pitre <nico@cam.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 2ceec0c8
...@@ -122,7 +122,7 @@ ENTRY(c_backtrace) ...@@ -122,7 +122,7 @@ ENTRY(c_backtrace)
#define reg r5 #define reg r5
#define stack r6 #define stack r6
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, lr} .Ldumpstm: stmfd sp!, {instr, reg, stack, r7, r8, lr}
mov stack, r0 mov stack, r0
mov instr, r1 mov instr, r1
mov reg, #9 mov reg, #9
...@@ -145,7 +145,7 @@ ENTRY(c_backtrace) ...@@ -145,7 +145,7 @@ ENTRY(c_backtrace)
adrne r0, .Lcr adrne r0, .Lcr
blne printk blne printk
mov r0, stack mov r0, stack
LOADREGS(fd, sp!, {instr, reg, stack, r7, pc}) LOADREGS(fd, sp!, {instr, reg, stack, r7, r8, pc})
.Lfp: .asciz " r%d = %08X%c" .Lfp: .asciz " r%d = %08X%c"
.Lcr: .asciz "\n" .Lcr: .asciz "\n"
......
...@@ -189,12 +189,12 @@ ENTRY(__do_div64) ...@@ -189,12 +189,12 @@ ENTRY(__do_div64)
moveq pc, lr moveq pc, lr
@ Division by 0: @ Division by 0:
str lr, [sp, #-4]! str lr, [sp, #-8]!
bl __div0 bl __div0
@ as wrong as it could be... @ as wrong as it could be...
mov yl, #0 mov yl, #0
mov yh, #0 mov yh, #0
mov xh, #0 mov xh, #0
ldr pc, [sp], #4 ldr pc, [sp], #8
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment