From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14283 invoked by alias); 30 May 2014 05:10:11 -0000 Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org Received: (qmail 14271 invoked by uid 89); 30 May 2014 05:10:10 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 X-HELO: plane.gmane.org Received: from plane.gmane.org (HELO plane.gmane.org) (80.91.229.3) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 30 May 2014 05:10:08 +0000 Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1WqF4u-0007pc-Cu for libffi-discuss@sourceware.org; Fri, 30 May 2014 07:10:04 +0200 Received: from 71-17-69-121.yktn.hsdb.sasknet.sk.ca ([71.17.69.121]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 30 May 2014 07:10:04 +0200 Received: from rhill by 71-17-69-121.yktn.hsdb.sasknet.sk.ca with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 30 May 2014 07:10:04 +0200 To: libffi-discuss@sourceware.org From: Ryan Hill Subject: Re: Tidy powerpc*-linux support Date: Fri, 30 May 2014 05:10:00 -0000 Message-ID: <20140529230424.52720c3f@caribou.gateway.pace.com> References: <20131117031650.GR22514@bubble.grove.modra.org> <87eh6e2b4o.fsf@redhat.com> <20131119001430.GX22514@bubble.grove.modra.org> <20131120073825.GH22514@bubble.grove.modra.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/9nB=246a.yD6=yJ6zaRtI2f"; protocol="application/pgp-signature" In-Reply-To: <20131120073825.GH22514@bubble.grove.modra.org> X-IsSubscribed: yes X-SW-Source: 2014/txt/msg00059.txt.bz2 --Sig_/9nB=246a.yD6=yJ6zaRtI2f Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Content-length: 2869 On Wed, 20 Nov 2013 18:08:25 +1030 Alan Modra wrote: > As threatened. >=20 > This separates the 32-bit sysv/linux/bsd code from the 64-bit linux > code, and makes it possible to link code compiled with different > options to those used to compile libffi. For example, a > -mlong-double-128 libffi can be used with -mlong-double-64 code. >=20 > Tested powerpc-linux, powerpc64-linux, powerpc64le-linux, and the > hacky powerpc-freebsd simulated setup I used earlier. I've tried a > few combinations of ABI variations; -mlong-double-64/-mlong-double-128 > and -msvr4-struct-return/-maix-struct-return pass the testuite with=20 > flying colours. Testing -msoft-float ran into lack of soft-float > multilibs on my system, but I looked at some testcases under gdb and > they seemed to do the right thing. >=20 > * Makefile.am (EXTRA_DIST): Add new src/powerpc files. > (nodist_libffi_la_SOURCES ): Likewise. > * configure.ac (HAVE_LONG_DOUBLE_VARIANT): Define for powerpc. > * include/ffi.h.in (ffi_prep_types): Declare. > * src/prep_cif.c (ffi_prep_cif_core): Call ffi_prep_types. > * src/types.c (FFI_NONCONST_TYPEDEF): Define and use for > HAVE_LONG_DOUBLE_VARIANT. > * src/powerpc/ffi_powerpc.h: New file. > * src/powerpc/ffi.c: Split into.. > * src/powerpc/ffi_sysv.c: ..new file, and.. > * src/powerpc/ffi_linux64.c: ..new file, rewriting parts. > * src/powerpc/ffitarget.h (enum ffi_abi): Rewrite powerpc ABI > selection as bits controlling features. > * src/powerpc/linux64.S: For consistency, use POWERPC64 rather > than __powerpc64__. > * src/powerpc/linux64_closure.S: Likewise. > * src/powerpc/ppc_closure.S: Likewise. Move .note.FNU-stack > inside guard. > * src/powerpc/sysv.S: Likewise. > * configure: Regenerate. > * fficonfig.h.in: Regenerate. > * Makefile.in: Regenerate. [...]=20 > --- a/include/ffi.h.in > +++ b/include/ffi.h.in > @@ -221,6 +221,11 @@ typedef struct { > #endif > } ffi_cif; >=20=20 > +#if HAVE_LONG_DOUBLE_VARIANT > +/* Used to adjust size/alignment of ffi types. */ > +void ffi_prep_types (ffi_abi abi); > +# endif > + > /* Used internally, but overridden by some architectures */ > ffi_status ffi_prep_cif_core(ffi_cif *cif, > ffi_abi abi, This is an installed header and including it now causes a warning: In file included from ./include/parrot/parrot.h:94:0, from src/string/api.c:27: /usr/lib64/libffi-3.1/include/ffi.h:224:5: error: "HAVE_LONG_DOUBLE_VARIA= NT" is not defined [-Werror=3Dundef] #if HAVE_LONG_DOUBLE_VARIANT ^ cc1: some warnings being treated as errors Did you mean to use @HAVE_LONG_DOUBLE_VARIANT@? --=20 Ryan Hill psn: dirtyepic_sk gcc-porting/toolchain/wxwidgets @ gentoo.org 47C3 6D62 4864 0E49 8E9E 7F92 ED38 BD49 957A 8463 --Sig_/9nB=246a.yD6=yJ6zaRtI2f Content-Type: application/pgp-signature; name=signature.asc Content-Disposition: attachment; filename=signature.asc Content-length: 490 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iQEcBAEBCgAGBQJTiBFdAAoJEO04vUmVeoRjGVUH/2apbPlOy5cyTMfVyhVCsW+N eRIku49nI1G6V0T5Fdr5OtdlwaoCJViGK5ypyTF5DYVidNs0THV/+F/csgL5x0sf /WQVu0YR26tts4cJTbS5PbEFlsnMuJqBPiUacYUQo4va+OIeK5fDA9eAwdJMNbfE Q5R/0pXCE7UMrMDK8qffEP6/v77GKq0SCiphqqfv62FVAbrYrNK1Gz7myB0AHPd8 SJ0GDkm8h8QhsFYqItmEjsCXcrJPHkdIIakR7b1lanuXtXGyEuaJw5rb5sHRFO+C ++KgwpNLBVPs7A3gqMbCyrm9R8yKoKAmGcH+Zx5BOH1SjdJilzPcJ7sbXe8+LH8= =+6pq -----END PGP SIGNATURE----- --Sig_/9nB=246a.yD6=yJ6zaRtI2f--