提交 259071c2 编写于 作者: R Rich Felker

crt1 must align stack pointer on mips

it's naturally aligned when entered with the kernel argv array, but if
ld.so has been invoked explicitly to run a program, the stack will not
be aligned due to having thrown away argv[0].
上级 efe97514
......@@ -14,6 +14,7 @@ _start:
lw $5, ($sp) # Get argc...
addu $6, $sp, 4 # and argv ...
lw $7, %call16(_init)($gp) # and _init() ...
and $sp, $sp, -8 # Align the stack pointer to 8 bytes
addi $sp, $sp, -4*6 # Leave space for arguments 0..3, arg4, and arg5.
lw $12, %call16(_fini)($gp) # and _fini() ...
sw $12, 4*4($sp) # Save arg4.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册