Skip to content

Commit 1d6760a

Browse files
Nicolas PitreRussell King
authored andcommitted
[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: Nicolas Pitre <[email protected]> Signed-off-by: Russell King <[email protected]>
1 parent 2ceec0c commit 1d6760a

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

arch/arm/lib/backtrace.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ ENTRY(c_backtrace)
122122
#define reg r5
123123
#define stack r6
124124

125-
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, lr}
125+
.Ldumpstm: stmfd sp!, {instr, reg, stack, r7, r8, lr}
126126
mov stack, r0
127127
mov instr, r1
128128
mov reg, #9
@@ -145,7 +145,7 @@ ENTRY(c_backtrace)
145145
adrne r0, .Lcr
146146
blne printk
147147
mov r0, stack
148-
LOADREGS(fd, sp!, {instr, reg, stack, r7, pc})
148+
LOADREGS(fd, sp!, {instr, reg, stack, r7, r8, pc})
149149

150150
.Lfp: .asciz " r%d = %08X%c"
151151
.Lcr: .asciz "\n"

arch/arm/lib/div64.S

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,12 @@ ENTRY(__do_div64)
189189
moveq pc, lr
190190

191191
@ Division by 0:
192-
str lr, [sp, #-4]!
192+
str lr, [sp, #-8]!
193193
bl __div0
194194

195195
@ as wrong as it could be...
196196
mov yl, #0
197197
mov yh, #0
198198
mov xh, #0
199-
ldr pc, [sp], #4
199+
ldr pc, [sp], #8
200200

0 commit comments

Comments
 (0)