>From commits:
5be7b66998127286fada45e4f23bd8a2056d553e - libffi: Integrate build with GCC
333efaea633971912f2208d37b7b62992759d400 - libffi: Add --enable-cet to configure
6a6d3817afa02bbcd2388c8e005da6faf88932f1 - Config,Darwin: Allow for configuring
Darwin to use embedded runpath.
967d4171b2eb0557e86ba28996423353f0f1b141 - libffi: Consider
'--with-build-sysroot=[...]' for target libraries' build-tree testing (instead
of build-time 'CC' etc.) [PR109951]
35b05a02de1e8aee7c754a20f50736977c71caca - build: Derive object names in
make_sunver.pl
libffi/ChangeLog:
PR libffi/117635
* Makefile.am (AUTOMAKE_OPTIONS): Add info-in-builddir.
(ACLOCAL_AMFLAGS): Set to -I .. -I ../config.
(SUBDIRS): Don't add doc.
(TEXINFO_TEX): New.
(MAKEINFOFLAGS): Likewise.
(info_TEXINFOS): Likewise.
(STAMP_GENINSRC): Likewise.
(STAMP_BUILD_INFO): Likewise.
(all-local): Likewise.
(stamp-geninsrc): Likewise.
(doc/libffi.info): Likewise.
(stamp-build-info:): Likewise.
(CLEANFILES): Likewise.
(MAINTAINERCLEANFILES): Likewise.
(AM_MAKEFLAGS): Likewise.
(LTLDFLAGS): Replace libtool-ldflags with ../libtool-ldflags.
(AM_CFLAGS): Add -Wall -g -fexceptions $(CET_FLAGS).
(libffi.map-sun): Replace make_sunver.pl with
../contrib/make_sunver.pl. Pass $(libffi_la_OBJECTS),
$(libffi_la_LIBADD) to make_sunver.pl unmodified.
(libffi_la_LDFLAGS): Handle Darwin rpaths.
(AM_CCASFLAGS): Add $(CET_FLAGS).
(all-recursive): New.
(install-recursive): Likewise.
(mostlyclean-recursive): Likewise.
(clean-recursive): Likewise.
(distclean-recursive): Likewise.
(maintainer-clean-recursive): Likewise.
(dist-hook): Removed.
Include $(top_srcdir)/../multilib.am.
* Makefile.in: Regenerate.
* configure: Regenerate.
* configure.ac: Add AM_ENABLE_MULTILIB.
Remove the frv*-elf check.
(AX_ENABLE_BUILDDIR): Removed.
(AM_INIT_AUTOMAKE): Add [no-dist].
Add --enable-generated-files-in-srcdir.
(CET_FLAGS): Add GCC_CET_FLAGS and AC_SUBST.
(AC_CONFIG_MACRO_DIR): Removed.
(AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH])): New.
(AX_COMPILER_VENDOR): Removed.
(AX_CC_MAXOPT): Likewise.
(AX_CFLAGS_WARN_ALL): Likewise.
Remove the GCC check.
(AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)): New.
<local.exp>: Don't set 'CC_FOR_TARGET', 'CXX_FOR_TARGET',
instead set 'SYSROOT_CFLAGS_FOR_TARGET'.
(m4_warn([obsolete])): Removed.
(LT_SYS_SYMBOL_USCORE): Likewise.
(AX_CHECK_COMPILE_FLAG): Likewise.
Remove --disable-docs.
(ACX_CHECK_PROG_VER): Check makeinfo.
(BUILD_DOCS): Updated.
(exec-static-tramp): Don't enable use of static exec trampolines
by default.
Remove --disable-multi-os-directory.
(GCC_WITH_TOOLEXECLIBDIR): New.
Support cross host.
Support --enable-multilib.
(GCC_BASE_VER): New.
(AC_CONFIG_FILES): Remove doc/Makefile.
(AC_CONFIG_LINKS): New.
* fficonfig.h.in: Regenerate.
* include/Makefile.am (nodist_include_HEADERS): Removed.
(gcc_version): New.
(toollibffidir): Likewise.
(toollibffi_HEADERS): Likewise.
* include/Makefile.in: Regenerate.
* man/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
Signed-off-by: Pietro Monteiro <[email protected]>
---
libffi/Makefile.am | 133 +++-
libffi/Makefile.in | 78 ++-
libffi/configure | 1253 +++++++++-------------------------
libffi/configure.ac | 144 ++--
libffi/fficonfig.h.in | 55 +-
libffi/include/Makefile.am | 6 +-
libffi/include/Makefile.in | 6 +-
libffi/man/Makefile.in | 6 +-
libffi/testsuite/Makefile.in | 205 +++---
9 files changed, 670 insertions(+), 1216 deletions(-)
diff --git a/libffi/Makefile.am b/libffi/Makefile.am
index c3bcf00b327..d4b32f03a23 100644
--- a/libffi/Makefile.am
+++ b/libffi/Makefile.am
@@ -1,22 +1,10 @@
## Process this with automake to create Makefile.in
-AUTOMAKE_OPTIONS = foreign subdir-objects
+AUTOMAKE_OPTIONS = foreign subdir-objects info-in-builddir
-ACLOCAL_AMFLAGS = -I m4
-
-# Alias required by AX_ENABLE_BUILDDIR / config-ml
-.PHONY: all-configured
-all-configured: all
+ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = include testsuite man
-if BUILD_DOCS
-## This hack is needed because it doesn't seem possible to make a
-## conditional info_TEXINFOS in Automake. At least Automake 1.14
-## either gives errors -- if this attempted in the most
-## straightforward way -- or simply unconditionally tries to build the
-## info file.
-SUBDIRS += doc
-endif
EXTRA_DIST = LICENSE ChangeLog.old \
m4/libtool.m4 m4/lt~obsolete.m4 \
@@ -31,6 +19,90 @@ EXTRA_DIST = LICENSE ChangeLog.old \
# local.exp is generated by configure
DISTCLEANFILES = local.exp
+# Automake Documentation:
+# If your package has Texinfo files in many directories, you can use the
+# variable TEXINFO_TEX to tell Automake where to find the canonical
+# `texinfo.tex' for your package. The value of this variable should be
+# the relative path from the current `Makefile.am' to `texinfo.tex'.
+TEXINFO_TEX = ../gcc/doc/include/texinfo.tex
+
+# Defines info, dvi, pdf and html targets
+MAKEINFOFLAGS = -I $(srcdir)/../gcc/doc/include
+info_TEXINFOS = doc/libffi.texi
+
+# AM_CONDITIONAL on configure option --generated-files-in-srcdir
+if GENINSRC
+STAMP_GENINSRC = stamp-geninsrc
+else
+STAMP_GENINSRC =
+endif
+
+# AM_CONDITIONAL on configure check ACX_CHECK_PROG_VER([MAKEINFO])
+if BUILD_DOCS
+STAMP_BUILD_INFO = stamp-build-info
+else
+STAMP_BUILD_INFO =
+endif
+
+all-local: $(STAMP_GENINSRC)
+
+stamp-geninsrc: doc/libffi.info
+ cp -p $(top_builddir)/doc/libffi.info $(srcdir)/doc/libffi.info
+ @touch $@
+
+doc/libffi.info: $(STAMP_BUILD_INFO)
+
+stamp-build-info: doc/libffi.texi $(srcdir)/doc/version.texi
doc/$(am__dirstamp)
+ $(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)/doc -o
doc/libffi.info $(srcdir)/doc/libffi.texi
+ @touch $@
+
+CLEANFILES = $(STAMP_GENINSRC) $(STAMP_BUILD_INFO)
+MAINTAINERCLEANFILES = $(srcdir)/doc/libffi.info
+
+## ################################################################
+
+##
+## This section is for make and multilib madness.
+##
+
+# Work around what appears to be a GNU make bug handling MAKEFLAGS
+# values defined in terms of make variables, as is the case for CC and
+# friends when we are called from the top level Makefile.
+AM_MAKEFLAGS = \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS=$(CFLAGS)" \
+ "CXXFLAGS=$(CXXFLAGS)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+ "JC1FLAGS=$(JC1FLAGS)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+ "MAKE=$(MAKE)" \
+ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+ "PICFLAG=$(PICFLAG)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+ "RUNTESTFLAGS=$(RUNTESTFLAGS)" \
+ "SHELL=$(SHELL)" \
+ "exec_prefix=$(exec_prefix)" \
+ "infodir=$(infodir)" \
+ "libdir=$(libdir)" \
+ "mandir=$(mandir)" \
+ "prefix=$(prefix)" \
+ "AR=$(AR)" \
+ "AS=$(AS)" \
+ "CC=$(CC)" \
+ "CXX=$(CXX)" \
+ "LD=$(LD)" \
+ "NM=$(NM)" \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+
# Subdir rules rely on $(FLAGS_TO_PASS)
FLAGS_TO_PASS = $(AM_MAKEFLAGS)
@@ -113,9 +185,9 @@ libffi_convenience_la_LIBADD = $(libffi_la_LIBADD)
libffi_convenience_la_DEPENDENCIES = $(libffi_la_DEPENDENCIES)
nodist_libffi_convenience_la_SOURCES = $(nodist_libffi_la_SOURCES)
-LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/libtool-ldflags $(LDFLAGS))
+LTLDFLAGS = $(shell $(SHELL) $(top_srcdir)/../libtool-ldflags $(LDFLAGS))
-AM_CFLAGS =
+AM_CFLAGS = -Wall -g -fexceptions $(CET_FLAGS)
if FFI_DEBUG
# Build debug. Define FFI_DEBUG on the commandline so that, when building with
# MSVC, it can link against the debug CRT.
@@ -130,11 +202,10 @@ endif
if LIBFFI_BUILD_VERSIONED_SHLIB_SUN
libffi_version_script = -Wl,-M,libffi.map-sun
libffi_version_dep = libffi.map-sun
-libffi.map-sun : libffi.map $(top_srcdir)/make_sunver.pl \
+libffi.map-sun : libffi.map $(top_srcdir)/../contrib/make_sunver.pl \
$(libffi_la_OBJECTS) $(libffi_la_LIBADD)
- perl $(top_srcdir)/make_sunver.pl libffi.map \
- `echo $(libffi_la_OBJECTS) $(libffi_la_LIBADD) | \
- sed 's,\([^/ ]*\)\.l\([ao]\),.libs/\1.\2,g'` \
+ perl $(top_srcdir)/../contrib/make_sunver.pl libffi.map \
+ $(libffi_la_OBJECTS) $(libffi_la_LIBADD) \
> $@ || (rm -f $@ ; exit 1)
endif
else
@@ -147,16 +218,26 @@ libffi.map: $(top_srcdir)/libffi.map.in
$(COMPILE) -D$(TARGET) -DGENERATE_LIBFFI_MAP \
-E -x assembler-with-cpp -o $@ $(top_srcdir)/libffi.map.in
-libffi_la_LDFLAGS = -no-undefined $(libffi_version_info)
$(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
+if ENABLE_DARWIN_AT_RPATH
+libffi_darwin_rpath = -Wl,-rpath,@loader_path
+endif
+libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) \
+ $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS) \
+ $(libffi_darwin_rpath)
libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
-AM_CCASFLAGS = '$(AM_CPPFLAGS)'
+AM_CCASFLAGS = $(AM_CPPFLAGS) $(CET_FLAGS)
+
+# Multilib support. Automake should provide these on its own.
+all-recursive: all-multi
+install-recursive: install-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
-dist-hook:
- d=`(cd $(distdir); pwd)`; (cd doc; make pdf; cp *.pdf $$d/doc)
- if [ -d $(top_srcdir)/.git ] ; then (cd $(top_srcdir); git log
--no-decorate) ; else echo 'See git log for history.' ; fi >
$(distdir)/ChangeLog
- s=`awk '/was released on/{ print NR; exit}' $(top_srcdir)/README.md`;
tail -n +$$(($$s-1)) $(top_srcdir)/README.md > $(distdir)/README.md
+include $(top_srcdir)/../multilib.am
# target overrides
-include $(tmake_file)
diff --git a/libffi/Makefile.in b/libffi/Makefile.in
index 35c90354821..5149b479d3b 100644
--- a/libffi/Makefile.in
+++ b/libffi/Makefile.in
@@ -309,7 +309,6 @@ CTAGS = ctags
CSCOPE = cscope
DIST_SUBDIRS = $(SUBDIRS)
ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LTLDFLAGS = @AM_LTLDFLAGS@
@@ -343,6 +342,8 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+FFI_VERSION_NUMBER = @FFI_VERSION_NUMBER@
+FFI_VERSION_STRING = @FFI_VERSION_STRING@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -391,6 +392,7 @@ TARGET = @TARGET@
TARGETDIR = @TARGETDIR@
TARGET_OBJ = @TARGET_OBJ@
VERSION = @VERSION@
+WASM64_MEMORY64 = @WASM64_MEMORY64@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -398,6 +400,7 @@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_READELF = @ac_ct_READELF@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -446,6 +449,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+tmake_file = @tmake_file@
toolexecdir = @toolexecdir@
toolexeclibdir = @toolexeclibdir@
top_build_prefix = @top_build_prefix@
@@ -454,14 +458,15 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign subdir-objects info-in-builddir
ACLOCAL_AMFLAGS = -I .. -I ../config
SUBDIRS = include testsuite man
-EXTRA_DIST = LICENSE ChangeLog.old \
- m4/libtool.m4 m4/lt~obsolete.m4 \
- m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
- m4/ltversion.m4 src/debug.c msvcc.sh \
- generate-darwin-source-and-headers.py \
- libffi.xcodeproj/project.pbxproj \
- libtool-ldflags libtool-version configure.host README.md \
- libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl
+EXTRA_DIST = LICENSE ChangeLog.old \
+ m4/libtool.m4 m4/lt~obsolete.m4 \
+ m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
+ m4/ltversion.m4 src/debug.c msvcc.sh \
+ generate-darwin-source-and-headers.py \
+ libffi.xcodeproj/project.pbxproj \
+ src/powerpc/t-aix \
+ libtool-ldflags libtool-version configure.host README.md \
+ libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl
# local.exp is generated by configure
@@ -545,16 +550,19 @@ noinst_HEADERS = src/aarch64/ffitarget.h
src/aarch64/internal.h \
src/m32r/ffitarget.h src/m68k/ffitarget.h \
src/m88k/ffitarget.h src/metag/ffitarget.h \
src/microblaze/ffitarget.h src/mips/ffitarget.h \
- src/moxie/ffitarget.h src/nios2/ffitarget.h \
+ src/moxie/ffitarget.h \
src/or1k/ffitarget.h src/pa/ffitarget.h \
src/powerpc/ffitarget.h src/powerpc/asm.h \
- src/powerpc/ffi_powerpc.h src/riscv/ffitarget.h \
+ src/powerpc/ffi_powerpc.h src/powerpc/internal.h \
+ src/riscv/ffitarget.h \
src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \
src/sh64/ffitarget.h src/sparc/ffitarget.h \
src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \
+ src/wasm/ffitarget.h \
src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h \
src/x86/asmnames.h src/xtensa/ffitarget.h src/dlmalloc.c \
- src/kvx/ffitarget.h src/loongarch64/ffitarget.h
+ src/kvx/ffitarget.h src/kvx/asm.h \
+ src/loongarch64/ffitarget.h
EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
src/aarch64/win64_armasm.S src/alpha/ffi.c src/alpha/osf.S \
@@ -568,9 +576,9 @@ EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c
src/aarch64/sysv.S \
src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \
src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \
src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \
- src/nios2/ffi.c src/nios2/sysv.S src/or1k/ffi.c \
+ src/or1k/ffi.c \
src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
- src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
+ src/pa/hpux64.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
src/powerpc/linux64.S src/powerpc/linux64_closure.S \
src/powerpc/ppc_closure.S src/powerpc/aix.S \
@@ -581,6 +589,7 @@ EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c
src/aarch64/sysv.S \
src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \
src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \
src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \
+ src/wasm/ffi.c \
src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \
src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \
src/xtensa/ffi.c src/xtensa/sysv.S src/kvx/ffi.c \
@@ -906,16 +915,6 @@ src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
src/moxie/$(DEPDIR)/$(am__dirstamp)
src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
src/moxie/$(DEPDIR)/$(am__dirstamp)
-src/nios2/$(am__dirstamp):
- @$(MKDIR_P) src/nios2
- @: > src/nios2/$(am__dirstamp)
-src/nios2/$(DEPDIR)/$(am__dirstamp):
- @$(MKDIR_P) src/nios2/$(DEPDIR)
- @: > src/nios2/$(DEPDIR)/$(am__dirstamp)
-src/nios2/ffi.lo: src/nios2/$(am__dirstamp) \
- src/nios2/$(DEPDIR)/$(am__dirstamp)
-src/nios2/sysv.lo: src/nios2/$(am__dirstamp) \
- src/nios2/$(DEPDIR)/$(am__dirstamp)
src/or1k/$(am__dirstamp):
@$(MKDIR_P) src/or1k
@: > src/or1k/$(am__dirstamp)
@@ -937,6 +936,8 @@ src/pa/linux.lo: src/pa/$(am__dirstamp) \
src/pa/$(DEPDIR)/$(am__dirstamp)
src/pa/hpux32.lo: src/pa/$(am__dirstamp) \
src/pa/$(DEPDIR)/$(am__dirstamp)
+src/pa/hpux64.lo: src/pa/$(am__dirstamp) \
+ src/pa/$(DEPDIR)/$(am__dirstamp)
src/powerpc/$(am__dirstamp):
@$(MKDIR_P) src/powerpc
@: > src/powerpc/$(am__dirstamp)
@@ -1050,6 +1051,14 @@ src/x86/ffi.lo: src/x86/$(am__dirstamp) \
src/x86/$(DEPDIR)/$(am__dirstamp)
src/x86/sysv.lo: src/x86/$(am__dirstamp) \
src/x86/$(DEPDIR)/$(am__dirstamp)
+src/wasm/$(am__dirstamp):
+ @$(MKDIR_P) src/wasm
+ @: > src/wasm/$(am__dirstamp)
+src/wasm/$(DEPDIR)/$(am__dirstamp):
+ @$(MKDIR_P) src/wasm/$(DEPDIR)
+ @: > src/wasm/$(DEPDIR)/$(am__dirstamp)
+src/wasm/ffi.lo: src/wasm/$(am__dirstamp) \
+ src/wasm/$(DEPDIR)/$(am__dirstamp)
src/x86/ffiw64.lo: src/x86/$(am__dirstamp) \
src/x86/$(DEPDIR)/$(am__dirstamp)
src/x86/win64.lo: src/x86/$(am__dirstamp) \
@@ -1141,8 +1150,6 @@ mostlyclean-compile:
-rm -f src/mips/*.lo
-rm -f src/moxie/*.$(OBJEXT)
-rm -f src/moxie/*.lo
- -rm -f src/nios2/*.$(OBJEXT)
- -rm -f src/nios2/*.lo
-rm -f src/or1k/*.$(OBJEXT)
-rm -f src/or1k/*.lo
-rm -f src/pa/*.$(OBJEXT)
@@ -1163,6 +1170,8 @@ mostlyclean-compile:
-rm -f src/tile/*.lo
-rm -f src/vax/*.$(OBJEXT)
-rm -f src/vax/*.lo
+ -rm -f src/wasm/*.$(OBJEXT)
+ -rm -f src/wasm/*.lo
-rm -f src/x86/*.$(OBJEXT)
-rm -f src/x86/*.lo
-rm -f src/xtensa/*.$(OBJEXT)
@@ -1219,12 +1228,11 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/nios2/$(DEPDIR)/ffi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/nios2/$(DEPDIR)/sysv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/or1k/$(DEPDIR)/ffi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/or1k/$(DEPDIR)/sysv.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux32.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/hpux64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/linux.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/powerpc/$(DEPDIR)/aix.Plo@am__quote@
@AMDEP_TRUE@@am__include@
@am__quote@src/powerpc/$(DEPDIR)/aix_closure.Plo@am__quote@
@@ -1254,6 +1262,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/tile/$(DEPDIR)/tile.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/vax/$(DEPDIR)/elfbsd.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/vax/$(DEPDIR)/ffi.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/wasm/$(DEPDIR)/ffi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffiw64.Plo@am__quote@
@@ -1338,7 +1347,6 @@ clean-libtool:
-rm -rf src/microblaze/.libs src/microblaze/_libs
-rm -rf src/mips/.libs src/mips/_libs
-rm -rf src/moxie/.libs src/moxie/_libs
- -rm -rf src/nios2/.libs src/nios2/_libs
-rm -rf src/or1k/.libs src/or1k/_libs
-rm -rf src/pa/.libs src/pa/_libs
-rm -rf src/powerpc/.libs src/powerpc/_libs
@@ -1349,6 +1357,7 @@ clean-libtool:
-rm -rf src/sparc/.libs src/sparc/_libs
-rm -rf src/tile/.libs src/tile/_libs
-rm -rf src/vax/.libs src/vax/_libs
+ -rm -rf src/wasm/.libs src/wasm/_libs
-rm -rf src/x86/.libs src/x86/_libs
-rm -rf src/xtensa/.libs src/xtensa/_libs
@@ -1697,8 +1706,6 @@ distclean-generic:
-rm -f src/mips/$(am__dirstamp)
-rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
-rm -f src/moxie/$(am__dirstamp)
- -rm -f src/nios2/$(DEPDIR)/$(am__dirstamp)
- -rm -f src/nios2/$(am__dirstamp)
-rm -f src/or1k/$(DEPDIR)/$(am__dirstamp)
-rm -f src/or1k/$(am__dirstamp)
-rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
@@ -1719,6 +1726,8 @@ distclean-generic:
-rm -f src/tile/$(am__dirstamp)
-rm -f src/vax/$(DEPDIR)/$(am__dirstamp)
-rm -f src/vax/$(am__dirstamp)
+ -rm -f src/wasm/$(DEPDIR)/$(am__dirstamp)
+ -rm -f src/wasm/$(am__dirstamp)
-rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
-rm -f src/x86/$(am__dirstamp)
-rm -f src/xtensa/$(DEPDIR)/$(am__dirstamp)
@@ -1737,7 +1746,7 @@ clean-am: clean-aminfo clean-generic clean-libtool
clean-local \
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
- -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR)
src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR)
src/cris/$(DEPDIR) src/csky/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR)
src/kvx/$(DEPDIR) src/loongarch64/$(DEPDIR) src/m32r/$(DEPDIR)
src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR)
src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR)
src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR)
src/riscv/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR)
src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR)
src/xtensa/$(DEPDIR)
+ -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR)
src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR)
src/cris/$(DEPDIR) src/csky/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR)
src/kvx/$(DEPDIR) src/loongarch64/$(DEPDIR) src/m32r/$(DEPDIR)
src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR)
src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR)
src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/riscv/$(DEPDIR)
src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR)
src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/wasm/$(DEPDIR) src/x86/$(DEPDIR)
src/xtensa/$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-libtool distclean-local distclean-tags
@@ -1876,7 +1885,7 @@ installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
- -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR)
src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR)
src/cris/$(DEPDIR) src/csky/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR)
src/kvx/$(DEPDIR) src/loongarch64/$(DEPDIR) src/m32r/$(DEPDIR)
src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR)
src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR)
src/nios2/$(DEPDIR) src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR)
src/riscv/$(DEPDIR) src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR)
src/sparc/$(DEPDIR) src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/x86/$(DEPDIR)
src/xtensa/$(DEPDIR)
+ -rm -rf src/$(DEPDIR) src/aarch64/$(DEPDIR) src/alpha/$(DEPDIR)
src/arc/$(DEPDIR) src/arm/$(DEPDIR) src/avr32/$(DEPDIR) src/bfin/$(DEPDIR)
src/cris/$(DEPDIR) src/csky/$(DEPDIR) src/frv/$(DEPDIR) src/ia64/$(DEPDIR)
src/kvx/$(DEPDIR) src/loongarch64/$(DEPDIR) src/m32r/$(DEPDIR)
src/m68k/$(DEPDIR) src/m88k/$(DEPDIR) src/metag/$(DEPDIR)
src/microblaze/$(DEPDIR) src/mips/$(DEPDIR) src/moxie/$(DEPDIR)
src/or1k/$(DEPDIR) src/pa/$(DEPDIR) src/powerpc/$(DEPDIR) src/riscv/$(DEPDIR)
src/s390/$(DEPDIR) src/sh/$(DEPDIR) src/sh64/$(DEPDIR) src/sparc/$(DEPDIR)
src/tile/$(DEPDIR) src/vax/$(DEPDIR) src/wasm/$(DEPDIR) src/x86/$(DEPDIR)
src/xtensa/$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-aminfo \
maintainer-clean-generic maintainer-clean-local \
@@ -1985,6 +1994,9 @@ clean-local: clean-multi
distclean-local: distclean-multi
maintainer-clean-local: maintainer-clean-multi
+# target overrides
+-include $(tmake_file)
+
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
diff --git a/libffi/configure b/libffi/configure
index 3876ec06201..61754bc676e 100755
--- a/libffi/configure
+++ b/libffi/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for libffi 3.4.2.
+# Generated by GNU Autoconf 2.69 for libffi 3.5.2.
#
# Report bugs to <http://github.com/libffi/libffi/issues>.
#
@@ -198,6 +198,7 @@ test -x / || exit 1"
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested"
as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" =
\"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1
test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
@@ -205,8 +206,7 @@ test -x / || exit 1"
ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
PATH=/empty FPATH=/empty; export PATH FPATH
test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
- || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
+ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='libffi'
PACKAGE_TARNAME='libffi'
-PACKAGE_VERSION='3.4.2'
-PACKAGE_STRING='libffi 3.4.2'
+PACKAGE_VERSION='3.5.2'
+PACKAGE_STRING='libffi 3.5.2'
PACKAGE_BUGREPORT='http://github.com/libffi/libffi/issues'
PACKAGE_URL=''
@@ -644,6 +644,7 @@ LIBFFI_BUILD_VERSIONED_SHLIB_FALSE
LIBFFI_BUILD_VERSIONED_SHLIB_TRUE
OPT_LDFLAGS
SECTION_LDFLAGS
+tmake_file
toolexeclibdir
toolexecdir
FFI_DEBUG_FALSE
@@ -656,9 +657,9 @@ BUILD_DOCS_TRUE
FFI_EXEC_TRAMPOLINE_TABLE
FFI_EXEC_TRAMPOLINE_TABLE_FALSE
FFI_EXEC_TRAMPOLINE_TABLE_TRUE
+WASM64_MEMORY64
HAVE_LONG_DOUBLE_VARIANT
HAVE_LONG_DOUBLE
-ALLOCA
AM_LTLDFLAGS
AM_RUNTESTFLAGS
TESTSUBDIR_FALSE
@@ -667,6 +668,7 @@ MAINT
MAINTAINER_MODE_FALSE
MAINTAINER_MODE_TRUE
SYSROOT_CFLAGS_FOR_TARGET
+ac_ct_READELF
READELF
ENABLE_DARWIN_AT_RPATH_FALSE
ENABLE_DARWIN_AT_RPATH_TRUE
@@ -687,10 +689,10 @@ ac_ct_DUMPBIN
DUMPBIN
LD
FGREP
-EGREP
-GREP
SED
LIBTOOL
+EGREP
+GREP
am__fastdepCCAS_FALSE
am__fastdepCCAS_TRUE
CCASDEPMODE
@@ -762,6 +764,8 @@ build_vendor
build_cpu
build
multi_basedir
+FFI_VERSION_NUMBER
+FFI_VERSION_STRING
target_alias
host_alias
build_alias
@@ -833,7 +837,8 @@ CCAS
CCASFLAGS
CPP
CPPFLAGS
-CXXCPP'
+CXXCPP
+WASM64_MEMORY64'
# Initialize some variables set by options.
@@ -1374,7 +1379,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures libffi 3.4.2 to adapt to many kinds of systems.
+\`configure' configures libffi 3.5.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1445,7 +1450,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libffi 3.4.2:";;
+ short | recursive ) echo "Configuration of libffi 3.5.2:";;
esac
cat <<\_ACEOF
@@ -1476,11 +1481,11 @@ Optional Features:
--enable-maintainer-mode
enable make rules and dependencies not useful (and
sometimes confusing) to the casual installer
- --enable-pax_emutramp enable pax emulated trampolines, for we can't
use PROT_EXEC
+ --enable-pax_emutramp enable pax emulated trampolines (experimental)
--enable-debug debugging mode
--disable-structs omit code for struct support
--disable-raw-api make the raw api unavailable
- --enable-exec-static-tramp enable use of static exec trampolines
+ --enable-exec-static-tramp enable use of static exec trampolines (disabled
by default)
--enable-purify-safety purify-safe mode
--enable-symvers=STYLE enables symbol versioning of the shared library
[default=yes]
@@ -1511,6 +1516,9 @@ Some influential environment variables:
CCASFLAGS assembler compiler flags (defaults to CFLAGS)
CPP C preprocessor
CXXCPP C++ preprocessor
+ WASM64_MEMORY64
+ Used only for the wasm64 target. Set to 1 (default) or 2 for
+ Emscripten's -sMEMORY64 mode
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
@@ -1578,7 +1586,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libffi configure 3.4.2
+libffi configure 3.5.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2247,65 +2255,11 @@ fi
eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
} # ac_fn_c_check_header_mongrel
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- eval "$3=no"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof ($2))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libffi $as_me 3.4.2, which was
+It was created by libffi $as_me 3.5.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2659,6 +2613,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
ac_config_headers="$ac_config_headers fficonfig.h"
+FFI_VERSION_STRING="3.5.2"
+FFI_VERSION_NUMBER=30502
+
+
+
# Default to --enable-multilib
# Check whether --enable-multilib was given.
if test "${enable_multilib+set}" = set; then :
@@ -2836,7 +2795,6 @@ test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-
target_alias=${target_alias-$host_alias}
am__api_version='1.15'
@@ -3325,7 +3283,7 @@ fi
# Define the identity of the package.
PACKAGE='libffi'
- VERSION='3.4.2'
+ VERSION='3.5.2'
cat >>confdefs.h <<_ACEOF
@@ -5111,6 +5069,136 @@ fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long
lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if ${ac_cv_path_GREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_GREP" || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl"
>"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error $? "no acceptable grep could be found in
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if ${ac_cv_path_EGREP+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_EGREP" || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null ||
break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error $? "no acceptable egrep could be found in
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
case `pwd` in
*\ * | *\ *)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope
well with whitespace in \`pwd\`" >&5
@@ -5287,28 +5375,31 @@ Xsed="$SED -e 1s/^X//"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long
lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if ${ac_cv_path_FGREP+:} false; then :
$as_echo_n "(cached) " >&6
else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
+ if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+ then ac_cv_path_FGREP="$GREP -F"
+ else
+ if test -z "$FGREP"; then
+ ac_path_FGREP_found=false
# Loop through the user's path and test for each of PROGNAME-LIST
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
+ for ac_prog in fgrep; do
for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
+ ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+ as_fn_executable_p "$ac_path_FGREP" || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+ # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+ ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
*)
ac_count=0
$as_echo_n 0123456789 >"conftest.in"
@@ -5317,14 +5408,14 @@ case `"$ac_path_GREP" --version 2>&1` in
cat "conftest.in" "conftest.in" >"conftest.tmp"
mv "conftest.tmp" "conftest.in"
cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl"
>"conftest.out" 2>/dev/null || break
+ $as_echo 'FGREP' >> "conftest.nl"
+ "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ if test $ac_count -gt ${ac_path_FGREP_max-0}; then
# Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
+ ac_cv_path_FGREP="$ac_path_FGREP"
+ ac_path_FGREP_max=$ac_count
fi
# 10*(2^10) chars as input seems more than enough
test $ac_count -gt 10 && break
@@ -5332,156 +5423,23 @@ case `"$ac_path_GREP" --version 2>&1` in
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
esac
- $ac_path_GREP_found && break 3
+ $ac_path_FGREP_found && break 3
done
done
done
IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ if test -z "$ac_cv_path_FGREP"; then
+ as_fn_error $? "no acceptable fgrep could be found in
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
fi
else
- ac_cv_path_GREP=$GREP
+ ac_cv_path_FGREP=$FGREP
fi
+ fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if ${ac_cv_path_EGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_EGREP" || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null ||
break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error $? "no acceptable egrep could be found in
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in
$PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
test -z "$GREP" && GREP=grep
@@ -12063,7 +12021,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12066 "configure"
+#line 12024 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12169,7 +12127,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12172 "configure"
+#line 12130 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -15498,8 +15456,10 @@ fi
if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}readelf", so it can be a
program name with args.
-set dummy ${ac_tool_prefix}readelf; ac_word=$2
+ for ac_prog in readelf greadelf
+ do
+ # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a
program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_READELF+:} false; then :
@@ -15515,7 +15475,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_READELF="${ac_tool_prefix}readelf"
+ ac_cv_prog_READELF="$ac_tool_prefix$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext"
>&5
break 2
fi
@@ -15535,11 +15495,15 @@ $as_echo "no" >&6; }
fi
+ test -n "$READELF" && break
+ done
fi
-if test -z "$ac_cv_prog_READELF"; then
+if test -z "$READELF"; then
ac_ct_READELF=$READELF
- # Extract the first word of "readelf", so it can be a program name with args.
-set dummy readelf; ac_word=$2
+ for ac_prog in readelf greadelf
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with
args.
+set dummy $ac_prog; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_prog_ac_ct_READELF+:} false; then :
@@ -15555,7 +15519,7 @@ do
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_READELF="readelf"
+ ac_cv_prog_ac_ct_READELF="$ac_prog"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext"
>&5
break 2
fi
@@ -15574,6 +15538,10 @@ else
$as_echo "no" >&6; }
fi
+
+ test -n "$ac_ct_READELF" && break
+done
+
if test "x$ac_ct_READELF" = x; then
READELF=""
else
@@ -15585,8 +15553,6 @@ ac_tool_warned=yes ;;
esac
READELF=$ac_ct_READELF
fi
-else
- READELF="$ac_cv_prog_READELF"
fi
@@ -15680,599 +15646,136 @@ fi
done
-for ac_header in sys/mman.h
+ if test -d $srcdir/testsuite; then
+ TESTSUBDIR_TRUE=
+ TESTSUBDIR_FALSE='#'
+else
+ TESTSUBDIR_TRUE='#'
+ TESTSUBDIR_FALSE=
+fi
+
+
+TARGETDIR="unknown"
+HAVE_LONG_DOUBLE_VARIANT=0
+
+. ${srcdir}/configure.host
+
+if test -n "${UNSUPPORTED}"; then
+ as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
+fi
+
+
+
+
+for ac_func in memcpy
do :
- ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h"
"ac_cv_header_sys_mman_h" "$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
+ ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
+if test "x$ac_cv_func_memcpy" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define HAVE_SYS_MMAN_H 1
+#define HAVE_MEMCPY 1
_ACEOF
fi
-
done
-for ac_func in mmap mkostemp mkstemp
+for ac_header in alloca.h
do :
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ ac_fn_c_check_header_mongrel "$LINENO" "alloca.h" "ac_cv_header_alloca_h"
"$ac_includes_default"
+if test "x$ac_cv_header_alloca_h" = xyes; then :
cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define HAVE_ALLOCA_H 1
_ACEOF
fi
+
done
-ac_fn_c_check_header_mongrel "$LINENO" "sys/mman.h" "ac_cv_header_sys_mman_h"
"$ac_includes_default"
-if test "x$ac_cv_header_sys_mman_h" = xyes; then :
- libffi_header_sys_mman_h=yes
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
+$as_echo_n "checking size of double... " >&6; }
+if ${ac_cv_sizeof_double+:} false; then :
+ $as_echo_n "(cached) " >&6
else
- libffi_header_sys_mman_h=no
-fi
-
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))"
"ac_cv_sizeof_double" "$ac_includes_default"; then :
-ac_fn_c_check_func "$LINENO" "mmap" "ac_cv_func_mmap"
-if test "x$ac_cv_func_mmap" = xyes; then :
- libffi_func_mmap=yes
else
- libffi_func_mmap=no
+ if test "$ac_cv_type_double" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (double)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_double=0
+ fi
fi
-if test "$libffi_header_sys_mman_h" != yes \
- || test "$libffi_func_mmap" != yes; then
- ac_cv_func_mmap_file=no
- ac_cv_func_mmap_dev_zero=no
- ac_cv_func_mmap_anon=no
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether read-only mmap of
a plain file works" >&5
-$as_echo_n "checking whether read-only mmap of a plain file works... " >&6; }
-if ${ac_cv_func_mmap_file+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if
- # mmap(0, stat_size, PROT_READ, MAP_PRIVATE, fd, 0) doesn't return a
- # memory area containing the same data that you'd get if you applied
- # read() to the same fd. The only system known to have a problem here
- # is VMS, where text files have record structure.
- case "$host_os" in
- vms* | ultrix*)
- ac_cv_func_mmap_file=no ;;
- *)
- ac_cv_func_mmap_file=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_file" >&5
-$as_echo "$ac_cv_func_mmap_file" >&6; }
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap from
/dev/zero works" >&5
-$as_echo_n "checking whether mmap from /dev/zero works... " >&6; }
-if ${ac_cv_func_mmap_dev_zero+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # Add a system to this blacklist if it has mmap() but /dev/zero
- # does not exist, or if mmapping /dev/zero does not give anonymous
- # zeroed pages with both the following properties:
- # 1. If you map N consecutive pages in with one call, and then
- # unmap any subset of those pages, the pages that were not
- # explicitly unmapped remain accessible.
- # 2. If you map two adjacent blocks of memory and then unmap them
- # both at once, they must both go away.
- # Systems known to be in this category are Windows (all variants),
- # VMS, and Darwin.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | darwin* | ultrix* | hpux10* | hpux11.00)
- ac_cv_func_mmap_dev_zero=no ;;
- *)
- ac_cv_func_mmap_dev_zero=yes;;
- esac
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_dev_zero" >&5
-$as_echo "$ac_cv_func_mmap_dev_zero" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
+$as_echo "$ac_cv_sizeof_double" >&6; }
- # Unlike /dev/zero, the MAP_ANON(YMOUS) defines can be probed for.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MAP_ANON(YMOUS)" >&5
-$as_echo_n "checking for MAP_ANON(YMOUS)... " >&6; }
-if ${ac_cv_decl_map_anon+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/mman.h>
-#include <unistd.h>
-#ifndef MAP_ANONYMOUS
-#define MAP_ANONYMOUS MAP_ANON
-#endif
-int
-main ()
-{
-int n = MAP_ANONYMOUS;
- ;
- return 0;
-}
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_DOUBLE $ac_cv_sizeof_double
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_decl_map_anon=yes
-else
- ac_cv_decl_map_anon=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_decl_map_anon" >&5
-$as_echo "$ac_cv_decl_map_anon" >&6; }
- if test $ac_cv_decl_map_anon = no; then
- ac_cv_func_mmap_anon=no
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap with
MAP_ANON(YMOUS) works" >&5
-$as_echo_n "checking whether mmap with MAP_ANON(YMOUS) works... " >&6; }
-if ${ac_cv_func_mmap_anon+:} false; then :
+
+# The cast to long int works around a bug in the HP C Compiler
+# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+# This bug is HP SR number 8606223364.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
+$as_echo_n "checking size of long double... " >&6; }
+if ${ac_cv_sizeof_long_double+:} false; then :
$as_echo_n "(cached) " >&6
else
- # Add a system to this blacklist if it has mmap() and MAP_ANON or
- # MAP_ANONYMOUS, but using mmap(..., MAP_PRIVATE|MAP_ANONYMOUS, -1, 0)
- # doesn't give anonymous zeroed pages with the same properties listed
- # above for use of /dev/zero.
- # Systems known to be in this category are Windows, VMS, and SCO Unix.
- case "$host_os" in
- vms* | cygwin* | pe | mingw* | sco* | udk* )
- ac_cv_func_mmap_anon=no ;;
- *)
- ac_cv_func_mmap_anon=yes;;
- esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mmap_anon" >&5
-$as_echo "$ac_cv_func_mmap_anon" >&6; }
+ if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))"
"ac_cv_sizeof_long_double" "$ac_includes_default"; then :
+
+else
+ if test "$ac_cv_type_long_double" = yes; then
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "cannot compute sizeof (long double)
+See \`config.log' for more details" "$LINENO" 5; }
+ else
+ ac_cv_sizeof_long_double=0
fi
fi
-if test $ac_cv_func_mmap_file = yes; then
-
-$as_echo "#define HAVE_MMAP_FILE 1" >>confdefs.h
-
fi
-if test $ac_cv_func_mmap_dev_zero = yes; then
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
+$as_echo "$ac_cv_sizeof_long_double" >&6; }
-$as_echo "#define HAVE_MMAP_DEV_ZERO 1" >>confdefs.h
-fi
-if test $ac_cv_func_mmap_anon = yes; then
-$as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h
+cat >>confdefs.h <<_ACEOF
+#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
+_ACEOF
-fi
- if test -d $srcdir/testsuite; then
- TESTSUBDIR_TRUE=
- TESTSUBDIR_FALSE='#'
-else
- TESTSUBDIR_TRUE='#'
- TESTSUBDIR_FALSE=
-fi
+# Also AC_SUBST this variable for ffi.h.
+if test -z "$HAVE_LONG_DOUBLE"; then
+ HAVE_LONG_DOUBLE=0
+ if test $ac_cv_sizeof_long_double != 0; then
+ if test $HAVE_LONG_DOUBLE_VARIANT != 0; then
+$as_echo "#define HAVE_LONG_DOUBLE_VARIANT 1" >>confdefs.h
-TARGETDIR="unknown"
-HAVE_LONG_DOUBLE_VARIANT=0
+ HAVE_LONG_DOUBLE=1
+ else
+ if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
+ HAVE_LONG_DOUBLE=1
-. ${srcdir}/configure.host
+$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-if test -n "${UNSUPPORTED}"; then
- as_fn_error $? "\"libffi has not been ported to $host.\"" "$LINENO" 5
-fi
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if ${ac_cv_header_stdc+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-for ac_func in memcpy
-do :
- ac_fn_c_check_func "$LINENO" "memcpy" "ac_cv_func_memcpy"
-if test "x$ac_cv_func_memcpy" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_MEMCPY 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t"
"$ac_includes_default"
-if test "x$ac_cv_type_size_t" = xyes; then :
-
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned int
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
-$as_echo_n "checking for working alloca.h... " >&6; }
-if ${ac_cv_working_alloca_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_working_alloca_h=yes
-else
- ac_cv_working_alloca_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
-$as_echo "$ac_cv_working_alloca_h" >&6; }
-if test $ac_cv_working_alloca_h = yes; then
-
-$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
-$as_echo_n "checking for alloca... " >&6; }
-if ${ac_cv_func_alloca_works+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# ifdef HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-void *alloca (size_t);
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- if (p) return 0;
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_func_alloca_works=yes
-else
- ac_cv_func_alloca_works=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
-$as_echo "$ac_cv_func_alloca_works" >&6; }
-
-if test $ac_cv_func_alloca_works = yes; then
-
-$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
-
-$as_echo "#define C_ALLOCA 1" >>confdefs.h
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs
Cray hooks" >&5
-$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
-if ${ac_cv_os_cray+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#if defined CRAY && ! defined CRAY2
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then :
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
-$as_echo "$ac_cv_os_cray" >&6; }
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
-ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C
alloca" >&5
-$as_echo_n "checking stack direction for C alloca... " >&6; }
-if ${ac_cv_c_stack_direction+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "$cross_compiling" = yes; then :
- ac_cv_c_stack_direction=0
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-$ac_includes_default
-int
-find_stack_direction (int *addr, int depth)
-{
- int dir, dummy = 0;
- if (! addr)
- addr = &dummy;
- *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1;
- dir = depth ? find_stack_direction (addr, depth - 1) : 0;
- return dir + dummy;
-}
-
-int
-main (int argc, char **argv)
-{
- return find_stack_direction (0, argc + !argv + 20) < 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
- ac_cv_c_stack_direction=1
-else
- ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
- conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
-$as_echo "$ac_cv_c_stack_direction" >&6; }
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5
-$as_echo_n "checking size of double... " >&6; }
-if ${ac_cv_sizeof_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))"
"ac_cv_sizeof_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5
-$as_echo "$ac_cv_sizeof_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_DOUBLE $ac_cv_sizeof_double
-_ACEOF
-
-
-# The cast to long int works around a bug in the HP C Compiler
-# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
-# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
-# This bug is HP SR number 8606223364.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5
-$as_echo_n "checking size of long double... " >&6; }
-if ${ac_cv_sizeof_long_double+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))"
"ac_cv_sizeof_long_double" "$ac_includes_default"; then :
-
-else
- if test "$ac_cv_type_long_double" = yes; then
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "cannot compute sizeof (long double)
-See \`config.log' for more details" "$LINENO" 5; }
- else
- ac_cv_sizeof_long_double=0
- fi
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5
-$as_echo "$ac_cv_sizeof_long_double" >&6; }
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double
-_ACEOF
-
-
-
-# Also AC_SUBST this variable for ffi.h.
-if test -z "$HAVE_LONG_DOUBLE"; then
- HAVE_LONG_DOUBLE=0
- if test $ac_cv_sizeof_long_double != 0; then
- if test $HAVE_LONG_DOUBLE_VARIANT != 0; then
-
-$as_echo "#define HAVE_LONG_DOUBLE_VARIANT 1" >>confdefs.h
-
- HAVE_LONG_DOUBLE=1
- else
- if test $ac_cv_sizeof_double != $ac_cv_sizeof_long_double; then
- HAVE_LONG_DOUBLE=1
-
-$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
-
- fi
- fi
- fi
+ fi
+ fi
+ fi
fi
@@ -16537,6 +16040,8 @@ $as_echo "#define HAVE_AS_CFI_PSEUDO_OP 1" >>confdefs.h
fi
+
+
case "$TARGET" in
SPARC)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler and linker
support unaligned pc related relocs" >&5
@@ -16647,7 +16152,7 @@ else
libffi_cv_as_s390_zarch=no
echo 'void foo(void) { bar(); bar(); }' > conftest.c
if $CC $CFLAGS -S conftest.c > /dev/null 2>&1; then
- if grep -q brasl conftest.s; then
+ if $GREP -q brasl conftest.s; then
libffi_cv_as_s390_zarch=yes
fi
fi
@@ -16661,6 +16166,12 @@ $as_echo "#define HAVE_AS_S390_ZARCH 1" >>confdefs.h
fi
;;
+ wasm64)
+ if test -z "$WASM64_MEMORY64"; then
+ WASM64_MEMORY64=1
+ fi
+ CFLAGS="$CFLAGS -sMEMORY64=$WASM64_MEMORY64"
+ ;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports
pointer authentication" >&5
@@ -16679,11 +16190,11 @@ main ()
#ifdef __clang__
# if __has_feature(ptrauth_calls)
-# define HAVE_PTRAUTH 1
+# define HAVE_ARM64E_PTRAUTH 1
# endif
#endif
-#ifndef HAVE_PTRAUTH
+#ifndef HAVE_ARM64E_PTRAUTH
# error Pointer authentication not supported
#endif
@@ -16703,14 +16214,20 @@ fi
$as_echo "$libffi_cv_as_ptrauth" >&6; }
if test "x$libffi_cv_as_ptrauth" = xyes; then
-$as_echo "#define HAVE_PTRAUTH 1" >>confdefs.h
+$as_echo "#define HAVE_ARM64E_PTRAUTH 1" >>confdefs.h
fi
-# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC.
+# On PaX enable kernels that have MPROTECT enable we can't use PROT_EXEC;
+# if EMUTRAMP is active too ffi could try mapping without PROT_EXEC,
+# but the kernel needs to recognize the trampoline generated by ffi.
+# Otherwise fallback to double mmap trick.
# Check whether --enable-pax_emutramp was given.
if test "${enable_pax_emutramp+set}" = set; then :
enableval=$enable_pax_emutramp; if test "$enable_pax_emutramp" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: EMUTRAMP is experimental
only. Use --enable-pax_emutramp=experimental to enforce." >&5
+$as_echo "$as_me: WARNING: EMUTRAMP is experimental only. Use
--enable-pax_emutramp=experimental to enforce." >&2;}
+ elif test "$enable_pax_emutramp" = "experimental"; then
$as_echo "#define FFI_MMAP_EXEC_EMUTRAMP_PAX 1" >>confdefs.h
@@ -16726,7 +16243,7 @@ case "$target" in
$as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h
;;
- *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris* |
*-linux-android*)
+ *-apple-* | *-*-dragonfly* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd*
| *-pc-solaris* | *-linux-android*)
$as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h
@@ -16791,7 +16308,7 @@ else
libffi_cv_ro_eh_frame=yes
echo 'extern void foo (void); void bar (void) { foo (); foo (); }' >
conftest.c
if $CC $CFLAGS -c -fpic -fexceptions -fno-lto -o conftest.o conftest.c
> /dev/null 2>&1; then
- if $READELF -WS conftest.o | grep -q -n 'eh_frame .* WA'; then
+ if $READELF -WS conftest.o 2>/dev/null | $GREP -q -n 'eh_frame .*
WA'; then
libffi_cv_ro_eh_frame=no
fi
fi
@@ -16827,7 +16344,7 @@ else
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
- if egrep '(\.hidden|\.private_extern).*foo' conftest.s >/dev/null;
then
+ if $EGREP '(\.hidden|\.private_extern).*foo|foo.*,hidden'
conftest.s >/dev/null; then
libffi_cv_hidden_visibility_attribute=yes
fi
fi
@@ -16987,9 +16504,15 @@ fi
if test "$enable_exec_static_tramp" = yes; then
case "$target" in
- *-cygwin*)
+ *-cygwin* | *-msys*)
+ # Only define static trampolines if we are using the cygwin runtime.
+ # Will this need to be changed for mingw?
+
+$as_echo "#define FFI_EXEC_STATIC_TRAMP 1" >>confdefs.h
+
;;
- *arm*-*-linux-* | aarch64*-*-linux-* | i*86-*-linux-* | x86_64-*-linux-*)
+ *arm*-*-linux-* | aarch64*-*-linux-* | i*86-*-linux-* | x86_64-*-linux-* \
+ | loongarch*-*-linux-* | s390x*-linux-* | powerpc*-linux-*)
$as_echo "#define FFI_EXEC_STATIC_TRAMP 1" >>confdefs.h
@@ -17052,117 +16575,17 @@ else
multilib_arg=
fi
-# Check linker support.
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
- withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
- with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
- # Check if gcc -print-prog-name=ld gives a path.
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
- case $host in
- *-*-mingw*)
- # gcc leaves a trailing carriage return which upsets mingw
- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
- *)
- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
- esac
- case $ac_prog in
- # Accept absolute paths.
- [\\/]* | ?:[\\/]*)
- re_direlt='/[^/][^/]*/\.\./'
- # Canonicalize the pathname of ld
- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
- done
- test -z "$LD" && LD="$ac_prog"
- ;;
- "")
- # If it fails, then pretend we aren't using GCC.
- ac_prog=ld
- ;;
- *)
- # If it is relative, then search for the first ld in PATH.
- with_gnu_ld=unknown
- ;;
- esac
-elif test "$with_gnu_ld" = yes; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$LD"; then
- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
- for ac_dir in $PATH; do
- IFS="$lt_save_ifs"
- test -z "$ac_dir" && ac_dir=.
- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
- lt_cv_path_LD="$ac_dir/$ac_prog"
- # Check to see if the program is GNU ld. I'd rather use --version,
- # but apparently some variants of GNU ld only accept -v.
- # Break only if it was the GNU/non-GNU ld that we prefer.
- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
- *GNU* | *'with BFD'*)
- test "$with_gnu_ld" != no && break
- ;;
- *)
- test "$with_gnu_ld" != yes && break
- ;;
- esac
- fi
- done
- IFS="$lt_save_ifs"
-else
- lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU
ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
- lt_cv_prog_gnu_ld=yes
- ;;
-*)
- lt_cv_prog_gnu_ld=no
- ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
+# Conditionalize the makefile for this target machine.
+tmake_file_=
+for f in ${tmake_file}; do
+ if test -f ${srcdir}/src/$TARGETDIR/$f; then
+ tmake_file_="${tmake_file_} \$(srcdir)/src/$TARGETDIR/$f"
+ fi
+done
+tmake_file="${tmake_file_}"
+# Check linker support.
# If we're not using GNU ld, then there's no point in even trying these
# tests. Check for that first. We should have already tested for gld
@@ -17197,6 +16620,10 @@ with_gnu_ld=$lt_cv_prog_gnu_ld
if $LD --version 2>/dev/null | grep 'LLD '> /dev/null 2>&1; then
libat_ld_is_lld=yes
fi
+ libat_ld_is_mold=no
+ if $LD --version 2>/dev/null | grep 'mold '> /dev/null 2>&1; then
+ libat_ld_is_mold=yes
+ fi
ldver=`$LD --version 2>/dev/null |
sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld
([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
@@ -17400,6 +16827,8 @@ if test $enable_symvers != no && test
$libat_shared_libgcc = yes; then
enable_symvers=gnu
elif test $libat_ld_is_lld = yes ; then
enable_symvers=gnu
+ elif test $libat_ld_is_mold = yes ; then
+ enable_symvers=gnu
else
# The right tools, the right setup, but too old. Fallbacks?
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: === Linker version
$libat_gnu_ld_version is too old for" >&5
@@ -18080,7 +17509,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libffi $as_me 3.4.2, which was
+This file was extended by libffi $as_me 3.5.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18150,7 +17579,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //;
s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-libffi config.status 3.4.2
+libffi config.status 3.5.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/libffi/configure.ac b/libffi/configure.ac
index dcfc7b242d0..2e390d4b30f 100644
--- a/libffi/configure.ac
+++ b/libffi/configure.ac
@@ -10,18 +10,30 @@ FFI_VERSION_NUMBER=30502
AC_SUBST(FFI_VERSION_STRING)
AC_SUBST(FFI_VERSION_NUMBER)
+AM_ENABLE_MULTILIB(, ..)
+
AC_CANONICAL_TARGET
target_alias=${target_alias-$host_alias}
-case "${host}" in
- frv*-elf)
- LDFLAGS=`echo $LDFLAGS | sed "s/\-B[^ ]*libgloss\/frv\///"`\
-B`pwd`/../libgloss/frv/
- ;;
-esac
-
-AX_ENABLE_BUILDDIR
-
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([no-dist])
+
+# We would like our source tree to be readonly. However when releases or
+# pre-releases are generated, the flex/bison generated files as well as the
+# various formats of manuals need to be included along with the rest of the
+# sources. Therefore we have --enable-generated-files-in-srcdir to do
+# just that.
+AC_MSG_CHECKING(generated-files-in-srcdir)
+AC_ARG_ENABLE(generated-files-in-srcdir,
+AS_HELP_STRING([--enable-generated-files-in-srcdir],
+ [put copies of generated files in source dir intended for creating source
tarballs for users without texinfo bison or flex]),
+[case "$enableval" in
+ yes) enable_generated_files_in_srcdir=yes ;;
+ no) enable_generated_files_in_srcdir=no ;;
+ *) AC_MSG_ERROR([Unknown argument to enable/disable version-specific
libs]);;
+ esac],
+[enable_generated_files_in_srcdir=no])
+AC_MSG_RESULT($enable_generated_files_in_srcdir)
+AM_CONDITIONAL(GENINSRC, test "$enable_generated_files_in_srcdir" = yes)
# The same as in boehm-gc and libstdc++. Have to borrow it from there.
# We must force CC to /not/ be precious variables; otherwise
@@ -41,32 +53,25 @@ m4_rename_force([real_PRECIOUS],[_AC_ARG_VAR_PRECIOUS])
AC_SUBST(CFLAGS)
+# Add CET specific flags if CET is enabled
+GCC_CET_FLAGS(CET_FLAGS)
+AC_SUBST(CET_FLAGS)
+
AM_PROG_AS
AM_PROG_CC_C_O
AC_PROG_EGREP
LT_INIT
-AC_CONFIG_MACRO_DIR([m4])
+AM_CONDITIONAL([ENABLE_DARWIN_AT_RPATH], [test x$enable_darwin_at_rpath =
xyes])
AC_CHECK_TOOLS([READELF], [readelf greadelf])
# Test for 64-bit build.
AC_CHECK_SIZEOF([size_t])
-AX_COMPILER_VENDOR
-AX_CC_MAXOPT
-# The AX_CFLAGS_WARN_ALL macro doesn't currently work for sunpro
-# compiler.
-if test "$ax_cv_c_compiler_vendor" != "sun"; then
- AX_CFLAGS_WARN_ALL
-fi
-
-if test "x$GCC" = "xyes"; then
- CFLAGS="$CFLAGS -fexceptions"
-fi
+AC_SUBST(SYSROOT_CFLAGS_FOR_TARGET)
cat > local.exp <<EOF
-set CC_FOR_TARGET "$CC"
-set CXX_FOR_TARGET "$CXX"
+set SYSROOT_CFLAGS_FOR_TARGET "$SYSROOT_CFLAGS_FOR_TARGET"
set compiler_vendor "$ax_cv_c_compiler_vendor"
EOF
@@ -90,11 +95,6 @@ fi
AC_SUBST(AM_RUNTESTFLAGS)
AC_SUBST(AM_LTLDFLAGS)
-m4_warn([obsolete],
-[The preprocessor macro `STDC_HEADERS' is obsolete.
- Except in unusual embedded environments, you can safely include all
- ISO C90 headers unconditionally.])dnl
-
AC_CHECK_FUNCS(memcpy)
AC_CHECK_HEADERS(alloca.h)
@@ -225,11 +225,6 @@ AC_ARG_ENABLE(pax_emutramp,
[Define this if you want to enable pax emulated trampolines
(experimental)])
fi)
-LT_SYS_SYMBOL_USCORE
-if test "x$sys_symbol_underscore" = xyes; then
- AC_DEFINE(SYMBOL_UNDERSCORE, 1, [Define if symbols are underscored.])
-fi
-
FFI_EXEC_TRAMPOLINE_TABLE=0
case "$target" in
*arm*-apple-* | aarch64-apple-*)
@@ -279,13 +274,11 @@ EOF
fi
if test "x$GCC" = "xyes"; then
- AX_CHECK_COMPILE_FLAG(-fno-lto, libffi_cv_no_lto=-fno-lto)
-
AC_CACHE_CHECK([whether .eh_frame section should be read-only],
libffi_cv_ro_eh_frame, [
libffi_cv_ro_eh_frame=yes
echo 'extern void foo (void); void bar (void) { foo (); foo (); }' >
conftest.c
- if $CC $CFLAGS -c -fpic -fexceptions $libffi_cv_no_lto -o conftest.o
conftest.c > /dev/null 2>&1; then
+ if $CC $CFLAGS -c -fpic -fexceptions -fno-lto -o conftest.o conftest.c
> /dev/null 2>&1; then
if $READELF -WS conftest.o 2>/dev/null | $GREP -q -n 'eh_frame .*
WA'; then
libffi_cv_ro_eh_frame=no
fi
@@ -319,11 +312,12 @@ if test "x$GCC" = "xyes"; then
fi
fi
-AC_ARG_ENABLE(docs,
- AS_HELP_STRING([--disable-docs],[Disable building of docs
(default: no)]),
- [enable_docs=no],
- [enable_docs=yes])
-AM_CONDITIONAL(BUILD_DOCS, [test x$enable_docs = xyes])
+# See if makeinfo has been installed and is modern enough
+# that we can use it.
+ACX_CHECK_PROG_VER([MAKEINFO], [makeinfo], [--version],
+ [GNU texinfo.* \([0-9][0-9.]*\)],
+ [4.[4-9]*|4.[1-9][0-9]*|[5-9]*|[1-9][0-9]*])
+AM_CONDITIONAL(BUILD_DOCS, test $gcc_cv_prog_makeinfo_modern = "yes")
AH_BOTTOM([
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
@@ -379,17 +373,15 @@ AC_ARG_ENABLE(raw-api,
fi)
AC_ARG_ENABLE(exec-static-tramp,
-[ --disable-exec-static-tramp disable use of static exec trampolines
(enabled by default)])
+[ --enable-exec-static-tramp enable use of static exec trampolines (disabled
by default)])
-if test "$enable_exec_static_tramp" != no; then
+if test "$enable_exec_static_tramp" = yes; then
case "$target" in
*-cygwin* | *-msys*)
# Only define static trampolines if we are using the cygwin runtime.
# Will this need to be changed for mingw?
- if test "x$GCC" = "xyes"; then
AC_DEFINE(FFI_EXEC_STATIC_TRAMP, 1,
[Define this if you want statically defined trampolines])
- fi
;;
*arm*-*-linux-* | aarch64*-*-linux-* | i*86-*-linux-* | x86_64-*-linux-* \
| loongarch*-*-linux-* | s390x*-linux-* | powerpc*-linux-*)
@@ -405,34 +397,37 @@ AC_ARG_ENABLE(purify-safety,
AC_DEFINE(USING_PURIFY, 1, [Define this if you are using Purify and want
to suppress spurious messages.])
fi)
-AC_ARG_ENABLE(multi-os-directory,
-[ --disable-multi-os-directory
- disable use of gcc --print-multi-os-directory to
change the library installation directory])
-
-# These variables are only ever used when we cross-build to X86_WIN32.
-# And we only support this with GCC, so...
-if test "x$GCC" = "xyes"; then
- if test -n "$with_cross_host" &&
- test x"$with_cross_host" != x"no"; then
- toolexecdir='${exec_prefix}'/'$(target_alias)'
- toolexeclibdir='${toolexecdir}'/lib
- else
- toolexecdir='${libdir}'/gcc-lib/'$(target_alias)'
- toolexeclibdir='${libdir}'
- fi
- if test x"$enable_multi_os_directory" != x"no"; then
- multi_os_directory=`$CC $CFLAGS -print-multi-os-directory`
- case $multi_os_directory in
- .) ;; # Avoid trailing /.
- ../*) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
- esac
- fi
- AC_SUBST(toolexecdir)
+GCC_WITH_TOOLEXECLIBDIR
+
+if test -n "$with_cross_host" &&
+ test x"$with_cross_host" != x"no"; then
+ toolexecdir='$(exec_prefix)/$(target_alias)'
+ case ${with_toolexeclibdir} in
+ no)
+ toolexeclibdir='$(toolexecdir)/lib'
+ ;;
+ *)
+ toolexeclibdir=${with_toolexeclibdir}
+ ;;
+ esac
else
- toolexeclibdir='${libdir}'
+ toolexecdir='$(libdir)/gcc-lib/$(target_alias)'
+ toolexeclibdir='$(libdir)'
fi
+multi_os_directory=`$CC -print-multi-os-directory`
+case $multi_os_directory in
+ .) ;; # Avoid trailing /.
+ *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;;
+esac
+AC_SUBST(toolexecdir)
AC_SUBST(toolexeclibdir)
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
# Conditionalize the makefile for this target machine.
tmake_file_=
for f in ${tmake_file}; do
@@ -446,16 +441,17 @@ AC_SUBST(tmake_file)
# Check linker support.
LIBFFI_ENABLE_SYMVERS
+# Determine what GCC version number to use in filesystem paths.
+GCC_BASE_VER
+
AC_CONFIG_COMMANDS(include, [test -d include || mkdir include])
AC_CONFIG_COMMANDS(src, [
test -d src || mkdir src
test -d src/$TARGETDIR || mkdir src/$TARGETDIR
], [TARGETDIR="$TARGETDIR"])
-AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile
man/Makefile doc/Makefile libffi.pc)
+AC_CONFIG_FILES(include/Makefile include/ffi.h Makefile testsuite/Makefile
man/Makefile libffi.pc)
-AC_OUTPUT
+AC_CONFIG_LINKS(include/ffitarget.h:src/$TARGETDIR/ffitarget.h)
-# Copy this file instead of using AC_CONFIG_LINK in order to support
-# compiling with MSVC, which won't understand cygwin style symlinks.
-cp ${srcdir}/src/$TARGETDIR/ffitarget.h include/ffitarget.h
+AC_OUTPUT
diff --git a/libffi/fficonfig.h.in b/libffi/fficonfig.h.in
index 15aa54c03d8..8c98209318a 100644
--- a/libffi/fficonfig.h.in
+++ b/libffi/fficonfig.h.in
@@ -3,14 +3,6 @@
/* Define if building universal (internal helper macro) */
#undef AC_APPLE_UNIVERSAL_BUILD
-/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
- systems. This function is required for `alloca.c' support on those systems.
- */
-#undef CRAY_STACKSEG_END
-
-/* Define to 1 if using `alloca.c'. */
-#undef C_ALLOCA
-
/* Define to the flags needed for the .section .eh_frame directive. */
#undef EH_FRAME_FLAGS
@@ -23,7 +15,8 @@
/* Cannot use PROT_EXEC on this target, so, we revert to alternative means */
#undef FFI_EXEC_TRAMPOLINE_TABLE
-/* Define this if you want to enable pax emulated trampolines */
+/* Define this if you want to enable pax emulated trampolines (experimental)
+ */
#undef FFI_MMAP_EXEC_EMUTRAMP_PAX
/* Cannot use malloc on this target, so, we revert to alternative means */
@@ -35,13 +28,12 @@
/* Define this if you do not want support for aggregate types. */
#undef FFI_NO_STRUCTS
-/* Define to 1 if you have `alloca', as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
- */
+/* Define to 1 if you have the <alloca.h> header file. */
#undef HAVE_ALLOCA_H
+/* Define if your compiler supports pointer authentication. */
+#undef HAVE_ARM64E_PTRAUTH
+
/* Define if your assembler supports .cfi_* directives. */
#undef HAVE_AS_CFI_PSEUDO_OP
@@ -85,27 +77,6 @@
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
-/* Define to 1 if you have the `mkostemp' function. */
-#undef HAVE_MKOSTEMP
-
-/* Define to 1 if you have the `mkstemp' function. */
-#undef HAVE_MKSTEMP
-
-/* Define to 1 if you have the `mmap' function. */
-#undef HAVE_MMAP
-
-/* Define if mmap with MAP_ANON(YMOUS) works. */
-#undef HAVE_MMAP_ANON
-
-/* Define if mmap of /dev/zero works. */
-#undef HAVE_MMAP_DEV_ZERO
-
-/* Define if read-only mmap of a plain file works. */
-#undef HAVE_MMAP_FILE
-
-/* Define if your compiler supports pointer authentication. */
-#undef HAVE_PTRAUTH
-
/* Define if .eh_frame sections should be read-only. */
#undef HAVE_RO_EH_FRAME
@@ -124,9 +95,6 @@
/* Define to 1 if you have the <sys/memfd.h> header file. */
#undef HAVE_SYS_MEMFD_H
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
@@ -173,14 +141,6 @@
/* The size of `size_t', as computed by sizeof. */
#undef SIZEOF_SIZE_T
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at runtime.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown */
-#undef STACK_DIRECTION
-
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
@@ -203,9 +163,6 @@
# endif
#endif
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
#ifdef LIBFFI_ASM
diff --git a/libffi/include/Makefile.am b/libffi/include/Makefile.am
index 5f0d4066f4a..d7d1641f00c 100644
--- a/libffi/include/Makefile.am
+++ b/libffi/include/Makefile.am
@@ -6,4 +6,8 @@ DISTCLEANFILES=ffitarget.h
noinst_HEADERS=ffi_common.h ffi_cfi.h tramp.h
EXTRA_DIST=ffi.h.in
-nodist_include_HEADERS = ffi.h ffitarget.h
+# Where generated headers like ffitarget.h get installed.
+gcc_version := $(shell @get_gcc_base_ver@ $(top_srcdir)/../gcc/BASE-VER)
+toollibffidir := $(libdir)/gcc/$(target_alias)/$(gcc_version)/include
+
+toollibffi_HEADERS = ffi.h ffitarget.h
diff --git a/libffi/include/Makefile.in b/libffi/include/Makefile.in
index df8b9f64cae..92184b5b7a0 100644
--- a/libffi/include/Makefile.in
+++ b/libffi/include/Makefile.in
@@ -181,7 +181,6 @@ am__define_uniq_tagged_files = \
ETAGS = etags
CTAGS = ctags
ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LTLDFLAGS = @AM_LTLDFLAGS@
@@ -215,6 +214,8 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+FFI_VERSION_NUMBER = @FFI_VERSION_NUMBER@
+FFI_VERSION_STRING = @FFI_VERSION_STRING@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -263,6 +264,7 @@ TARGET = @TARGET@
TARGETDIR = @TARGETDIR@
TARGET_OBJ = @TARGET_OBJ@
VERSION = @VERSION@
+WASM64_MEMORY64 = @WASM64_MEMORY64@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -270,6 +272,7 @@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_READELF = @ac_ct_READELF@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -318,6 +321,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+tmake_file = @tmake_file@
toolexecdir = @toolexecdir@
toolexeclibdir = @toolexeclibdir@
top_build_prefix = @top_build_prefix@
diff --git a/libffi/man/Makefile.in b/libffi/man/Makefile.in
index 2770d403398..af28b5de6d1 100644
--- a/libffi/man/Makefile.in
+++ b/libffi/man/Makefile.in
@@ -163,7 +163,6 @@ NROFF = nroff
MANS = $(man_MANS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LTLDFLAGS = @AM_LTLDFLAGS@
@@ -197,6 +196,8 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+FFI_VERSION_NUMBER = @FFI_VERSION_NUMBER@
+FFI_VERSION_STRING = @FFI_VERSION_STRING@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -245,6 +246,7 @@ TARGET = @TARGET@
TARGETDIR = @TARGETDIR@
TARGET_OBJ = @TARGET_OBJ@
VERSION = @VERSION@
+WASM64_MEMORY64 = @WASM64_MEMORY64@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -252,6 +254,7 @@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_READELF = @ac_ct_READELF@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -300,6 +303,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+tmake_file = @tmake_file@
toolexecdir = @toolexecdir@
toolexeclibdir = @toolexeclibdir@
top_build_prefix = @top_build_prefix@
diff --git a/libffi/testsuite/Makefile.in b/libffi/testsuite/Makefile.in
index 28adf7112c8..09e63a47bcb 100644
--- a/libffi/testsuite/Makefile.in
+++ b/libffi/testsuite/Makefile.in
@@ -136,7 +136,6 @@ RUNTESTDEFAULTFLAGS = --tool $$tool --srcdir $$srcdir
EXPECT = expect
RUNTEST = runtest
ACLOCAL = @ACLOCAL@
-ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AM_LTLDFLAGS = @AM_LTLDFLAGS@
@@ -170,6 +169,8 @@ ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
+FFI_VERSION_NUMBER = @FFI_VERSION_NUMBER@
+FFI_VERSION_STRING = @FFI_VERSION_STRING@
FGREP = @FGREP@
GREP = @GREP@
HAVE_LONG_DOUBLE = @HAVE_LONG_DOUBLE@
@@ -218,6 +219,7 @@ TARGET = @TARGET@
TARGETDIR = @TARGETDIR@
TARGET_OBJ = @TARGET_OBJ@
VERSION = @VERSION@
+WASM64_MEMORY64 = @WASM64_MEMORY64@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
@@ -225,6 +227,7 @@ abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
+ac_ct_READELF = @ac_ct_READELF@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
@@ -273,6 +276,7 @@ target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
+tmake_file = @tmake_file@
toolexecdir = @toolexecdir@
toolexeclibdir = @toolexeclibdir@
top_build_prefix = @top_build_prefix@
@@ -281,124 +285,87 @@ top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign dejagnu
EXTRA_DEJAGNU_SITE_CONFIG = ../local.exp
CLEANFILES = *.exe core* *.log *.sum
-EXTRA_DIST = lib/target-libpath.exp lib/libffi.exp lib/wrapper.exp \
-libffi.call/strlen4.c libffi.call/struct10.c libffi.call/many_mixed.c \
-libffi.call/float.c libffi.call/struct5.c libffi.call/return_fl3.c \
-libffi.call/return_fl1.c libffi.call/call.exp libffi.call/pyobjc-tc.c \
-libffi.call/float_va.c libffi.call/struct8.c libffi.call/pr1172638.c \
-libffi.call/return_sc.c libffi.call/va_struct1.c \
-libffi.call/align_stdcall.c libffi.call/struct9.c libffi.call/va_1.c \
-libffi.call/va_2.c libffi.call/va_struct2.c libffi.call/return_fl2.c \
-libffi.call/align_mixed.c libffi.call/ffitest.h libffi.call/struct4.c \
-libffi.call/return_ldl.c libffi.call/float3.c libffi.call/return_sl.c \
-libffi.call/return_dbl1.c libffi.call/err_bad_typedef.c \
-libffi.call/return_ll1.c libffi.call/return_dbl2.c \
-libffi.call/negint.c libffi.closures/nested_struct3.c \
-libffi.call/struct2.c libffi.call/struct3.c libffi.call/return_fl.c \
-libffi.call/offsets.c libffi.call/struct7.c libffi.call/va_struct3.c \
-libffi.call/float1.c libffi.call/uninitialized.c libffi.call/many2.c \
-libffi.call/struct6.c libffi.call/strlen2.c libffi.call/float2.c \
-libffi.call/return_ul.c libffi.call/struct1.c libffi.call/strlen3.c \
-libffi.call/return_dbl.c libffi.call/float4.c libffi.call/many.c \
-libffi.call/strlen.c libffi.call/return_uc.c libffi.call/many_double.c \
-libffi.call/return_ll.c libffi.call/promotion.c \
-libffi.complex/complex_defs_longdouble.inc \
-libffi.complex/cls_align_complex_float.c \
-libffi.complex/cls_complex_va_float.c \
-libffi.complex/cls_complex_struct_float.c \
-libffi.complex/return_complex2_longdouble.c \
-libffi.complex/cls_complex_float.c \
-libffi.complex/return_complex_longdouble.c \
-libffi.complex/return_complex2_float.c libffi.complex/cls_complex.inc \
-libffi.complex/cls_complex_va_longdouble.c \
-libffi.complex/return_complex_double.c \
-libffi.complex/return_complex.inc libffi.complex/many_complex.inc \
-libffi.complex/complex_float.c libffi.complex/cls_align_complex.inc \
-libffi.complex/return_complex2_double.c \
-libffi.complex/many_complex_float.c libffi.complex/ffitest.h \
-libffi.complex/return_complex1_double.c \
-libffi.complex/cls_complex_struct_longdouble.c \
-libffi.complex/complex_defs_double.inc \
-libffi.complex/cls_complex_va_double.c \
-libffi.complex/many_complex_double.c \
-libffi.complex/return_complex2.inc \
-libffi.complex/return_complex1_float.c \
-libffi.complex/complex_longdouble.c \
-libffi.complex/complex_defs_float.inc \
-libffi.complex/cls_complex_double.c \
-libffi.complex/cls_align_complex_double.c \
-libffi.complex/cls_align_complex_longdouble.c \
-libffi.complex/complex_double.c libffi.complex/cls_complex_va.inc \
-libffi.complex/many_complex_longdouble.c libffi.complex/complex.inc \
-libffi.complex/return_complex1_longdouble.c \
-libffi.complex/complex_int.c libffi.complex/cls_complex_longdouble.c \
-libffi.complex/cls_complex_struct_double.c \
-libffi.complex/return_complex1.inc libffi.complex/complex.exp \
-libffi.complex/cls_complex_struct.inc \
-libffi.complex/return_complex_float.c libffi.go/closure1.c \
-libffi.go/aa-direct.c libffi.go/ffitest.h libffi.go/go.exp \
-libffi.go/static-chain.h libffi.bhaible/bhaible.exp \
-libffi.bhaible/test-call.c libffi.bhaible/alignof.h \
-libffi.bhaible/testcases.c libffi.bhaible/test-callback.c \
-libffi.bhaible/Makefile libffi.bhaible/README config/default.exp \
-libffi.closures/cls_multi_sshort.c \
-libffi.closures/cls_align_longdouble_split2.c \
-libffi.closures/cls_1_1byte.c libffi.closures/cls_uint_va.c \
-libffi.closures/cls_3_1byte.c libffi.closures/cls_many_mixed_args.c \
-libffi.closures/cls_20byte1.c libffi.closures/cls_pointer_stack.c \
-libffi.closures/cls_align_float.c libffi.closures/cls_5_1_byte.c \
-libffi.closures/cls_9byte1.c libffi.closures/cls_align_uint32.c \
-libffi.closures/stret_medium.c libffi.closures/cls_3byte1.c \
-libffi.closures/cls_align_uint64.c libffi.closures/cls_longdouble_va.c \
-libffi.closures/cls_align_pointer.c libffi.closures/cls_19byte.c \
-libffi.closures/cls_ushort.c libffi.closures/cls_align_sint32.c \
-libffi.closures/cls_ulonglong.c libffi.closures/cls_struct_va1.c \
-libffi.closures/cls_9byte2.c libffi.closures/closure_fn5.c \
-libffi.closures/cls_5byte.c libffi.closures/cls_3float.c \
-libffi.closures/closure.exp libffi.closures/cls_schar.c \
-libffi.closures/closure_fn4.c \
-libffi.closures/closure_fn0.c libffi.closures/huge_struct.c \
-libffi.closures/cls_64byte.c libffi.closures/cls_longdouble.c \
-libffi.closures/cls_ulong_va.c libffi.closures/cls_6_1_byte.c \
-libffi.closures/cls_align_uint16.c libffi.closures/closure_fn2.c \
-libffi.closures/unwindtest_ffi_call.cc \
-libffi.closures/cls_multi_ushortchar.c libffi.closures/cls_8byte.c \
-libffi.closures/ffitest.h libffi.closures/nested_struct8.c \
-libffi.closures/cls_pointer.c libffi.closures/nested_struct2.c \
-libffi.closures/nested_struct.c libffi.closures/cls_multi_schar.c \
-libffi.closures/cls_align_longdouble_split.c \
-libffi.closures/cls_uchar.c libffi.closures/nested_struct9.c \
-libffi.closures/cls_float.c libffi.closures/stret_medium2.c \
-libffi.closures/closure_loc_fn0.c libffi.closures/cls_6byte.c \
-libffi.closures/closure_simple.c libffi.closures/cls_align_double.c \
-libffi.closures/cls_multi_uchar.c libffi.closures/cls_4_1byte.c \
-libffi.closures/closure_fn3.c libffi.closures/cls_align_sint64.c \
-libffi.closures/nested_struct1.c libffi.closures/unwindtest.cc \
-libffi.closures/nested_struct5.c libffi.closures/cls_multi_ushort.c \
-libffi.closures/nested_struct11.c \
-libffi.closures/nested_struct12.c \
-libffi.closures/nested_struct13.c \
-libffi.closures/cls_multi_sshortchar.c \
-libffi.closures/cls_align_longdouble.c \
-libffi.closures/cls_dbls_struct.c \
-libffi.closures/cls_many_mixed_float_double.c \
-libffi.closures/stret_large.c libffi.closures/stret_large2.c \
-libffi.closures/cls_align_sint16.c libffi.closures/cls_2byte.c \
-libffi.closures/nested_struct4.c libffi.closures/problem1.c \
-libffi.closures/testclosure.c libffi.closures/nested_struct6.c \
-libffi.closures/cls_4byte.c libffi.closures/cls_24byte.c \
-libffi.closures/nested_struct10.c libffi.closures/cls_uint.c \
-libffi.closures/cls_12byte.c libffi.closures/cls_sint.c \
-libffi.closures/cls_7_1_byte.c libffi.closures/cls_sshort.c \
-libffi.closures/cls_16byte.c libffi.closures/nested_struct7.c \
-libffi.closures/cls_double_va.c libffi.closures/cls_3byte2.c \
-libffi.closures/cls_double.c libffi.closures/cls_7byte.c \
-libffi.closures/closure_fn6.c libffi.closures/closure_fn1.c \
-libffi.closures/cls_20byte.c libffi.closures/cls_18byte.c \
-libffi.closures/err_bad_abi.c \
-libffi.closures/single_entry_structs1.c \
-libffi.closures/single_entry_structs2.c \
-libffi.closures/single_entry_structs3.c
+EXTRA_DIST = config/default.exp emscripten/build.sh emscripten/conftest.py \
+ emscripten/node-tests.sh emscripten/test.html emscripten/test_libffi.py
\
+ emscripten/build-tests.sh lib/libffi.exp lib/target-libpath.exp \
+ lib/wrapper.exp libffi.bhaible/Makefile libffi.bhaible/README \
+ libffi.bhaible/alignof.h libffi.bhaible/bhaible.exp
libffi.bhaible/test-call.c \
+ libffi.bhaible/test-callback.c libffi.bhaible/testcases.c
libffi.call/align_mixed.c \
+ libffi.call/align_stdcall.c libffi.call/bpo_38748.c
libffi.call/call.exp \
+ libffi.call/err_bad_typedef.c libffi.call/ffitest.h libffi.call/float.c
\
+ libffi.call/float1.c libffi.call/float2.c libffi.call/float3.c \
+ libffi.call/float4.c libffi.call/float_va.c libffi.call/many.c \
+ libffi.call/many2.c libffi.call/many_double.c libffi.call/many_mixed.c \
+ libffi.call/negint.c libffi.call/offsets.c libffi.call/overread.c \
+ libffi.call/pr1172638.c libffi.call/promotion.c libffi.call/pyobjc_tc.c
libffi.call/return_dbl.c \
+ libffi.call/return_dbl1.c libffi.call/return_dbl2.c
libffi.call/return_fl.c \
+ libffi.call/return_fl1.c libffi.call/return_fl2.c
libffi.call/return_fl3.c \
+ libffi.call/return_ldl.c libffi.call/return_ll.c
libffi.call/return_ll1.c \
+ libffi.call/return_sc.c libffi.call/return_sl.c libffi.call/return_uc.c
\
+ libffi.call/return_ul.c libffi.call/s55.c libffi.call/strlen.c \
+ libffi.call/strlen2.c libffi.call/strlen3.c libffi.call/strlen4.c \
+ libffi.call/struct1.c libffi.call/struct10.c libffi.call/struct2.c \
+ libffi.call/struct3.c libffi.call/struct4.c libffi.call/struct5.c \
+ libffi.call/struct6.c libffi.call/struct7.c libffi.call/struct8.c \
+ libffi.call/struct9.c libffi.call/struct_by_value_2.c
libffi.call/struct_by_value_3.c \
+ libffi.call/struct_by_value_3f.c libffi.call/struct_by_value_4.c
libffi.call/struct_by_value_4f.c \
+ libffi.call/struct_by_value_big.c libffi.call/struct_by_value_small.c
libffi.call/struct_return_2H.c \
+ libffi.call/struct_int_float.c libffi.call/longjmp.c \
+ libffi.call/struct_return_8H.c libffi.call/uninitialized.c
libffi.call/va_1.c \
+ libffi.call/va_2.c libffi.call/va_3.c libffi.call/va_struct1.c \
+ libffi.call/va_struct2.c libffi.call/va_struct3.c
libffi.call/callback.c \
+ libffi.call/callback2.c libffi.call/callback3.c libffi.call/callback4.c
libffi.call/x32.c \
+ libffi.closures/closure.exp libffi.closures/closure_fn0.c
libffi.closures/closure_fn1.c \
+ libffi.closures/closure_fn2.c libffi.closures/closure_fn3.c
libffi.closures/closure_fn4.c \
+ libffi.closures/closure_fn5.c libffi.closures/closure_fn6.c
libffi.closures/closure_loc_fn0.c \
+ libffi.closures/closure_simple.c libffi.closures/cls_12byte.c
libffi.closures/cls_16byte.c \
+ libffi.closures/cls_18byte.c libffi.closures/cls_19byte.c
libffi.closures/cls_1_1byte.c \
+ libffi.closures/cls_20byte.c libffi.closures/cls_20byte1.c
libffi.closures/cls_24byte.c \
+ libffi.closures/cls_2byte.c libffi.closures/cls_3_1byte.c
libffi.closures/cls_3byte1.c \
+ libffi.closures/cls_3byte2.c libffi.closures/cls_3float.c
libffi.closures/cls_4_1byte.c \
+ libffi.closures/cls_4byte.c libffi.closures/cls_5_1_byte.c
libffi.closures/cls_5byte.c \
+ libffi.closures/cls_64byte.c libffi.closures/cls_6_1_byte.c
libffi.closures/cls_6byte.c \
+ libffi.closures/cls_7_1_byte.c libffi.closures/cls_7byte.c
libffi.closures/cls_8byte.c \
+ libffi.closures/cls_9byte1.c libffi.closures/cls_9byte2.c
libffi.closures/cls_align_double.c \
+ libffi.closures/cls_align_float.c
libffi.closures/cls_align_longdouble.c
libffi.closures/cls_align_longdouble_split.c \
+ libffi.closures/cls_align_longdouble_split2.c
libffi.closures/cls_align_pointer.c libffi.closures/cls_align_sint16.c \
+ libffi.closures/cls_align_sint32.c libffi.closures/cls_align_sint64.c
libffi.closures/cls_align_uint16.c \
+ libffi.closures/cls_align_uint32.c libffi.closures/cls_align_uint64.c
libffi.closures/cls_dbls_struct.c \
+ libffi.closures/cls_double.c libffi.closures/cls_double_va.c
libffi.closures/cls_float.c \
+ libffi.closures/cls_longdouble.c libffi.closures/cls_longdouble_va.c
libffi.closures/cls_many_mixed_args.c \
+ libffi.closures/cls_many_mixed_float_double.c
libffi.closures/cls_multi_schar.c libffi.closures/cls_multi_sshort.c \
+ libffi.closures/cls_multi_sshortchar.c
libffi.closures/cls_multi_uchar.c libffi.closures/cls_multi_ushort.c \
+ libffi.closures/cls_multi_ushortchar.c libffi.closures/cls_pointer.c
libffi.closures/cls_pointer_stack.c \
+ libffi.closures/cls_schar.c libffi.closures/cls_sint.c
libffi.closures/cls_sshort.c \
+ libffi.closures/cls_struct_va1.c libffi.closures/cls_uchar.c
libffi.closures/cls_uint.c \
+ libffi.closures/cls_uint_va.c libffi.closures/cls_ulong_va.c
libffi.closures/cls_ulonglong.c \
+ libffi.closures/cls_ushort.c libffi.closures/err_bad_abi.c
libffi.closures/ffitest.h \
+ libffi.closures/huge_struct.c libffi.closures/nested_struct.c
libffi.closures/nested_struct1.c \
+ libffi.closures/nested_struct10.c libffi.closures/nested_struct11.c
libffi.closures/nested_struct12.c \
+ libffi.closures/nested_struct13.c libffi.closures/nested_struct2.c
libffi.closures/nested_struct3.c \
+ libffi.closures/nested_struct4.c libffi.closures/nested_struct5.c
libffi.closures/nested_struct6.c \
+ libffi.closures/nested_struct7.c libffi.closures/nested_struct8.c
libffi.closures/nested_struct9.c \
+ libffi.closures/problem1.c libffi.closures/single_entry_structs1.c
libffi.closures/single_entry_structs2.c \
+ libffi.closures/single_entry_structs3.c libffi.closures/stret_large.c
libffi.closures/stret_large2.c \
+ libffi.closures/stret_medium.c libffi.closures/stret_medium2.c
libffi.closures/testclosure.c \
+ libffi.closures/unwindtest.cc libffi.closures/unwindtest_ffi_call.cc
libffi.complex/cls_align_complex.inc \
+ libffi.complex/cls_align_complex_double.c
libffi.complex/cls_align_complex_float.c
libffi.complex/cls_align_complex_longdouble.c \
+ libffi.complex/cls_complex.inc libffi.complex/cls_complex_double.c
libffi.complex/cls_complex_float.c \
+ libffi.complex/cls_complex_longdouble.c
libffi.complex/cls_complex_struct.inc
libffi.complex/cls_complex_struct_double.c \
+ libffi.complex/cls_complex_struct_float.c
libffi.complex/cls_complex_struct_longdouble.c
libffi.complex/cls_complex_va.inc \
+ libffi.complex/cls_complex_va_double.c
libffi.complex/cls_complex_va_float.c
libffi.complex/cls_complex_va_longdouble.c \
+ libffi.complex/complex.exp libffi.complex/complex.inc
libffi.complex/complex_defs_double.inc \
+ libffi.complex/complex_defs_float.inc
libffi.complex/complex_defs_longdouble.inc libffi.complex/complex_double.c \
+ libffi.complex/complex_float.c libffi.complex/complex_int.c
libffi.complex/complex_longdouble.c \
+ libffi.complex/ffitest.h libffi.complex/many_complex.inc
libffi.complex/many_complex_double.c \
+ libffi.complex/many_complex_float.c
libffi.complex/many_complex_longdouble.c libffi.complex/return_complex.inc \
+ libffi.complex/return_complex1.inc
libffi.complex/return_complex1_double.c libffi.complex/return_complex1_float.c \
+ libffi.complex/return_complex1_longdouble.c
libffi.complex/return_complex2.inc libffi.complex/return_complex2_double.c \
+ libffi.complex/return_complex2_float.c
libffi.complex/return_complex2_longdouble.c
libffi.complex/return_complex_double.c \
+ libffi.complex/return_complex_float.c
libffi.complex/return_complex_longdouble.c libffi.go/aa-direct.c \
+ libffi.go/closure1.c libffi.go/ffitest.h libffi.go/go.exp \
+ libffi.go/static-chain.h Makefile.am Makefile.in \
+ libffi.threads/ffitest.h libffi.threads/threads.exp
libffi.threads/tsan.c
all: all-am
--
2.43.0