Browse Source

Paul Brook writes:
The patch below tweaks the ARM nommu startup code so that doubleword stack
alignment is preserved. This is required on EABI targets.

Mike Frysinger 17 years ago
parent
commit
0c6f9e780d
1 changed files with 4 additions and 3 deletions
  1. 4 3
      libc/sysdeps/linux/arm/crt1.S

+ 4 - 3
libc/sysdeps/linux/arm/crt1.S

@@ -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 */