From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59950) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WftB7-0004d9-4k for qemu-devel@nongnu.org; Thu, 01 May 2014 11:45:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WftB0-0006pt-MI for qemu-devel@nongnu.org; Thu, 01 May 2014 11:45:40 -0400 Received: from mail-qg0-x22b.google.com ([2607:f8b0:400d:c04::22b]:35871) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WftB0-0006pi-70 for qemu-devel@nongnu.org; Thu, 01 May 2014 11:45:34 -0400 Received: by mail-qg0-f43.google.com with SMTP id a108so3455844qge.16 for ; Thu, 01 May 2014 08:45:33 -0700 (PDT) Sender: Richard Henderson From: Richard Henderson Date: Thu, 1 May 2014 08:44:29 -0700 Message-Id: <1398959087-23590-9-git-send-email-rth@twiddle.net> In-Reply-To: <1398959087-23590-1-git-send-email-rth@twiddle.net> References: <1398959087-23590-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH 08/26] 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: 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.0