ARM: Use %fp in _start.

* lib/linux/arm-mes-mescc/crt1.c (_start): Use %fp instead of %sp.
This commit is contained in:
Danny Milosavljevic 2019-05-15 20:44:03 +02:00 committed by Jan Nieuwenhuizen
parent d0e05a4a80
commit 810d063d36
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 3 additions and 3 deletions

View File

@ -32,9 +32,9 @@ sp -> argc
environ = &argv[argc + 1]
HOWEVER, the function entry already allocated space for locals on the stack (after saving fp, which moved sp again). Hence, use fp instead of sp.
*/
/* stdin = 0 */
asm ("!0 mov____$i8,%r0");
@ -52,8 +52,8 @@ environ = &argv[argc + 1]
/* Add "environ" to main's arguments */
asm ("!0 ldr____%r0,(%sp,#$i8)"); /* "argc" */
asm ("!4 ldr____%r1,(%sp,#$i8)"); /* "argv" */
asm ("!4 ldr____%r0,(%fp,+#$i8)"); /* "argc" */
asm ("!8 ldr____%r1,(%fp,+#$i8)"); /* "argv" */
asm ("add____%r2,%r0,%r1,lsl#4"); /* "environ": argv + argc */
asm ("!4 add____%r2,$i8"); /* "environ": argv + argc + 1 */