提交 0311d1dd 编写于 作者: R Rich Felker

fix dynamic linker entry point for microblaze

the ABI allows the callee to clobber stack slots that correspond to
arguments passed in registers, so the caller must adjust the stack
pointer to reserve space appropriately. prior to this fix, the argv
array was possibly clobbered by dynamic linker code before passing
control to the main program.
上级 2b7cf6db
......@@ -9,11 +9,12 @@ _start:
addi r7, r7, _GLOBAL_OFFSET_TABLE_+8
addi r7, r7, _DYNAMIC@GOTOFF
brlid r15, __reloc_self@PLT
nop
addik r1, r1, -16
lwi r5, r1, 0
lwi r5, r1, 16
brlid r15, __dynlink@PLT
addi r6, r1, 4
addi r6, r1, 20
addik r1, r1, 16
lwi r4, r1, 0
1: lwi r5, r1, 4
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册