From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45286) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxzaM-0005Xq-Dq for qemu-devel@nongnu.org; Fri, 20 Jun 2014 10:14:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WxzaG-00075U-1i for qemu-devel@nongnu.org; Fri, 20 Jun 2014 10:14:34 -0400 Received: from mail-qa0-x22b.google.com ([2607:f8b0:400d:c00::22b]:35274) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WxzaF-00075Q-TS for qemu-devel@nongnu.org; Fri, 20 Jun 2014 10:14:27 -0400 Received: by mail-qa0-f43.google.com with SMTP id k15so3202409qaq.2 for ; Fri, 20 Jun 2014 07:14:27 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Fri, 20 Jun 2014 07:13:24 -0700 Message-Id: <1403273621-2584-9-git-send-email-rth@twiddle.net> In-Reply-To: <1403273621-2584-1-git-send-email-rth@twiddle.net> References: <1403273621-2584-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH v3 08/25] tcg-ppc64: Fix TCG_TARGET_CALL_STACK_OFFSET List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: tommusta@gmail.com, av1474@comtv.ru 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. Signed-off-by: Richard Henderson --- tcg/ppc64/tcg-target.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcg/ppc64/tcg-target.c b/tcg/ppc64/tcg-target.c index c5362da..44abf7b 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) \ -- 1.9.3