Save LR into proper place on callers stack frame
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4745 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
07bf2857b8
commit
17ca26e791
|
@ -823,7 +823,7 @@ void tcg_target_qemu_prologue (TCGContext *s)
|
||||||
| (i * 4 + 8 + TCG_STATIC_CALL_ARGS_SIZE)
|
| (i * 4 + 8 + TCG_STATIC_CALL_ARGS_SIZE)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
tcg_out32 (s, STW | RS (0) | RA (1) | (frame_size - 4));
|
tcg_out32 (s, STW | RS (0) | RA (1) | (frame_size + 4));
|
||||||
|
|
||||||
tcg_out32 (s, MTSPR | RS (3) | CTR);
|
tcg_out32 (s, MTSPR | RS (3) | CTR);
|
||||||
tcg_out32 (s, BCCTR | BO_ALWAYS);
|
tcg_out32 (s, BCCTR | BO_ALWAYS);
|
||||||
|
@ -836,7 +836,7 @@ void tcg_target_qemu_prologue (TCGContext *s)
|
||||||
| (i * 4 + 8 + TCG_STATIC_CALL_ARGS_SIZE)
|
| (i * 4 + 8 + TCG_STATIC_CALL_ARGS_SIZE)
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
tcg_out32 (s, LWZ | RT (0) | RA (1) | (frame_size - 4));
|
tcg_out32 (s, LWZ | RT (0) | RA (1) | (frame_size + 4));
|
||||||
tcg_out32 (s, MTSPR | RS (0) | LR);
|
tcg_out32 (s, MTSPR | RS (0) | LR);
|
||||||
tcg_out32 (s, ADDI | RT (1) | RA (1) | frame_size);
|
tcg_out32 (s, ADDI | RT (1) | RA (1) | frame_size);
|
||||||
tcg_out32 (s, BCLR | BO_ALWAYS);
|
tcg_out32 (s, BCLR | BO_ALWAYS);
|
||||||
|
|
Loading…
Reference in a new issue