diff options
| author | Richard Henderson | 2014-03-25 16:32:04 +0100 |
|---|---|---|
| committer | Richard Henderson | 2014-06-23 16:31:29 +0200 |
| commit | 5456788db7982938db6600d6308fd2f449b40d5c (patch) | |
| tree | 9ee277e9c1176d8605676a047fa7d7e23bcd2b66 /tcg | |
| parent | tcg-ppc64: Move call macros out of tcg-target.h (diff) | |
| download | qemu-5456788db7982938db6600d6308fd2f449b40d5c.tar.gz qemu-5456788db7982938db6600d6308fd2f449b40d5c.tar.xz qemu-5456788db7982938db6600d6308fd2f449b40d5c.zip | |
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) \ |
