On Wed, Oct 13, 2021 at 6:03 AM Richard Biener
<richard.guent...@gmail.com> wrote:
>
> On Wed, Oct 13, 2021 at 2:56 PM H.J. Lu <hjl.to...@gmail.com> wrote:
> >
> > On Wed, Oct 13, 2021 at 5:45 AM Richard Biener
> > <richard.guent...@gmail.com> wrote:
> > >
> > > On Thu, Sep 2, 2021 at 5:50 PM H.J. Lu <hjl.to...@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?

I will give it a try and report back.

> 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.



-- 
H.J.

Reply via email to