[PATCH v2 0/4] libffi: Sync with upstream

Richard Biener richard.guenther@gmail.com
Wed Oct 13 13:03:04 GMT 2021


On Wed, Oct 13, 2021 at 2:56 PM H.J. Lu <hjl.tools@gmail.com> wrote:
>
> On Wed, Oct 13, 2021 at 5:45 AM Richard Biener
> <richard.guenther@gmail.com> wrote:
> >
> > On Thu, Sep 2, 2021 at 5:50 PM H.J. Lu <hjl.tools@gmail.com> wrote:
> > >
> > > Change in the v2 patch:
> > >
> > > 1. Disable static trampolines by default.
> > >
> > >
> > > GCC maintained a copy of libffi snapshot from 2009 and cherry-picked fixes
> > > from upstream over the last 10+ years.  In the meantime, libffi upstream
> > > has been changed significantly with new features, bug fixes and new target
> > > support.  Here is a set of patches to sync with libffi 3.4.2 release and
> > > make it easier to sync with libffi upstream:
> > >
> > > 1. Document how to sync with upstream.
> > > 2. Add scripts to help sync with upstream.
> > > 3. Sync with libffi 3.4.2. This patch is quite big.  It is availale at
> > >
> > > https://gitlab.com/x86-gcc/gcc/-/commit/15e80c879c571f79a0e57702848a9df5fba5be2f
> > > 4. Integrate libffi build and testsuite with GCC.
> >
> > How did you test this?  It looks like libgo is the only consumer of
> > libffi these days.
> > In particular go/libgo seems to be supported on almost all targets besides
> > darwin/windows - did you test cross and canadian configurations?
>
> I only tested it on Linux/i686 and Linux/x86-64.   My understanding is that
> the upstream libffi works on Darwin and Windows.
>
> > I applaud the attempt to sync to upsteam but I fear you won't get any "review"
> > of this massive diff.
>
> I believe that it should just work.  Our libffi is very much out of date.

Yes, you can hope.  And yes, our libffi is out of date.

Can you please do the extra step to test one weird architecture, namely
powerpc64-aix which is available on the compile-farm?

If that goes well I think it's good to "hope" at this point (and plenty of
time to fix fallout until the GCC 12 release).

Thus OK after the extra testing dance and waiting until early next
week so others can throw in a veto.

Thanks,
Richard.

> > I suppose the SONAME changes after the sync?
>
> Yes, SONAME is synced with upstream which was updated.
>
> > Thanks,
> > Richard.
> >
> > > H.J. Lu (4):
> > >   libffi: Add HOWTO_MERGE, autogen.sh and merge.sh
> > >   libffi: Sync with libffi 3.4.2
> > >   libffi: Integrate build with GCC
> > >   libffi: Integrate testsuite with GCC testsuite
> > >
> > >  libffi/.gitattributes                         |    4 +
> > >  libffi/ChangeLog.libffi                       | 7743 ++++++++++++++++-
> > >  libffi/HOWTO_MERGE                            |   13 +
> > >  libffi/LICENSE                                |    2 +-
> > >  libffi/LICENSE-BUILDTOOLS                     |  353 +
> > >  libffi/MERGE                                  |    4 +
> > >  libffi/Makefile.am                            |  135 +-
> > >  libffi/Makefile.in                            |  219 +-
> > >  libffi/README                                 |  450 -
> > >  libffi/README.md                              |  495 ++
> > >  libffi/acinclude.m4                           |   38 +-
> > >  libffi/autogen.sh                             |   11 +
> > >  libffi/configure                              |  487 +-
> > >  libffi/configure.ac                           |   91 +-
> > >  libffi/configure.host                         |   97 +-
> > >  libffi/doc/Makefile.am                        |    3 +
> > >  libffi/doc/libffi.texi                        |  382 +-
> > >  libffi/doc/version.texi                       |    8 +-
> > >  libffi/fficonfig.h.in                         |   21 +-
> > >  libffi/generate-darwin-source-and-headers.py  |  143 +-
> > >  libffi/include/Makefile.am                    |    2 +-
> > >  libffi/include/Makefile.in                    |    3 +-
> > >  libffi/include/ffi.h.in                       |  213 +-
> > >  libffi/include/ffi_cfi.h                      |   21 +
> > >  libffi/include/ffi_common.h                   |   50 +-
> > >  libffi/include/tramp.h                        |   45 +
> > >  libffi/libffi.map.in                          |   24 +-
> > >  libffi/libffi.pc.in                           |    2 +-
> > >  libffi/libffi.xcodeproj/project.pbxproj       |  530 +-
> > >  libffi/libtool-version                        |   25 +-
> > >  libffi/man/Makefile.in                        |    1 +
> > >  libffi/mdate-sh                               |   39 +-
> > >  libffi/merge.sh                               |   51 +
> > >  libffi/msvcc.sh                               |  134 +-
> > >  libffi/src/aarch64/ffi.c                      |  536 +-
> > >  libffi/src/aarch64/ffitarget.h                |   35 +-
> > >  libffi/src/aarch64/internal.h                 |   33 +
> > >  libffi/src/aarch64/sysv.S                     |  189 +-
> > >  libffi/src/aarch64/win64_armasm.S             |  506 ++
> > >  libffi/src/alpha/ffi.c                        |    6 +-
> > >  libffi/src/arc/ffi.c                          |    6 +-
> > >  libffi/src/arm/ffi.c                          |  380 +-
> > >  libffi/src/arm/ffitarget.h                    |   24 +-
> > >  libffi/src/arm/internal.h                     |   10 +
> > >  libffi/src/arm/sysv.S                         |  304 +-
> > >  libffi/src/arm/sysv_msvc_arm32.S              |  311 +
> > >  libffi/src/closures.c                         |  489 +-
> > >  libffi/src/cris/ffi.c                         |    4 +-
> > >  libffi/src/csky/ffi.c                         |  395 +
> > >  libffi/src/csky/ffitarget.h                   |   63 +
> > >  libffi/src/csky/sysv.S                        |  371 +
> > >  libffi/src/dlmalloc.c                         |    7 +-
> > >  libffi/src/frv/ffi.c                          |    4 +-
> > >  libffi/src/ia64/ffi.c                         |   30 +-
> > >  libffi/src/ia64/ffitarget.h                   |    3 +-
> > >  libffi/src/ia64/unix.S                        |    9 +-
> > >  libffi/src/java_raw_api.c                     |    6 +-
> > >  libffi/src/kvx/asm.h                          |    5 +
> > >  libffi/src/kvx/ffi.c                          |  273 +
> > >  libffi/src/kvx/ffitarget.h                    |   75 +
> > >  libffi/src/kvx/sysv.S                         |  127 +
> > >  libffi/src/m32r/ffi.c                         |    2 +-
> > >  libffi/src/m68k/ffi.c                         |    4 +-
> > >  libffi/src/m68k/sysv.S                        |   29 +-
> > >  libffi/src/m88k/ffi.c                         |    8 +-
> > >  libffi/src/metag/ffi.c                        |   14 +-
> > >  libffi/src/microblaze/ffi.c                   |   10 +-
> > >  libffi/src/mips/ffi.c                         |  146 +-
> > >  libffi/src/mips/ffitarget.h                   |   23 +-
> > >  libffi/src/mips/n32.S                         |  151 +-
> > >  libffi/src/mips/o32.S                         |  177 +-
> > >  libffi/src/moxie/eabi.S                       |    2 +-
> > >  libffi/src/moxie/ffi.c                        |   27 +-
> > >  libffi/src/nios2/ffi.c                        |    4 +-
> > >  libffi/src/pa/ffi.c                           |  216 +-
> > >  libffi/src/pa/ffitarget.h                     |   11 +-
> > >  libffi/src/pa/hpux32.S                        |   76 +-
> > >  libffi/src/pa/linux.S                         |  160 +-
> > >  libffi/src/powerpc/asm.h                      |    4 +-
> > >  libffi/src/powerpc/darwin_closure.S           |    6 +-
> > >  libffi/src/powerpc/ffi.c                      |   10 +-
> > >  libffi/src/powerpc/ffi_darwin.c               |   48 +-
> > >  libffi/src/powerpc/ffi_linux64.c              |  247 +-
> > >  libffi/src/powerpc/ffi_powerpc.h              |   25 +-
> > >  libffi/src/powerpc/ffitarget.h                |   14 +-
> > >  libffi/src/powerpc/linux64.S                  |  111 +-
> > >  libffi/src/powerpc/linux64_closure.S          |   70 +-
> > >  libffi/src/powerpc/sysv.S                     |   12 +-
> > >  libffi/src/prep_cif.c                         |   64 +-
> > >  libffi/src/raw_api.c                          |   10 +-
> > >  libffi/src/riscv/ffi.c                        |   16 +-
> > >  libffi/src/sparc/ffi.c                        |    6 +-
> > >  libffi/src/sparc/ffi64.c                      |   18 +-
> > >  libffi/src/tramp.c                            |  729 ++
> > >  libffi/src/types.c                            |    4 +-
> > >  libffi/src/vax/ffi.c                          |    4 +-
> > >  libffi/src/x86/asmnames.h                     |   30 +
> > >  libffi/src/x86/darwin.S                       |  444 -
> > >  libffi/src/x86/darwin64.S                     |  416 -
> > >  libffi/src/x86/darwin64_c.c                   |  643 --
> > >  libffi/src/x86/darwin_c.c                     |  843 --
> > >  libffi/src/x86/ffi.c                          |  162 +-
> > >  libffi/src/x86/ffi64.c                        |  164 +-
> > >  libffi/src/x86/ffitarget.h                    |   42 +-
> > >  libffi/src/x86/ffiw64.c                       |  114 +-
> > >  libffi/src/x86/internal.h                     |   14 +
> > >  libffi/src/x86/internal64.h                   |   14 +
> > >  libffi/src/x86/sysv.S                         |  215 +-
> > >  libffi/src/x86/sysv_intel.S                   |  995 +++
> > >  libffi/src/x86/unix64.S                       |  204 +-
> > >  libffi/src/x86/win64.S                        |  170 +-
> > >  libffi/src/x86/win64_intel.S                  |  238 +
> > >  libffi/src/xtensa/ffi.c                       |    4 +-
> > >  libffi/src/xtensa/sysv.S                      |    7 +-
> > >  libffi/testsuite/Makefile.am                  |  206 +-
> > >  libffi/testsuite/Makefile.in                  |  210 +-
> > >  libffi/testsuite/lib/libffi.exp               |  294 +-
> > >  libffi/testsuite/libffi.bhaible/Makefile      |   28 +
> > >  libffi/testsuite/libffi.bhaible/README        |   78 +
> > >  libffi/testsuite/libffi.bhaible/alignof.h     |   50 +
> > >  libffi/testsuite/libffi.bhaible/bhaible.exp   |   63 +
> > >  libffi/testsuite/libffi.bhaible/test-call.c   | 1745 ++++
> > >  .../testsuite/libffi.bhaible/test-callback.c  | 2885 ++++++
> > >  libffi/testsuite/libffi.bhaible/testcases.c   |  747 ++
> > >  libffi/testsuite/libffi.call/align_mixed.c    |   46 +
> > >  libffi/testsuite/libffi.call/align_stdcall.c  |   46 +
> > >  libffi/testsuite/libffi.call/call.exp         |   28 +-
> > >  libffi/testsuite/libffi.call/cls_uchar_va.c   |   44 -
> > >  libffi/testsuite/libffi.call/cls_ushort_va.c  |   44 -
> > >  libffi/testsuite/libffi.call/ffitest.h        |   13 +-
> > >  libffi/testsuite/libffi.call/float2.c         |   23 +-
> > >  libffi/testsuite/libffi.call/offsets.c        |   46 +
> > >  libffi/testsuite/libffi.call/struct10.c       |   57 +
> > >  libffi/testsuite/libffi.call/va_1.c           |  120 +-
> > >  libffi/testsuite/libffi.call/va_2.c           |  196 +
> > >  libffi/testsuite/libffi.closures/closure.exp  |   67 +
> > >  .../closure_fn0.c                             |    0
> > >  .../closure_fn1.c                             |    0
> > >  .../closure_fn2.c                             |    0
> > >  .../closure_fn3.c                             |    0
> > >  .../closure_fn4.c                             |    0
> > >  .../closure_fn5.c                             |    0
> > >  .../closure_fn6.c                             |    0
> > >  .../closure_loc_fn0.c                         |    3 +
> > >  .../closure_simple.c                          |    0
> > >  .../cls_12byte.c                              |    0
> > >  .../cls_16byte.c                              |    0
> > >  .../cls_18byte.c                              |    0
> > >  .../cls_19byte.c                              |    0
> > >  .../cls_1_1byte.c                             |    0
> > >  .../cls_20byte.c                              |    2 +-
> > >  .../cls_20byte1.c                             |    2 +-
> > >  .../cls_24byte.c                              |    6 +-
> > >  .../cls_2byte.c                               |    0
> > >  .../cls_3_1byte.c                             |    0
> > >  .../cls_3byte1.c                              |    0
> > >  .../cls_3byte2.c                              |    0
> > >  libffi/testsuite/libffi.closures/cls_3float.c |   95 +
> > >  .../cls_4_1byte.c                             |    0
> > >  .../cls_4byte.c                               |    0
> > >  .../cls_5_1_byte.c                            |    2 +-
> > >  .../cls_5byte.c                               |    2 +-
> > >  .../cls_64byte.c                              |    0
> > >  .../cls_6_1_byte.c                            |    2 +-
> > >  .../cls_6byte.c                               |    2 +-
> > >  .../cls_7_1_byte.c                            |    2 +-
> > >  .../cls_7byte.c                               |    2 +-
> > >  .../cls_8byte.c                               |    0
> > >  .../cls_9byte1.c                              |    2 +-
> > >  .../cls_9byte2.c                              |    2 +-
> > >  .../cls_align_double.c                        |    2 +-
> > >  .../cls_align_float.c                         |    2 +-
> > >  .../cls_align_longdouble.c                    |    2 +-
> > >  .../cls_align_longdouble_split.c              |    2 +-
> > >  .../cls_align_longdouble_split2.c             |    2 +-
> > >  .../cls_align_pointer.c                       |    2 +-
> > >  .../cls_align_sint16.c                        |    2 +-
> > >  .../cls_align_sint32.c                        |    2 +-
> > >  .../cls_align_sint64.c                        |    2 +-
> > >  .../cls_align_uint16.c                        |    2 +-
> > >  .../cls_align_uint32.c                        |    2 +-
> > >  .../cls_align_uint64.c                        |    2 +-
> > >  .../cls_dbls_struct.c                         |    6 +-
> > >  .../cls_double.c                              |    0
> > >  .../cls_double_va.c                           |    0
> > >  .../cls_float.c                               |    0
> > >  .../cls_longdouble.c                          |    0
> > >  .../cls_longdouble_va.c                       |    0
> > >  .../cls_many_mixed_args.c                     |    0
> > >  .../cls_many_mixed_float_double.c             |    0
> > >  .../cls_multi_schar.c                         |    2 +-
> > >  .../cls_multi_sshort.c                        |    2 +-
> > >  .../cls_multi_sshortchar.c                    |    2 +-
> > >  .../cls_multi_uchar.c                         |    2 +-
> > >  .../cls_multi_ushort.c                        |    2 +-
> > >  .../cls_multi_ushortchar.c                    |    2 +-
> > >  .../cls_pointer.c                             |    0
> > >  .../cls_pointer_stack.c                       |    0
> > >  .../cls_schar.c                               |    0
> > >  .../cls_sint.c                                |    0
> > >  .../cls_sshort.c                              |    0
> > >  .../cls_struct_va1.c                          |    0
> > >  .../cls_uchar.c                               |    0
> > >  .../cls_uint.c                                |    0
> > >  .../cls_uint_va.c                             |    0
> > >  .../cls_ulong_va.c                            |    0
> > >  .../cls_ulonglong.c                           |    0
> > >  .../cls_ushort.c                              |    0
> > >  .../err_bad_abi.c                             |    0
> > >  libffi/testsuite/libffi.closures/ffitest.h    |  144 +
> > >  .../huge_struct.c                             |    4 +-
> > >  .../nested_struct.c                           |    2 +-
> > >  .../nested_struct1.c                          |    2 +-
> > >  .../nested_struct10.c                         |    1 +
> > >  .../nested_struct11.c                         |    0
> > >  .../libffi.closures/nested_struct12.c         |   86 +
> > >  .../nested_struct13.c}                        |   14 +-
> > >  .../nested_struct2.c                          |    2 +-
> > >  .../nested_struct3.c                          |    2 +-
> > >  .../nested_struct4.c                          |    0
> > >  .../nested_struct5.c                          |    0
> > >  .../nested_struct6.c                          |    0
> > >  .../nested_struct7.c                          |    0
> > >  .../nested_struct8.c                          |    0
> > >  .../nested_struct9.c                          |    0
> > >  .../problem1.c                                |    0
> > >  .../libffi.closures/single_entry_structs1.c   |   86 +
> > >  .../libffi.closures/single_entry_structs2.c   |  102 +
> > >  .../libffi.closures/single_entry_structs3.c   |  101 +
> > >  .../stret_large.c                             |    0
> > >  .../stret_large2.c                            |    0
> > >  .../stret_medium.c                            |    2 +-
> > >  .../stret_medium2.c                           |    2 +-
> > >  .../testclosure.c                             |    2 +-
> > >  .../unwindtest.cc                             |   13 +-
> > >  .../unwindtest_ffi_call.cc                    |    5 +-
> > >  libffi/testsuite/libffi.go/static-chain.h     |    6 -
> > >  libffi/testsuite/libffi.special/ffitestcxx.h  |   96 -
> > >  libffi/testsuite/libffi.special/special.exp   |   35 -
> > >  239 files changed, 24951 insertions(+), 6175 deletions(-)
> > >  create mode 100644 libffi/.gitattributes
> > >  create mode 100644 libffi/HOWTO_MERGE
> > >  create mode 100644 libffi/LICENSE-BUILDTOOLS
> > >  create mode 100644 libffi/MERGE
> > >  delete mode 100644 libffi/README
> > >  create mode 100644 libffi/README.md
> > >  create mode 100755 libffi/autogen.sh
> > >  create mode 100644 libffi/doc/Makefile.am
> > >  mode change 100644 => 100755 libffi/generate-darwin-source-and-headers.py
> > >  create mode 100644 libffi/include/tramp.h
> > >  mode change 100644 => 100755 libffi/mdate-sh
> > >  create mode 100755 libffi/merge.sh
> > >  create mode 100644 libffi/src/aarch64/win64_armasm.S
> > >  create mode 100644 libffi/src/arm/sysv_msvc_arm32.S
> > >  create mode 100644 libffi/src/csky/ffi.c
> > >  create mode 100644 libffi/src/csky/ffitarget.h
> > >  create mode 100644 libffi/src/csky/sysv.S
> > >  create mode 100644 libffi/src/kvx/asm.h
> > >  create mode 100644 libffi/src/kvx/ffi.c
> > >  create mode 100644 libffi/src/kvx/ffitarget.h
> > >  create mode 100644 libffi/src/kvx/sysv.S
> > >  create mode 100644 libffi/src/tramp.c
> > >  create mode 100644 libffi/src/x86/asmnames.h
> > >  delete mode 100644 libffi/src/x86/darwin.S
> > >  delete mode 100644 libffi/src/x86/darwin64.S
> > >  delete mode 100644 libffi/src/x86/darwin64_c.c
> > >  delete mode 100644 libffi/src/x86/darwin_c.c
> > >  create mode 100644 libffi/src/x86/sysv_intel.S
> > >  create mode 100644 libffi/src/x86/win64_intel.S
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/Makefile
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/README
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/alignof.h
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/bhaible.exp
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/test-call.c
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/test-callback.c
> > >  create mode 100644 libffi/testsuite/libffi.bhaible/testcases.c
> > >  create mode 100644 libffi/testsuite/libffi.call/align_mixed.c
> > >  create mode 100644 libffi/testsuite/libffi.call/align_stdcall.c
> > >  delete mode 100644 libffi/testsuite/libffi.call/cls_uchar_va.c
> > >  delete mode 100644 libffi/testsuite/libffi.call/cls_ushort_va.c
> > >  create mode 100644 libffi/testsuite/libffi.call/offsets.c
> > >  create mode 100644 libffi/testsuite/libffi.call/struct10.c
> > >  create mode 100644 libffi/testsuite/libffi.call/va_2.c
> > >  create mode 100644 libffi/testsuite/libffi.closures/closure.exp
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn0.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn1.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn2.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn3.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn4.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn5.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_fn6.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_loc_fn0.c (96%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/closure_simple.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_12byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_16byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_18byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_19byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_1_1byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_20byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_20byte1.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_24byte.c (95%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_2byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_3_1byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_3byte1.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_3byte2.c (100%)
> > >  create mode 100644 libffi/testsuite/libffi.closures/cls_3float.c
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_4_1byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_4byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_5_1_byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_5byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_64byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_6_1_byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_6byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_7_1_byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_7byte.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_8byte.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_9byte1.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_9byte2.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_double.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_float.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_longdouble.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_longdouble_split.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_longdouble_split2.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_pointer.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_sint16.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_sint32.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_sint64.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_uint16.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_uint32.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_align_uint64.c (97%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_dbls_struct.c (92%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_double.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_double_va.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_float.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_longdouble.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_longdouble_va.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_many_mixed_args.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_many_mixed_float_double.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_multi_schar.c (96%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_multi_sshort.c (96%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_multi_sshortchar.c (96%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_multi_uchar.c (96%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_multi_ushort.c (95%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_multi_ushortchar.c (96%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_pointer.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_pointer_stack.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_schar.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_sint.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_sshort.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_struct_va1.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_uchar.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_uint.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_uint_va.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_ulong_va.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_ulonglong.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/cls_ushort.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/err_bad_abi.c (100%)
> > >  create mode 100644 libffi/testsuite/libffi.closures/ffitest.h
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/huge_struct.c (99%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct1.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct10.c (99%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct11.c (100%)
> > >  create mode 100644 libffi/testsuite/libffi.closures/nested_struct12.c
> > >  rename libffi/testsuite/{libffi.call/nested_struct12.c => libffi.closures/nested_struct13.c} (88%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct2.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct3.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct4.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct5.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct6.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct7.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct8.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/nested_struct9.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/problem1.c (100%)
> > >  create mode 100644 libffi/testsuite/libffi.closures/single_entry_structs1.c
> > >  create mode 100644 libffi/testsuite/libffi.closures/single_entry_structs2.c
> > >  create mode 100644 libffi/testsuite/libffi.closures/single_entry_structs3.c
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/stret_large.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/stret_large2.c (100%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/stret_medium.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/stret_medium2.c (98%)
> > >  rename libffi/testsuite/{libffi.call => libffi.closures}/testclosure.c (95%)
> > >  rename libffi/testsuite/{libffi.special => libffi.closures}/unwindtest.cc (95%)
> > >  rename libffi/testsuite/{libffi.special => libffi.closures}/unwindtest_ffi_call.cc (94%)
> > >  delete mode 100644 libffi/testsuite/libffi.special/ffitestcxx.h
> > >  delete mode 100644 libffi/testsuite/libffi.special/special.exp
> > >
> > > --
> > > 2.31.1
> > >
>
>
>
> --
> H.J.


More information about the Gcc-patches mailing list