From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 844 invoked by alias); 22 Sep 2006 14:28:00 -0000 Received: (qmail 811 invoked by uid 48); 22 Sep 2006 14:27:53 -0000 Date: Fri, 22 Sep 2006 14:28:00 -0000 Message-ID: <20060922142753.810.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug libffi/29181] libffi/src/powerpc/ffi_darwin.c not 64-bit clean In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "howarth at nitro dot med dot uc dot edu" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-09/txt/msg02145.txt.bz2 List-Id: ------- Comment #1 from howarth at nitro dot med dot uc dot edu 2006-09-22 14:27 ------- Opps. Looks like the proposed patch is incomplete. http://gcc.gnu.org/ml/gcc/2006-09/msg00428.html I will be testing... Index: ffi_darwin.c =================================================================== --- ffi_darwin.c (revision 117142) +++ ffi_darwin.c (working copy) @@ -94,7 +94,7 @@ /* 'next_arg' grows up as we put parameters in it. */ - unsigned *next_arg = stack + 6; /* 6 reserved positions. */ + unsigned long *next_arg = stack + 6; /* 6 reserved positions. */ int i = ecif->cif->nargs; double double_tmp; @@ -114,7 +114,7 @@ Return values are referenced by r3, so r4 is the first parameter. */ if (flags & FLAG_RETVAL_REFERENCE) - *next_arg++ = (unsigned)(char *)ecif->rvalue; + *next_arg++ = (unsigned long)(char *)ecif->rvalue; /* Now for the arguments. */ for (; ,,,instead. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29181