[patch] ARM stack alignment
Paul Brook
paul at codesourcery.com
Sat Dec 23 11:08:31 UTC 2006
The patch below tweaks the ARM nommu startup code so that doubleword stack
alignment is preserved. This is required on EABI targets.
Paul
Index: libc/sysdeps/linux/arm/crt1.S
===================================================================
--- libc/sysdeps/linux/arm/crt1.S (revision 17022)
+++ libc/sysdeps/linux/arm/crt1.S (working copy)
@@ -119,9 +119,10 @@ _start:
* uClinux/arm stacks look a little different from normal
* MMU-full Linux/arm stacks (for no good reason)
*/
- /* pull argc and argv off the stack */
- ldr a2, [sp, #0]
- ldr a3, [sp, #4]
+ /* pull argc and argv off the stack. We are going to push 3
+ * arguments, so pop one here to maintain doubleword alignment. */
+ ldr a2, [sp], #4
+ ldr a3, [sp]
#endif
/* Push stack limit */
More information about the uClibc
mailing list