[PATCH 0/4] libffi: Sync with upstream
H.J. Lu
hjl.tools@gmail.com
Tue Aug 31 15:36:55 GMT 2021
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/667397efc8307e45ca6ddec737b0caf8ca9d0fda
4. Integrate libffi build and testsuite with GCC.
H.J. Lu (4):
libffi: Add HOWTO_MERGE, autogen.sh and merge.sh
libffi: Sync with libffi 3.4.2
libffi: Integrate 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
More information about the Gcc-patches
mailing list