diff options
author | Richard Henderson <rth@twiddle.net> | 2014-03-25 08:32:04 -0700 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2014-06-23 07:31:29 -0700 |
commit | 5456788db7982938db6600d6308fd2f449b40d5c (patch) | |
tree | 9ee277e9c1176d8605676a047fa7d7e23bcd2b66 /tcg | |
parent | a921fddcc1c9aae30c89e408f1e31e831a0a4389 (diff) |
tcg-ppc64: Fix TCG_TARGET_CALL_STACK_OFFSET
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>
Diffstat (limited to 'tcg')
-rw-r--r-- | tcg/ppc64/tcg-target.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c index c5362da679..44abf7b8c0 100644 --- a/tcg/ppc64/tcg-target.c +++ b/tcg/ppc64/tcg-target.c @@ -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) \ |