ARM: Use %fp in _start.
* lib/linux/arm-mes-mescc/crt1.c (_start): Use %fp instead of %sp.
This commit is contained in:
parent
d0e05a4a80
commit
810d063d36
|
@ -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 */
|
||||
|
||||
|
|
Loading…
Reference in New Issue