]> git.proxmox.com Git - mirror_qemu.git/commitdiff
tcg-ppc64: Fix TCG_TARGET_CALL_STACK_OFFSET
authorRichard Henderson <rth@twiddle.net>
Tue, 25 Mar 2014 15:32:04 +0000 (08:32 -0700)
committerRichard Henderson <rth@twiddle.net>
Mon, 23 Jun 2014 14:31:29 +0000 (07:31 -0700)
The calling convention reserves space for the 8 register parameters on
the stack, so using only 6*8=48 as the offset was wrong.  We never saw
this bug because we don't have any helpers with more than 5 parameters.

Tested-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Richard Henderson <rth@twiddle.net>
tcg/ppc64/tcg-target.c

index c5362da679b8d9fb0ad729833455dfcd18692236..44abf7b8c05e5a51e1db1333900c20ffd4f7a81d 100644 (file)
@@ -1408,7 +1408,7 @@ static void tcg_out_qemu_st(TCGContext *s, TCGReg data_reg, TCGReg addr_reg,
 
 /* Parameters for function call generation, used in tcg.c.  */
 #define TCG_TARGET_STACK_ALIGN       16
-#define TCG_TARGET_CALL_STACK_OFFSET 48
+#define TCG_TARGET_CALL_STACK_OFFSET ((6 + 8) * SZR)
 #define TCG_TARGET_EXTEND_ARGS       1
 
 #define FRAME_SIZE ((int) \