31 lines
873 B
Diff
31 lines
873 B
Diff
From f0da937d99ef1c32b53fb8c61c3a0225c2dc71c4 Mon Sep 17 00:00:00 2001
|
|
From: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
|
Date: Sat, 8 Jan 2011 01:14:13 +0100
|
|
Subject: [PATCH 02/20] ARM: fix stack alignment
|
|
|
|
ARM EABI requires an 8-byte stack alignment. Previous startup sequence
|
|
destroyed it by popping the 4-byte 'argc' from the aligned stack.
|
|
|
|
Signed-off-by: Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
|
|
---
|
|
arm/start.S | 4 ++--
|
|
1 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/arm/start.S b/arm/start.S
|
|
index ccbac48..d68d49d 100644
|
|
--- a/arm/start.S
|
|
+++ b/arm/start.S
|
|
@@ -19,8 +19,8 @@
|
|
_start:
|
|
|
|
mov fp, #0 @ clear the frame pointer
|
|
- ldr a1, [sp], #4 @ argc
|
|
- mov a2, sp @ argv
|
|
+ ldr a1, [sp] @ argc
|
|
+ add a2, sp, #4 @ argv
|
|
ldr ip, .L3
|
|
add a3, a2, a1, lsl #2 @ &argv[argc]
|
|
add a3, a3, #4 @ envp
|
|
--
|
|
1.7.3.4
|
|
|