This is the mail archive of the
libffi-discuss@sourceware.org
mailing list for the libffi project.
Re: [RS6000] libffi little-endian
- From: Anthony Green <green at redhat dot com>
- To: David Edelsohn <dje dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, libffi-discuss at sourceware dot org, Alan Modra <amodra at gmail dot com>
- Date: Mon, 24 Jun 2013 11:12:03 -0400 (EDT)
- Subject: Re: [RS6000] libffi little-endian
- References: <20130607013408 dot GI6878 at bubble dot grove dot modra dot org> <CAGWvnynZsHaM+EaHQMOTiQKb6Pg5gT4OY8B1ZtwLEV+iGih7bw at mail dot gmail dot com> <20130624002616 dot GG21523 at bubble dot grove dot modra dot org> <CAGWvnynaBOpwBXdytHXtESC1HjVJDqKd0Xac71ixObzgeOM74A at mail dot gmail dot com>
It's fine with me. Please commit it directly to GCC and I'll put it in the upstream.
Thanks!
AG
----- Original Message -----
From: "David Edelsohn" <dje.gcc@gmail.com>
To: "GCC Patches" <gcc-patches@gcc.gnu.org>, libffi-discuss@sourceware.org, "Alan Modra" <amodra@gmail.com>
Sent: Sunday, June 23, 2013 10:32:44 PM
Subject: Re: [RS6000] libffi little-endian
On Sun, Jun 23, 2013 at 8:26 PM, Alan Modra <amodra@gmail.com> wrote:
> On Fri, Jun 07, 2013 at 12:12:17AM -0400, David Edelsohn wrote:
>> On Thu, Jun 6, 2013 at 9:34 PM, Alan Modra <amodra@gmail.com> wrote:
>> > Bootstrapped and regression tested powerpc64-linux. OK to apply?
>> >
>> > * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Support
>> > little-endian.
>> > * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
>>
>> This patch needs to be applied upstream in the libffi repository.
>>
>> All of the handling of structs in ffi.c and ffi_darwin.c doesn't need
>> any changes? Cool. I thought there might be a padding issue.
>
> You were right, of course. When we finally got around to running an
> all languages bootstrap on powerpc64le, we discovered some missing
> pieces in libffi. The following adds some ffi.c changes to the
> previous patch (closure.S patches are unchanged). I haven't tackled
> ffi_darwin.c.
>
> Bootstrapped and regression tested powerpc64-linux. This one passes
> the libffi testsuite on powerpc64le-linux. OK mainline and 4.8?
>
> * src/powerpc/ffi.c (ffi_prep_args_SYSV): Move var declaration
> before statements.
> (ffi_prep_args64): Support little-endian.
> (ffi_closure_helper_SYSV, ffi_closure_helper_LINUX64): Likewise.
> * src/powerpc/linux64_closure.S (ffi_closure_LINUX64): Likewise.
> * src/powerpc/ppc_closure.S (ffi_closure_SYSV): Likewise.
This looks okay to me and more like the changes I expected. Assuming
Anthony accepts it upstream.
Thanks, David