diff --git a/build.xml b/build.xml
index 1c682ca39d..66839ceb3d 100644
--- a/build.xml
+++ b/build.xml
@@ -489,6 +489,8 @@ com/sun/jna/linux-mips64el/libjnidispatch.so;
processor=mips64el;osname=linux,
com/sun/jna/linux-s390x/libjnidispatch.so;
processor=S390x;osname=linux,
+com/sun/jna/linux-loongarch64/libjnidispatch.so;
+processor=loongarch64;osname=linux,
com/sun/jna/freebsd-x86/libjnidispatch.so;
processor=x86;osname=freebsd,
@@ -554,6 +556,9 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
+
@@ -747,6 +752,7 @@ osname=macosx;processor=x86;processor=x86-64;processor=ppc
+
diff --git a/dist/aix-ppc.jar b/dist/aix-ppc.jar
index e9446ac152..9bd746ee7a 100644
Binary files a/dist/aix-ppc.jar and b/dist/aix-ppc.jar differ
diff --git a/dist/aix-ppc64.jar b/dist/aix-ppc64.jar
index 7513d4b4e9..aa5d5f4ee9 100644
Binary files a/dist/aix-ppc64.jar and b/dist/aix-ppc64.jar differ
diff --git a/dist/android-aarch64.jar b/dist/android-aarch64.jar
index cbc0eb6b5e..97e2ab252b 100644
Binary files a/dist/android-aarch64.jar and b/dist/android-aarch64.jar differ
diff --git a/dist/android-arm.jar b/dist/android-arm.jar
index c8c653de74..ad336cf642 100644
Binary files a/dist/android-arm.jar and b/dist/android-arm.jar differ
diff --git a/dist/android-armv7.jar b/dist/android-armv7.jar
index 210979f8a5..7995592489 100644
Binary files a/dist/android-armv7.jar and b/dist/android-armv7.jar differ
diff --git a/dist/android-mips.jar b/dist/android-mips.jar
index 5b77a49bd2..f065ed6314 100644
Binary files a/dist/android-mips.jar and b/dist/android-mips.jar differ
diff --git a/dist/android-mips64.jar b/dist/android-mips64.jar
index b723b2e37c..c4f496476e 100644
Binary files a/dist/android-mips64.jar and b/dist/android-mips64.jar differ
diff --git a/dist/android-x86-64.jar b/dist/android-x86-64.jar
index b40bc5ea8c..7f3d398c11 100644
Binary files a/dist/android-x86-64.jar and b/dist/android-x86-64.jar differ
diff --git a/dist/android-x86.jar b/dist/android-x86.jar
index 4b0943ce2a..41e190ae6f 100644
Binary files a/dist/android-x86.jar and b/dist/android-x86.jar differ
diff --git a/dist/darwin.jar b/dist/darwin.jar
index b67789b883..a1366fc388 100644
Binary files a/dist/darwin.jar and b/dist/darwin.jar differ
diff --git a/dist/doc.zip b/dist/doc.zip
index 7c2d3eea65..24ec1732af 100644
Binary files a/dist/doc.zip and b/dist/doc.zip differ
diff --git a/dist/freebsd-x86-64.jar b/dist/freebsd-x86-64.jar
index f160ff020f..fa6d729b54 100644
Binary files a/dist/freebsd-x86-64.jar and b/dist/freebsd-x86-64.jar differ
diff --git a/dist/freebsd-x86.jar b/dist/freebsd-x86.jar
index 8908946698..39b9ee702c 100644
Binary files a/dist/freebsd-x86.jar and b/dist/freebsd-x86.jar differ
diff --git a/dist/jna-min.jar b/dist/jna-min.jar
index 5a76c4782e..07cc9b2e7a 100644
Binary files a/dist/jna-min.jar and b/dist/jna-min.jar differ
diff --git a/dist/jna-platform.jar b/dist/jna-platform.jar
index d180baa0de..79946df8b8 100644
Binary files a/dist/jna-platform.jar and b/dist/jna-platform.jar differ
diff --git a/dist/jna.aar b/dist/jna.aar
index 50f68aab2b..71aba9e624 100644
Binary files a/dist/jna.aar and b/dist/jna.aar differ
diff --git a/dist/jna.jar b/dist/jna.jar
index ff423c8f32..f04c7dcf0f 100644
Binary files a/dist/jna.jar and b/dist/jna.jar differ
diff --git a/dist/jnacontrib/demo-alphamask.jar b/dist/jnacontrib/demo-alphamask.jar
index 1674afaaac..adf331a93b 100644
Binary files a/dist/jnacontrib/demo-alphamask.jar and b/dist/jnacontrib/demo-alphamask.jar differ
diff --git a/dist/jnacontrib/demo-balloonmanager.jar b/dist/jnacontrib/demo-balloonmanager.jar
index 7b2e8f5287..5b6354538f 100644
Binary files a/dist/jnacontrib/demo-balloonmanager.jar and b/dist/jnacontrib/demo-balloonmanager.jar differ
diff --git a/dist/jnacontrib/demo-balloontips.jar b/dist/jnacontrib/demo-balloontips.jar
index f511974244..525cebf9d1 100644
Binary files a/dist/jnacontrib/demo-balloontips.jar and b/dist/jnacontrib/demo-balloontips.jar differ
diff --git a/dist/jnacontrib/demo-dnd.jar b/dist/jnacontrib/demo-dnd.jar
index 987ece0684..062d7604e4 100644
Binary files a/dist/jnacontrib/demo-dnd.jar and b/dist/jnacontrib/demo-dnd.jar differ
diff --git a/dist/jnacontrib/demo-monitordemo.jar b/dist/jnacontrib/demo-monitordemo.jar
index c7ffd2151e..ff05dc4dec 100644
Binary files a/dist/jnacontrib/demo-monitordemo.jar and b/dist/jnacontrib/demo-monitordemo.jar differ
diff --git a/dist/jnacontrib/demo-msoffice.jar b/dist/jnacontrib/demo-msoffice.jar
index ceff13dd8b..444e742cb3 100644
Binary files a/dist/jnacontrib/demo-msoffice.jar and b/dist/jnacontrib/demo-msoffice.jar differ
diff --git a/dist/jnacontrib/demo-nativewindowmsg.jar b/dist/jnacontrib/demo-nativewindowmsg.jar
index 8c2d96e5d1..6dee156167 100644
Binary files a/dist/jnacontrib/demo-nativewindowmsg.jar and b/dist/jnacontrib/demo-nativewindowmsg.jar differ
diff --git a/dist/jnacontrib/demo-shapedwindow.jar b/dist/jnacontrib/demo-shapedwindow.jar
index 734120cc6b..fe8944be50 100644
Binary files a/dist/jnacontrib/demo-shapedwindow.jar and b/dist/jnacontrib/demo-shapedwindow.jar differ
diff --git a/dist/jnacontrib/demo-w32keyhook.jar b/dist/jnacontrib/demo-w32keyhook.jar
index c2082ddf5b..70d2e42ee4 100644
Binary files a/dist/jnacontrib/demo-w32keyhook.jar and b/dist/jnacontrib/demo-w32keyhook.jar differ
diff --git a/dist/jnacontrib/demo-w32printing.jar b/dist/jnacontrib/demo-w32printing.jar
index d298d32ab7..09f6303b27 100644
Binary files a/dist/jnacontrib/demo-w32printing.jar and b/dist/jnacontrib/demo-w32printing.jar differ
diff --git a/dist/jnacontrib/demo-x11.jar b/dist/jnacontrib/demo-x11.jar
index 9ac2a1a51e..a546cd1271 100644
Binary files a/dist/jnacontrib/demo-x11.jar and b/dist/jnacontrib/demo-x11.jar differ
diff --git a/dist/linux-aarch64.jar b/dist/linux-aarch64.jar
index 12c97c39f7..4ca5738542 100644
Binary files a/dist/linux-aarch64.jar and b/dist/linux-aarch64.jar differ
diff --git a/dist/linux-arm.jar b/dist/linux-arm.jar
index a9366cc77f..e275f2072b 100644
Binary files a/dist/linux-arm.jar and b/dist/linux-arm.jar differ
diff --git a/dist/linux-armel.jar b/dist/linux-armel.jar
index ca0370a581..3503e95d78 100644
Binary files a/dist/linux-armel.jar and b/dist/linux-armel.jar differ
diff --git a/dist/linux-loongarch64.jar b/dist/linux-loongarch64.jar
new file mode 100644
index 0000000000..73bfb6dfd4
Binary files /dev/null and b/dist/linux-loongarch64.jar differ
diff --git a/dist/linux-mips64el.jar b/dist/linux-mips64el.jar
index 8f176c43f4..e79d515202 100644
Binary files a/dist/linux-mips64el.jar and b/dist/linux-mips64el.jar differ
diff --git a/dist/linux-ppc.jar b/dist/linux-ppc.jar
index 14906c874b..215637713b 100644
Binary files a/dist/linux-ppc.jar and b/dist/linux-ppc.jar differ
diff --git a/dist/linux-ppc64le.jar b/dist/linux-ppc64le.jar
index 676640a842..5d00adf13e 100644
Binary files a/dist/linux-ppc64le.jar and b/dist/linux-ppc64le.jar differ
diff --git a/dist/linux-s390x.jar b/dist/linux-s390x.jar
index 1331c54e37..802ed9d6b2 100644
Binary files a/dist/linux-s390x.jar and b/dist/linux-s390x.jar differ
diff --git a/dist/linux-x86-64.jar b/dist/linux-x86-64.jar
index 125bb854f3..dfe3aa2559 100644
Binary files a/dist/linux-x86-64.jar and b/dist/linux-x86-64.jar differ
diff --git a/dist/linux-x86.jar b/dist/linux-x86.jar
index 6eba55ee9c..3f5fcc9f0b 100644
Binary files a/dist/linux-x86.jar and b/dist/linux-x86.jar differ
diff --git a/dist/openbsd-x86-64.jar b/dist/openbsd-x86-64.jar
index 8a390ab093..e232a5547c 100644
Binary files a/dist/openbsd-x86-64.jar and b/dist/openbsd-x86-64.jar differ
diff --git a/dist/openbsd-x86.jar b/dist/openbsd-x86.jar
index 5846e7ef2b..e446113175 100644
Binary files a/dist/openbsd-x86.jar and b/dist/openbsd-x86.jar differ
diff --git a/dist/src-full.zip b/dist/src-full.zip
index 42992ffe7f..c9b843e5b8 100644
Binary files a/dist/src-full.zip and b/dist/src-full.zip differ
diff --git a/dist/src.zip b/dist/src.zip
index 1405be3f35..842cbaee1c 100644
Binary files a/dist/src.zip and b/dist/src.zip differ
diff --git a/dist/sunos-sparc.jar b/dist/sunos-sparc.jar
index 9c0f51dcf4..265848fff6 100644
Binary files a/dist/sunos-sparc.jar and b/dist/sunos-sparc.jar differ
diff --git a/dist/sunos-sparcv9.jar b/dist/sunos-sparcv9.jar
index 4efc35c7e2..a564dc38fd 100644
Binary files a/dist/sunos-sparcv9.jar and b/dist/sunos-sparcv9.jar differ
diff --git a/dist/sunos-x86-64.jar b/dist/sunos-x86-64.jar
index 6c8c45e6df..4dabce70fb 100644
Binary files a/dist/sunos-x86-64.jar and b/dist/sunos-x86-64.jar differ
diff --git a/dist/sunos-x86.jar b/dist/sunos-x86.jar
index 459cbd73e3..8829d8015f 100644
Binary files a/dist/sunos-x86.jar and b/dist/sunos-x86.jar differ
diff --git a/dist/win32-aarch64.jar b/dist/win32-aarch64.jar
new file mode 100644
index 0000000000..0a9caea6b9
Binary files /dev/null and b/dist/win32-aarch64.jar differ
diff --git a/dist/win32-x86-64.jar b/dist/win32-x86-64.jar
index 41931315ee..af242c3c54 100644
Binary files a/dist/win32-x86-64.jar and b/dist/win32-x86-64.jar differ
diff --git a/dist/win32-x86.jar b/dist/win32-x86.jar
index 54fab71e8e..ca0b41297c 100644
Binary files a/dist/win32-x86.jar and b/dist/win32-x86.jar differ
diff --git a/lib/native/aix-ppc.jar b/lib/native/aix-ppc.jar
index e9446ac152..9bd746ee7a 100644
Binary files a/lib/native/aix-ppc.jar and b/lib/native/aix-ppc.jar differ
diff --git a/lib/native/aix-ppc64.jar b/lib/native/aix-ppc64.jar
index 7513d4b4e9..aa5d5f4ee9 100644
Binary files a/lib/native/aix-ppc64.jar and b/lib/native/aix-ppc64.jar differ
diff --git a/lib/native/android-aarch64.jar b/lib/native/android-aarch64.jar
index cbc0eb6b5e..97e2ab252b 100644
Binary files a/lib/native/android-aarch64.jar and b/lib/native/android-aarch64.jar differ
diff --git a/lib/native/android-arm.jar b/lib/native/android-arm.jar
old mode 100755
new mode 100644
index c8c653de74..ad336cf642
Binary files a/lib/native/android-arm.jar and b/lib/native/android-arm.jar differ
diff --git a/lib/native/android-armv7.jar b/lib/native/android-armv7.jar
index 210979f8a5..7995592489 100644
Binary files a/lib/native/android-armv7.jar and b/lib/native/android-armv7.jar differ
diff --git a/lib/native/android-mips.jar b/lib/native/android-mips.jar
index 5b77a49bd2..f065ed6314 100644
Binary files a/lib/native/android-mips.jar and b/lib/native/android-mips.jar differ
diff --git a/lib/native/android-mips64.jar b/lib/native/android-mips64.jar
index b723b2e37c..c4f496476e 100644
Binary files a/lib/native/android-mips64.jar and b/lib/native/android-mips64.jar differ
diff --git a/lib/native/android-x86-64.jar b/lib/native/android-x86-64.jar
index b40bc5ea8c..7f3d398c11 100644
Binary files a/lib/native/android-x86-64.jar and b/lib/native/android-x86-64.jar differ
diff --git a/lib/native/android-x86.jar b/lib/native/android-x86.jar
old mode 100755
new mode 100644
index 4b0943ce2a..41e190ae6f
Binary files a/lib/native/android-x86.jar and b/lib/native/android-x86.jar differ
diff --git a/lib/native/darwin.jar b/lib/native/darwin.jar
index b67789b883..a1366fc388 100644
Binary files a/lib/native/darwin.jar and b/lib/native/darwin.jar differ
diff --git a/lib/native/freebsd-x86-64.jar b/lib/native/freebsd-x86-64.jar
old mode 100755
new mode 100644
index f160ff020f..fa6d729b54
Binary files a/lib/native/freebsd-x86-64.jar and b/lib/native/freebsd-x86-64.jar differ
diff --git a/lib/native/freebsd-x86.jar b/lib/native/freebsd-x86.jar
old mode 100755
new mode 100644
index 8908946698..39b9ee702c
Binary files a/lib/native/freebsd-x86.jar and b/lib/native/freebsd-x86.jar differ
diff --git a/lib/native/linux-aarch64.jar b/lib/native/linux-aarch64.jar
index 12c97c39f7..4ca5738542 100644
Binary files a/lib/native/linux-aarch64.jar and b/lib/native/linux-aarch64.jar differ
diff --git a/lib/native/linux-arm.jar b/lib/native/linux-arm.jar
old mode 100755
new mode 100644
index a9366cc77f..e275f2072b
Binary files a/lib/native/linux-arm.jar and b/lib/native/linux-arm.jar differ
diff --git a/lib/native/linux-armel.jar b/lib/native/linux-armel.jar
index ca0370a581..3503e95d78 100644
Binary files a/lib/native/linux-armel.jar and b/lib/native/linux-armel.jar differ
diff --git a/lib/native/linux-ia64.jar b/lib/native/linux-ia64.jar
old mode 100755
new mode 100644
diff --git a/lib/native/linux-loongarch64.jar b/lib/native/linux-loongarch64.jar
new file mode 100644
index 0000000000..73bfb6dfd4
Binary files /dev/null and b/lib/native/linux-loongarch64.jar differ
diff --git a/lib/native/linux-mips64el.jar b/lib/native/linux-mips64el.jar
index 8f176c43f4..e79d515202 100644
Binary files a/lib/native/linux-mips64el.jar and b/lib/native/linux-mips64el.jar differ
diff --git a/lib/native/linux-ppc.jar b/lib/native/linux-ppc.jar
old mode 100755
new mode 100644
index 14906c874b..215637713b
Binary files a/lib/native/linux-ppc.jar and b/lib/native/linux-ppc.jar differ
diff --git a/lib/native/linux-ppc64.jar b/lib/native/linux-ppc64.jar
old mode 100755
new mode 100644
diff --git a/lib/native/linux-ppc64le.jar b/lib/native/linux-ppc64le.jar
index 676640a842..5d00adf13e 100644
Binary files a/lib/native/linux-ppc64le.jar and b/lib/native/linux-ppc64le.jar differ
diff --git a/lib/native/linux-s390x.jar b/lib/native/linux-s390x.jar
index 1331c54e37..802ed9d6b2 100644
Binary files a/lib/native/linux-s390x.jar and b/lib/native/linux-s390x.jar differ
diff --git a/lib/native/linux-x86-64.jar b/lib/native/linux-x86-64.jar
index 125bb854f3..dfe3aa2559 100644
Binary files a/lib/native/linux-x86-64.jar and b/lib/native/linux-x86-64.jar differ
diff --git a/lib/native/linux-x86.jar b/lib/native/linux-x86.jar
old mode 100755
new mode 100644
index 6eba55ee9c..3f5fcc9f0b
Binary files a/lib/native/linux-x86.jar and b/lib/native/linux-x86.jar differ
diff --git a/lib/native/openbsd-x86-64.jar b/lib/native/openbsd-x86-64.jar
old mode 100755
new mode 100644
index 8a390ab093..e232a5547c
Binary files a/lib/native/openbsd-x86-64.jar and b/lib/native/openbsd-x86-64.jar differ
diff --git a/lib/native/openbsd-x86.jar b/lib/native/openbsd-x86.jar
old mode 100755
new mode 100644
index 5846e7ef2b..e446113175
Binary files a/lib/native/openbsd-x86.jar and b/lib/native/openbsd-x86.jar differ
diff --git a/lib/native/out-of-date.jar b/lib/native/out-of-date.jar
old mode 100755
new mode 100644
diff --git a/lib/native/sunos-sparc.jar b/lib/native/sunos-sparc.jar
index 9c0f51dcf4..265848fff6 100644
Binary files a/lib/native/sunos-sparc.jar and b/lib/native/sunos-sparc.jar differ
diff --git a/lib/native/sunos-sparcv9.jar b/lib/native/sunos-sparcv9.jar
old mode 100755
new mode 100644
index 4efc35c7e2..a564dc38fd
Binary files a/lib/native/sunos-sparcv9.jar and b/lib/native/sunos-sparcv9.jar differ
diff --git a/lib/native/sunos-x86-64.jar b/lib/native/sunos-x86-64.jar
old mode 100755
new mode 100644
index 6c8c45e6df..4dabce70fb
Binary files a/lib/native/sunos-x86-64.jar and b/lib/native/sunos-x86-64.jar differ
diff --git a/lib/native/sunos-x86.jar b/lib/native/sunos-x86.jar
old mode 100755
new mode 100644
index 459cbd73e3..8829d8015f
Binary files a/lib/native/sunos-x86.jar and b/lib/native/sunos-x86.jar differ
diff --git a/lib/native/w32ce-arm.jar b/lib/native/w32ce-arm.jar
old mode 100755
new mode 100644
diff --git a/lib/native/win32-aarch64.jar b/lib/native/win32-aarch64.jar
new file mode 100644
index 0000000000..0a9caea6b9
Binary files /dev/null and b/lib/native/win32-aarch64.jar differ
diff --git a/lib/native/win32-x86-64.jar b/lib/native/win32-x86-64.jar
old mode 100755
new mode 100644
index 41931315ee..af242c3c54
Binary files a/lib/native/win32-x86-64.jar and b/lib/native/win32-x86-64.jar differ
diff --git a/lib/native/win32-x86.jar b/lib/native/win32-x86.jar
index 54fab71e8e..ca0b41297c 100644
Binary files a/lib/native/win32-x86.jar and b/lib/native/win32-x86.jar differ
diff --git a/native/Makefile b/native/Makefile
index 1bea2dc77b..05e5d26c1f 100644
--- a/native/Makefile
+++ b/native/Makefile
@@ -9,9 +9,9 @@
#
# Supported platforms (built and tested):
#
-# Windows 2000/XP/2003/Vista (x86/amd64)
+# Windows (x86/amd64/aarch64)
# Windows CE/Mobile (arm)
-# Darwin/OS X (i386/x86_64/ppc)
+# Darwin/OS X (i386/x86-64/ppc/aarch64)
# Linux (i386/amd64/ppc/arm)
# Solaris (i386/amd64/sparc/sparcv9)
# AIX (ppc/ppc64)
@@ -246,8 +246,21 @@ LIBS=psapi.lib
ARSFX=.lib
ifeq ($(ARCH),amd64)
CC+= -m64
-endif
-FFI_CONFIG+= && rm -f include/ffitarget.h && cp $(FFI_SRC)/include/*.h $(FFI_SRC)/src/x86/ffitarget.h include
+FFI_TARGET=$(FFI_SRC)/src/x86/ffitarget.h
+else ifeq ($(ARCH),aarch64)
+# Force $(CC) fallback; avoid arch mismatch
+WINDRES=false
+# Disable mingw; no aarch64 support
+MINGW=
+FFI_CONFIG+=--host=aarch64-cygwin
+# Skip building assembly callback functions
+CDEFINES+= -DASMFN_OFF
+DLLCB=
+CC+= -marm64
+FFI_CONFIG+=--host=aarch64-cygwin
+endif
+FFI_TARGET?=$(FFI_SRC)/src/$(ARCH)/ffitarget.h
+FFI_CONFIG+= && rm -f include/ffitarget.h && cp $(FFI_SRC)/include/*.h $(FFI_TARGET) include
FFI_ENV+=LD="$(LD)" CPP="$(CPP)" CXXCPP="$(CPP)"
EXTRAOBJS+=$(DLLCB)
@@ -321,7 +334,7 @@ endif
endif
# CC_OPTS only applied to objects build for jnidispatch, not for libffi
-# -Wno-unknown-warning-option
+# -Wno-unknown-warning-option
# => Suppress warning for unknown warnings
# -Werror => Treat warnings as errors
# -Wno-clobbered => Silence GCC warning about clobbered automatic variables.
@@ -329,6 +342,12 @@ endif
# that implements "protected" mode. In that case an exception
# is raised and the value of the potentially clobbered
# variables is ignored.
+# -Wno-alloca-larger-than => Silence warnings about unbounded alloca calls in
+# the dispatch logic. GCC tries to assert, that the size of
+# the allocated memory is bounded and thus a check for the
+# variable needs to be inplace. For the JNA case, the size
+# comes from the Java side, so checks are not visible on the
+# C side and thus can't be checked there.
#
# Enable this only on GCC versions, that can work with it. It is assumed, that
# GCC version 4.X is the lower bound. That version is problematic, as it
@@ -337,7 +356,7 @@ ifeq ($(CC),gcc)
GCC_MAJOR_VERSION = $(shell gcc -dumpversion | cut -f 1 -d '.')
ifneq ($(GCC_MAJOR_VERSION),4)
ifneq ($(GCC_MAJOR_VERSION),3)
- LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable
+ LOC_CC_OPTS=-Wno-unknown-warning-option -Werror -Wno-clobbered -Wno-unused-variable -Wno-alloca-larger-than
endif
endif
else
@@ -373,47 +392,61 @@ endif
ifeq ($(OS),darwin)
-XCODE_VERSION=$(shell xcodebuild -version | grep Xcode | sed 's/^Xcode \([1-9]\).*/\1/g')
-JAVA_INCLUDES+=-I/System/Library/Frameworks/JavaVM.framework/Headers
-DEFAULT_ARCH=$(shell arch)
-ARCH=$(shell arch)
-HOST_CONFIG=--host $(ARCH)-apple-darwin
-FFI_ENV += CC="$(CC)" CFLAGS="-arch $(ARCH) $(ISYSROOT) $(COPT) $(CDEBUG)" CPPFLAGS="$(CDEFINES)" LD="$(LD) -arch $(ARCH)"
-ALT_ARCHS=
-ifneq ($(ARCH),i386)
-ALT_ARCHS+=i386
+
+DARWIN_ARCH=$(ARCH)
+ifeq ($(ARCH),aarch64)
+ DARWIN_ARCH=arm64
+else
+ifeq ($(ARCH),x86-64)
+ DARWIN_ARCH=x86_64
+else
+ifeq ($(ARCH),x86)
+ DARWIN_ARCH=x86
+else
endif
-ifneq ($(ARCH),x86_64)
-ALT_ARCHS+=x86_64
endif
+endif
+
+XCODE_VERSION=$(shell xcodebuild -version | grep Xcode | sed 's/^Xcode \([1-9][0-9]*\).*/\1/g')
+MACOS_VERSION_MAJOR=$(shell sw_vers -productVersion | cut -d. -f 1)
+MACOS_VERSION_MINOR=$(shell sw_vers -productVersion | cut -d. -f 2)
+JAVA_INCLUDES+=-I/System/Library/Frameworks/JavaVM.framework/Headers
+# Actual deployment target depends on SDK support
+MACOSX_DEPLOYMENT_TARGET=10.3
+DEFAULT_ARCH=$(shell arch)
+HOST_CONFIG=--host $(DARWIN_ARCH)-apple-darwin
+FFI_ENV += CC="$(CC)" CFLAGS="-mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) -arch $(DARWIN_ARCH) $(ISYSROOT) $(COPT) $(CDEBUG)" CPPFLAGS="$(CDEFINES)" LD="$(LD) -arch $(DARWIN_ARCH)"
+LIBSFX=.dylib
+JNISFX=-$(ARCH).jnilib
+# JAWT no longer supported on OSX
+CDEFINES+=-DTARGET_RT_MAC_CFM=0 -DFFI_MMAP_EXEC_WRIT -DNO_JAWT
+
ifneq ($(ARCH),ppc)
-ifeq ($(XCODE_VERSION),3)
-# Xcode 3 options
-# not supported on XCode 4+
-ALT_ARCHS+=ppc
-else
+ifneq ($(XCODE_VERSION),3)
# Xcode 4+ options
NO_COMPACT_UNWIND=-Wl,-no_compact_unwind
endif
endif
-LIBSFX=.dylib
-JNISFX=.jnilib
ifneq ($(SDKROOT),)
SYSLIBROOT=-Wl,-syslibroot,$(SDKROOT)
ISYSROOT=-isysroot $(SDKROOT)
-ARCHFLAGS=-arch i386 -arch x86_64
-ifeq ($(XCODE_VERSION),3)
-ARCHFLAGS+=-arch ppc
-endif
+ARCHFLAGS+=-arch $(DARWIN_ARCH)
endif
PCFLAGS+=$(ISYSROOT) -x objective-c
-# JAWT no longer supported on OSX
-CDEFINES+=-DTARGET_RT_MAC_CFM=0 -DFFI_MMAP_EXEC_WRIT -DNO_JAWT
-LDFLAGS=$(ARCHFLAGS) -dynamiclib -o $@ -framework JavaVM \
+
+# MAJOR < 10 || (MAJOR = 10 && MINOR < 7)
+MACOS_LT_10_7 = $(shell [ ${MACOS_VERSION_MAJOR} -lt 10 -o ${MACOS_VERSION_MAJOR} -eq 10 -a ${MACOS_VERSION_MINOR} -lt 7 ] && echo true)
+
+# JavaVM.framwork is "Deprecated in OS X v10.7."
+ifeq ($(MACOS_LT_10_7),true)
+FRAMEWORK=-framework JavaVM
+endif
+
+LDFLAGS=$(ARCHFLAGS) -dynamiclib -o $@ $(FRAMEWORK) \
-compatibility_version $(shell echo ${JNA_JNI_VERSION}|sed 's/^\([0-9][0-9]*\).*/\1/g') \
-current_version $(JNA_JNI_VERSION) \
- -mmacosx-version-min=10.3 \
+ -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) \
-framework Foundation \
$(NO_COMPACT_UNWIND) \
-install_name ${@F} \
@@ -428,11 +461,7 @@ endif
$(BUILD)/%.o : %.c dispatch.h protect.h $(FFI_LIB)
@mkdir -p $(BUILD)
ifneq ($(SDKROOT),)
- $(CC) $(LOC_CC_OPTS) -arch $(ARCH) $(CFLAGS) -c $< -o $@.$(ARCH)
- for arch in $(ALT_ARCHS); do \
- $(CC) $(LOC_CC_OPTS) -arch $$arch -I$(BUILD)/libffi.$$arch/include $(CFLAGS) -c $< -o $@.$$arch; \
- done
- lipo -create -output $@ $@.*
+ $(CC) $(LOC_CC_OPTS) -mmacosx-version-min=$(MACOSX_DEPLOYMENT_TARGET) -arch $(DARWIN_ARCH) $(CFLAGS) -c $< -o $@
else
$(CC) $(CFLAGS) $(LOC_CC_OPTS) -c $< $(COUT)
endif
@@ -488,25 +517,6 @@ $(FFI_LIB):
&& $(FFI_ENV) $(FFI_SRC)/configure $(FFI_CONFIG) $(HOST_CONFIG)); \
fi
$(MAKE) -C $(FFI_BUILD)
-ifneq ($(SDKROOT),)
- @for arch in $(ALT_ARCHS); do \
- mkdir -p $(BUILD)/libffi.$$arch; \
- if [ ! -f $(BUILD)/libffi.$$arch/Makefile ]; then \
- echo "Configuring libffi ($$arch)"; \
- (cd $(BUILD)/libffi.$$arch \
- && CC="$(CC)" CFLAGS="-arch $$arch $(ISYSROOT) $(COPT) $(CDEBUG)" CPPFLAGS="$(CDEFINES)" \
- LDFLAGS="-arch $$arch" \
- $(FFI_SRC)/configure $(FFI_CONFIG) --host=$$arch-apple-darwin --disable-dependency-tracking); \
- fi; \
- $(MAKE) -C $(BUILD)/libffi.$$arch; \
- done
-ifneq ($(ALT_ARCHS),)
- /usr/bin/libtool -static -o $@.tmp $(FFI_BUILD)/.libs/${@F} $(BUILD)/libffi.*/.libs/${@F}
-else
- /usr/bin/libtool -static -o $@.tmp $(FFI_BUILD)/.libs/${@F}
-endif
- mv $@.tmp $@
-endif
endif
clean:
diff --git a/native/build.xml b/native/build.xml
index c7129efcde..5b6c7101fb 100644
--- a/native/build.xml
+++ b/native/build.xml
@@ -1,5 +1,7 @@
-
+
@@ -15,8 +17,7 @@
-
-
+
@@ -38,6 +39,9 @@
message="OS/arch not supported (${os.name}/${jre.arch}), edit build.xml and native/Makefile to add it."/>
+
+
+
@@ -236,13 +240,19 @@
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
@@ -250,12 +260,6 @@
-
-
-
-
-
-
@@ -279,44 +283,42 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
+
-
-
+
+
-
-
-
-
-
+
+
+
+
+
+
+
-
DeleteWeakGlobalRef(env, cb->object);
ffi_closure_free(cb->closure);
free(cb->arg_types);
@@ -332,6 +331,7 @@ free_callback(JNIEnv* env, callback *cb) {
}
free(cb->arg_jtypes);
#ifdef DLL_FPTRS
+ int i;
for (i=0;i < DLL_FPTRS;i++) {
if (fn[i] == cb->saved_x_closure) {
fn[i] = NULL;
diff --git a/native/libffi/.gitignore b/native/libffi/.gitignore
deleted file mode 100644
index 1158ecef28..0000000000
--- a/native/libffi/.gitignore
+++ /dev/null
@@ -1,35 +0,0 @@
-.libs
-.deps
-*.o
-*.lo
-.dirstamp
-*.la
-Makefile
-Makefile.in
-aclocal.m4
-compile
-config.*
-configure
-depcomp
-doc/libffi.info
-*~
-fficonfig.h.in
-fficonfig.h
-include/ffi.h
-include/ffitarget.h
-install-sh
-libffi.pc
-libtool
-libtool-ldflags
-ltmain.sh
-m4/libtool.m4
-m4/lt*.m4
-mdate-sh
-missing
-stamp-h1
-libffi*gz
-autom4te.cache
-libffi.xcodeproj/xcuserdata
-libffi.xcodeproj/project.xcworkspace
-build_*/
-darwin_*/
diff --git a/native/libffi/.travis.yml b/native/libffi/.travis.yml
deleted file mode 100644
index 6c14fcd0b0..0000000000
--- a/native/libffi/.travis.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-language: cpp
-compiler:
- - gcc
- - clang
-env:
- -
- - HOST=i386-pc-linux-gnu
-matrix:
- exclude:
- - compiler: clang
- env: HOST=i386-pc-linux-gnu
-
-before_script:
- - sudo apt-get install dejagnu texinfo
- - if [ "$HOST" = i386-pc-linux-gnu ] ; then sudo apt-get install gcc-multilib g++-multilib && CC="$CC -m32" && CXX="$CXX -m32" ; fi
-
-script:
- - ./autogen.sh
- - ./configure ${HOST+--host=$HOST}
- - make
- - make dist
- - make check
diff --git a/native/libffi/ChangeLog b/native/libffi/ChangeLog
new file mode 100644
index 0000000000..fad8eaee12
--- /dev/null
+++ b/native/libffi/ChangeLog
@@ -0,0 +1,10725 @@
+commit 5dcb741f1544c5e18c9dbf96aeb8b61cc556a616
+Author: Anthony Green
+Date: Sat Nov 23 10:24:58 2019 -0500
+
+ Move nested_struct3 test to closures directory
+
+commit 1aca33301a791f503d943f5e3abe2c720296eb8f
+Author: Anthony Green
+Date: Sat Nov 23 09:42:04 2019 -0500
+
+ Add missing closing brace
+
+commit d996cb283cf373936498defa902be040ec20455e
+Author: Anthony Green
+Date: Sat Nov 23 09:00:14 2019 -0500
+
+ Version 3.3
+
+commit c72b82f465148b89f118ee73f8956dafdbac9b65
+Author: Anthony Green
+Date: Sat Nov 23 08:48:53 2019 -0500
+
+ Remove junk file from dist
+
+commit 642d40ee6ae9a779b3c5ad930785d4b33cf94029
+Author: Anthony Green
+Date: Sat Nov 23 07:49:58 2019 -0500
+
+ Account for moved test files
+
+commit 049da08a22b0ca6d63d2be6c209da5ac1335365c
+Author: Anthony Green
+Date: Sat Nov 23 07:44:26 2019 -0500
+
+ Add dejagnu directives accidentally removed
+
+commit 36730f5d87c2a432e1b3bf1a0129fedbf4b0a488
+Author: Anthony Green
+Date: Fri Nov 22 19:49:38 2019 -0500
+
+ Move closure test to closure directory
+
+commit c88c0e92a9fbb4e69513394682c61aa848a035cc
+Author: Anthony Green
+Date: Fri Nov 22 19:27:34 2019 -0500
+
+ More more closure tests to the closure test directory
+
+commit a37cc1755cc276b2b9e601b9b112919f8c882a2e
+Merge: 332a539 247a5e7
+Author: Anthony Green
+Date: Fri Nov 22 18:55:36 2019 -0500
+
+ Merge branch 'master' of github.com:libffi/libffi
+
+commit 332a539e88d26a0524c10a39283a3099d071ca10
+Author: Anthony Green
+Date: Fri Nov 22 18:54:30 2019 -0500
+
+ Move closure tests so we can easily XFAIL them for some targets
+
+commit 1761a10645dadc0840bf1ff3a4998f9a342e8cad
+Author: Anthony Green
+Date: Fri Nov 22 18:53:09 2019 -0500
+
+ Remove gccbug detection. GCC is good now.
+
+commit 247a5e7878379b7af33338d51898d7fb9e82e686
+Author: Michael Haubenwallner
+Date: Fri Nov 22 20:17:58 2019 +0100
+
+ Capture x86-windows host like x86_64-windows (#529)
+
+commit 8e3935fa761d3e6f19ccf5e6733fd40dee637d94
+Author: Anthony Green
+Date: Fri Nov 22 12:42:26 2019 -0500
+
+ Manual clean-ups, and include the PDF in the source distribution.
+
+commit d01088a5194ff1a2250e7dbee04a9a167b582db7
+Author: Anthony Green
+Date: Thu Nov 21 05:36:06 2019 -0500
+
+ Mention more major port contributors
+
+commit 970b7fce4f804df57ec582a0220c22eaeccc239a
+Author: Anthony Green
+Date: Thu Nov 21 05:04:54 2019 -0500
+
+ Update autoconf-archive m4 macros
+
+commit 34a3a661b80c0fa7817c0654ae9fd0686d3b8cd2
+Author: Anthony Green
+Date: Thu Nov 21 04:59:39 2019 -0500
+
+ Fix formatting of README.
+
+commit 91a7fbe94e3884536cf2eb8e644bc79d6b19c80e
+Author: Anthony Green
+Date: Wed Nov 20 07:16:41 2019 -0500
+
+ Fix or1k lack-of-g++ checking in testsuite
+
+commit 31543c799a224ef446cef19a2372b054ecad3822
+Author: Anthony Green
+Date: Wed Nov 20 06:15:55 2019 -0500
+
+ Add work-around for users who manage their own closure memory
+
+ As suggested by DJ
+
+commit bd3a4687c0743076f420dee2a02075fd64fa547e
+Author: Anthony Green
+Date: Tue Nov 19 17:14:23 2019 -0500
+
+ No C++ for or1k-unknown-elf
+
+commit d6e4f96b482690e6cdaf67a70bb33d1bfe0acd15
+Author: Anthony Green
+Date: Tue Nov 19 13:36:49 2019 -0500
+
+ No C++ for or1k
+
+commit 497018686d4df0012ea7bf1a4ab41b918b5e65bc
+Author: Anthony Green
+Date: Tue Nov 19 10:07:16 2019 -0500
+
+ Disable type warnings for or1k.
+
+commit 262cf74fd4003a928ca73e96ef8698546e535c46
+Author: Anthony Green
+Date: Tue Nov 19 10:06:57 2019 -0500
+
+ No c++ for or1k-elf
+
+commit 54fc80dfd8d608ec718cade762c358b8fd819f38
+Author: Anthony Green
+Date: Mon Nov 18 15:20:00 2019 -0500
+
+ Fake TRAVIS_BUILD_DIR
+
+commit 6f734f8a5ff13d106f81741c11c7cb2551706c7f
+Author: Anthony Green
+Date: Mon Nov 18 15:13:16 2019 -0500
+
+ Adapt for new old ChangeLog file
+
+commit 27d31130cabfe82683fc0e3e82247fd522f45607
+Author: Anthony Green
+Date: Mon Nov 18 15:06:51 2019 -0500
+
+ Fix DEJAGNU variable
+
+commit da1358816e7b02e6f8431e4df336d0934bcabd4c
+Author: Anthony Green
+Date: Mon Nov 18 14:54:14 2019 -0500
+
+ Set vars
+
+commit 9a394c24951f3fc5cfbd0ff268278a7b45afc77e
+Author: Anthony Green
+Date: Mon Nov 18 14:45:29 2019 -0500
+
+ Remove verbosity
+
+commit 14bfbec0fd312001f7922ee6100cbc3155ae585b
+Author: Anthony Green
+Date: Mon Nov 18 14:40:30 2019 -0500
+
+ Pull before running
+
+commit dfa60e5eb44482d45b8c79b815e6b6789e62ce18
+Author: Anthony Green
+Date: Mon Nov 18 14:02:33 2019 -0500
+
+ Fix cross builds for or1k
+
+commit a8223271a3d7ff1e8a1553c2a5ed9b4e1a24a774
+Author: Anthony Green
+Date: Mon Nov 18 13:59:10 2019 -0500
+
+ More cross build debugging
+
+commit 8c9cf44cb2a2d46ddcb148508fb5350438b4a62b
+Author: Anthony Green
+Date: Mon Nov 18 13:47:42 2019 -0500
+
+ Set path to simulator. Add debugging output.
+
+commit 581048f91e9e25e3b17a2906edd8840f35999918
+Author: Anthony Green
+Date: Mon Nov 18 13:17:27 2019 -0500
+
+ Be specific when building CI container images
+
+commit bbea6394f9f27de68aac037abb264151d6de9f64
+Author: Anthony Green
+Date: Mon Nov 18 13:06:26 2019 -0500
+
+ Capture more or1k hosts
+
+commit 97e3b1fe1a0fbdb43bf28fe6198cb26eaa719c93
+Author: Anthony Green
+Date: Mon Nov 18 13:02:44 2019 -0500
+
+ Add test support for or1k. Fix yaml typo.
+
+commit c88f4d2677d4dc6659a1aa6418e636f8fcf9bd9b
+Author: Anthony Green
+Date: Mon Nov 18 12:25:51 2019 -0500
+
+ Fix typo for m32r and bfin builds
+
+commit 93c203b347ea7d110355e12f832725f755e10eff
+Merge: d087b59 73dd43a
+Author: Anthony Green
+Date: Mon Nov 18 06:35:19 2019 -0500
+
+ Merge branch 'master' of github.com:libffi/libffi
+
+commit d087b595637ebb795c0cec1ff0c4409befb486b7
+Author: Anthony Green
+Date: Mon Nov 18 06:34:42 2019 -0500
+
+ Build/test for m32r-elf and bfin-elf
+
+commit b6804d16453890b78844b1b3c1acf16af98cadb8
+Author: Anthony Green
+Date: Sun Nov 17 09:19:14 2019 -0500
+
+ Mention binary128 long double support for Power
+
+commit 73dd43afc8a447ba98ea02e9aad4c6898dc77fb0
+Author: Samuel Holland
+Date: Sun Nov 17 07:22:25 2019 -0600
+
+ IEEE754 binary128 long double support for PowerPC64 (#526)
+
+ * powerpc: Adjust flags to make room for vector types
+
+ * powerpc64 ELFv2 IEEE128 long double support
+
+commit b58bd77236e7d41fc04b4be7edd1c6728626c99b
+Author: Anthony Green
+Date: Fri Nov 15 11:18:59 2019 -0500
+
+ Re-enable mingw32 tests.
+
+commit 6f221e8269aa16f6b5eec41cfd1d7d90a9fbea0c
+Author: Anthony Green
+Date: Fri Nov 15 11:06:17 2019 -0500
+
+ Disable wine builds.
+
+commit 09dc0a71a44c95ee0d2f47de94b6b59534c2ce24
+Author: Anthony Green
+Date: Fri Nov 15 10:19:00 2019 -0500
+
+ Stretch out timeout for test
+
+commit 28a7cc464c21b4955fba28cc55a6f095ddf5838b
+Author: Anthony Green
+Date: Fri Nov 15 06:07:51 2019 -0500
+
+ Consolidate all of the old ChangeLog files into ChangeLog.old.
+
+commit 86d3d3767a40fe1cae10c419a913dd97e7e6cd23
+Author: Anthony Green
+Date: Wed Nov 13 10:07:00 2019 -0500
+
+ Don't build aarch64-linux-gnu
+
+commit db198a19375858879dbcc51a443c193efa0b6c0a
+Author: Anthony Green
+Date: Wed Nov 13 10:05:36 2019 -0500
+
+ Extend timeout for builds.
+
+commit 54af0256a00a40b2218950f93e5415c60f675714
+Author: Anthony Green
+Date: Wed Nov 13 09:15:05 2019 -0500
+
+ Platform test tweaks
+
+commit 3a7580da73b7f16f275277316d00e3497cbb5a8c
+Author: Anthony Green
+Date: Wed Nov 13 07:59:18 2019 -0500
+
+ Mark java raw APIs as deprecated.
+
+commit cda60c1a8aec070a7a822c047d89d0f18cf7c5fc
+Author: Anthony Green
+Date: Wed Nov 13 06:51:44 2019 -0500
+
+ Disable mips64 tests. Fix log grabbing.
+
+commit a34254bdc1dee2857b759a22e657f92aadfa85dc
+Author: Anthony Green
+Date: Wed Nov 13 06:37:26 2019 -0500
+
+ Re-add wine based testing
+
+commit 9bd3a9742c04d2fac489f236163d7e7fbb1b7568
+Author: Anthony Green
+Date: Wed Nov 13 06:35:40 2019 -0500
+
+ Add wine-sim.exp for wine-based testing
+
+commit de6df6dce6420d4643598c228b72da4e455a0da7
+Author: Anthony Green
+Date: Wed Nov 13 06:32:46 2019 -0500
+
+ Fix log file URL extraction. Grab rlgl cli for OSX
+
+commit c8986e871f82b497493d28c36be1a755c2ea6b8d
+Author: Anthony Green
+Date: Wed Nov 13 06:01:43 2019 -0500
+
+ Fix log name extraction
+
+commit 6630764d244aeb3bc0797d0c3c7ccc79084061a8
+Author: Anthony Green
+Date: Tue Nov 12 22:56:37 2019 -0500
+
+ Account for shorter ==LOGFILE== string
+
+commit aa975ec3e4ac07bd7dacec18f1c8282baeb7c398
+Author: Anthony Green
+Date: Tue Nov 12 22:35:47 2019 -0500
+
+ Fix grep matcher
+
+commit 6dd88bc5b3f3d3d975409b7336f4127ae18da4b3
+Author: Anthony Green
+Date: Tue Nov 12 18:44:27 2019 -0500
+
+ Debug
+
+commit 7e318cf50d8c481957b3be76e508054c70cbdf9b
+Author: Anthony Green
+Date: Tue Nov 12 17:55:35 2019 -0500
+
+ Pull test logs from cfarm
+
+commit 5123e9cf0193031bdc580cb221427cbd29ba3677
+Author: Anthony Green
+Date: Tue Nov 12 09:21:57 2019 -0500
+
+ Use rlgl for cfarm test results
+
+commit 486f88f985affa215a9daaadcdc703c8baea9020
+Author: Anthony Green
+Date: Tue Nov 12 09:20:21 2019 -0500
+
+ Use rlgl for cross builds.
+
+commit 042c6671b0456d17af24d61b79cbd3f9261c3f2b
+Author: Anthony Green
+Date: Tue Nov 12 09:14:20 2019 -0500
+
+ Always exit build container successfully. Don't test mingw.
+
+commit 82f7f80aa9ac3cd753bcb6d2b88cc930aee72bcc
+Author: Anthony Green
+Date: Tue Nov 12 08:58:52 2019 -0500
+
+ Run rlgl outside of the build container.
+
+commit 5b297e036e61ad1ecac9c8a3e57895737c55feb7
+Author: Anthony Green
+Date: Tue Nov 12 05:51:09 2019 -0500
+
+ Don't bother dumping logs. Use rlgl instead.
+
+commit 2a8d88d92d56747101078c5592ab2473e6c5cb29
+Author: Anthony Green
+Date: Mon Nov 11 21:24:58 2019 -0500
+
+ Fix rlgl usage
+
+commit 3c2b810e99a10f97d1eb6ba485eb09bfdb158084
+Author: Anthony Green
+Date: Mon Nov 11 21:11:59 2019 -0500
+
+ Test rlgl
+
+commit 2cc11720be0c4d3bbe906be5a4aad3b2dc167072
+Author: Anthony Green
+Date: Mon Nov 11 16:19:45 2019 -0500
+
+ Debug in-container builds
+
+commit 0de0c6a28006902c203e8dc6629cd9ef35d61e09
+Author: Anthony Green
+Date: Sun Nov 10 08:20:46 2019 -0500
+
+ Build both iOS and Macosx
+
+commit 4e3e0586efbbc7828c15fb48e49401840beefcdd
+Author: Anthony Green
+Date: Thu Nov 7 12:35:27 2019 -0500
+
+ Fix tpyo
+
+commit f764f278160831f7e4d8ee8a48d18f5a7937f742
+Author: Anthony Green
+Date: Thu Nov 7 12:17:29 2019 -0500
+
+ Change s390x options
+
+commit 188de63c597f23b0ccdb953b076c8cb0711fbcf0
+Author: Anthony Green
+Date: Thu Nov 7 12:03:19 2019 -0500
+
+ Mark xfail for m68k and alpha.
+
+commit 0da221f8094ec504d91b5f88c74e98b8b9aa9eda
+Author: Anthony Green
+Date: Thu Nov 7 12:03:01 2019 -0500
+
+ Clean up. Debug s390x cpu support.
+
+commit 7e0fbf41934020c9ff76816fde5000482c7e6a6c
+Author: Anthony Green
+Date: Thu Nov 7 11:50:08 2019 -0500
+
+ Try coldfire for m68k builds
+
+commit 6a9fa770a436bbb71dbe8311e75123353e6836cc
+Author: Anthony Green
+Date: Thu Nov 7 11:37:25 2019 -0500
+
+ Add GCC_OPTIONS flag
+
+commit eebcbb1113742df7d41fc3d39eca970a026ad1d1
+Author: Anthony Green
+Date: Thu Nov 7 11:26:53 2019 -0500
+
+ Compile m68k target for m5208
+
+commit 08cb33ff5824b2ea24b2b62841cca1934a27f36f
+Author: Anthony Green
+Date: Thu Nov 7 11:15:13 2019 -0500
+
+ Dump supported CPUs
+
+commit 16c935000d459b1aba9e1f7b48e2c1d7dadc8cf1
+Author: Anthony Green
+Date: Thu Nov 7 11:00:09 2019 -0500
+
+ Fix shell script
+
+commit 588e87461fe48441806be4bb5654f058e1c37649
+Author: Anthony Green
+Date: Thu Nov 7 10:56:40 2019 -0500
+
+ Print debug output. Use podman when available.
+
+commit 04d14a66ff807a0ac2578ce886ef338aa2066b4d
+Author: Anthony Green
+Date: Thu Nov 7 09:23:10 2019 -0500
+
+ Set QEMU_CPU within the build containers
+
+commit 28d9c019dbbf6dea1ed127e1a7de829cece86639
+Author: Anthony Green
+Date: Thu Nov 7 07:36:11 2019 -0500
+
+ Set QEMU_CPU for m68k
+
+commit 75464caf658f176848db6f48325c5067cdf94a9b
+Author: Anthony Green
+Date: Wed Nov 6 22:02:11 2019 -0500
+
+ Add alpha and m68k testing
+
+commit 259c497a2f326cc89344766e106cf73e62485a2a
+Author: Anthony Green
+Date: Wed Nov 6 11:31:17 2019 -0500
+
+ Sett CC and CXX for cross builds
+
+commit d23d3959fdb764984cfb888c5d6aed910926dd5f
+Author: Anthony Green
+Date: Wed Nov 6 11:21:46 2019 -0500
+
+ autogen before cross building
+
+commit a6dc8ef270c1f022720aedadb6b0d2678d1bc39e
+Author: Anthony Green
+Date: Wed Nov 6 11:10:59 2019 -0500
+
+ Fix typo. Don't double test.
+
+commit 136a235d3f36408628c0459d8740546acad0ca5a
+Author: Anthony Green
+Date: Wed Nov 6 10:51:33 2019 -0500
+
+ Use the right cross build container image
+
+commit 92f5309def05c66e6c5034c10d620d6fbc7a1018
+Author: Anthony Green
+Date: Wed Nov 6 10:49:04 2019 -0500
+
+ Try s390x and sh4 cross builds/tests
+
+commit d4a28fee720c8f389b138b3f7726157fbcb7eaaf
+Author: Anthony Green
+Date: Wed Nov 6 06:47:05 2019 -0500
+
+ Revert to older test cross compilers
+
+commit 0fb9ee21e68ca3e70cf236a63ba00b5ca32031ff
+Author: Anthony Green
+Date: Wed Nov 6 06:44:19 2019 -0500
+
+ Use older test compiler. Enable s390x testing.
+
+commit 36d281ab70daf7dcf890df9c3f5bdd76f665bb68
+Author: Anthony Green
+Date: Wed Nov 6 06:30:52 2019 -0500
+
+ Test cross-builds for hppa-linux-gnu
+
+commit c95cc4b354f24dbbf5776eb297fa036bcbfed252
+Author: Anthony Green
+Date: Wed Nov 6 06:30:20 2019 -0500
+
+ Reference FFI_BUILDING_DLL
+
+commit 88a76477debe83ed6a75f96394853c891fb1dac4
+Author: Anthony Green
+Date: Sun Nov 3 06:28:51 2019 -0500
+
+ rc2. hack as per: https://github.com/travis-ci/travis-ci/issues/6934
+
+commit 45ba4aefed15be24fdbaaffec805fb02b1343e0f
+Author: Anthony Green
+Date: Thu Oct 31 19:07:04 2019 -0400
+
+ Add sparc64-linux-gnu testing back
+
+commit a26323b7e0824f0becaeaffc8d3b700dc09f741c
+Author: Anthony Green
+Date: Thu Oct 31 15:32:48 2019 -0400
+
+ Don't build sparc. Build mips.
+
+commit f325324818a6aaa9e8a75782d75c412872e6b21c
+Author: Anthony Green
+Date: Thu Oct 31 14:35:43 2019 -0400
+
+ Test mips64el-linux-gnu
+
+commit 39bad2f396de7885c9569144b5bb6e8a639ac011
+Author: Anthony Green
+Date: Thu Oct 31 12:33:22 2019 -0400
+
+ Don't run autogen.sh all the time.
+
+commit 82719cbba06c2fc527df156d728341867d86f82c
+Author: Anthony Green
+Date: Thu Oct 31 12:23:11 2019 -0400
+
+ Test sparc64-linux-gnu on travis
+
+commit 0348d0e4fa585d9a3d9762132a3eee94f918fe3b
+Author: Anthony Green
+Date: Thu Oct 31 10:53:37 2019 -0400
+
+ Try new cfarm build for power
+
+commit 290bc3164bb0e0b3fb912c457b49e61f9a728eef
+Author: Anthony Green
+Date: Sat Oct 26 10:13:20 2019 -0400
+
+ Add make_sunver.pl to distribution.
+
+commit a8efc2f7897b439fdf2144329d35fea820498dc7
+Author: Andreas Schwab
+Date: Sat Oct 26 14:57:05 2019 +0200
+
+ Fix FFI_STDCALL ABI (#514)
+
+ Even for a stdcall function, the stack alignment is still the
+ responsibility of the caller. Remember the original, not stack-aligned
+ argument size, but align when setting up a stack frame. In
+ ffi_closure_inner, return the true argument size, so that
+ ffi_[go_]closure_STDCALL doesn't adjust too much.
+
+commit ca112537df7b9cdbccad7541aa3cb43b2a2dac9a
+Author: Anthony Green
+Date: Sat Oct 26 07:26:30 2019 -0400
+
+ Add missing build script, make_sunver.pl.
+
+commit 52b066f04fdd81c1037e1cb714a07a2a352bcf9b
+Author: Anthony Green
+Date: Thu Oct 24 07:03:43 2019 -0400
+
+ Update versions to 3.3-rc1
+
+commit 9b10df3be2d8f81876b7cc90ee5d8833ccdf6b34
+Author: Anthony Green
+Date: Thu Oct 24 06:41:11 2019 -0400
+
+ Remove some debugging output
+
+commit ec042885cfa5a9450bfcc87152a41529d26545de
+Author: Anthony Green
+Date: Thu Oct 24 06:39:00 2019 -0400
+
+ Don't test ppc64le with buggy qemu.
+
+commit 90fb897839bb7006a2f751d283e3d23b3bfec1ea
+Author: Anthony Green
+Date: Thu Oct 24 06:24:14 2019 -0400
+
+ Strip build status from README.md at 'make dist' time.
+
+commit 1d6059446fb986d2de933f7ccf6fe38bcdf0c76c
+Author: Anthony Green
+Date: Thu Oct 24 05:25:11 2019 -0400
+
+ Add missing dist files.
+
+commit 825b2a359468af8bf3570a5a0695e8b805c5446f
+Author: Anthony Green
+Date: Wed Oct 16 16:05:46 2019 -0400
+
+ Test on arm32v7-linux-gnu, ppc64le-linux-gnu and aarch64-linux-gnu.
+
+ Use docker images and qemu to test libffi for non-x86 architectures on
+ travis-ci.
+ Use the LIBFFI_TEST_OPTIMIZATION environment variable to
+ force specific optimization levels at test time.
+
+commit d2a4095af68f4530571bc3fa613dd7f5e5b815a3
+Author: Anthony Green
+Date: Mon Oct 14 06:46:52 2019 -0400
+
+ Fix comments.
+
+commit 058aa4130445b4ef3c2f77f796c33506873031ca
+Author: Anthony Green
+Date: Mon Oct 14 05:47:07 2019 -0400
+
+ Update copyright year
+
+commit c4f61240ab19401bd86c0dfb271e243e8159abb4
+Author: zhanhb <6323014+zhanhb@users.noreply.github.com>
+Date: Wed Oct 9 18:59:32 2019 +0800
+
+ Add long double test (#492)
+
+ Required to fix build error on macos with gcc-9
+
+commit 09f9d856112f2f105337e95e32ba9e2da63f65ae
+Author: pichikaudaykiran <51439150+pichikaudaykiran@users.noreply.github.com>
+Date: Wed Oct 9 16:26:06 2019 +0530
+
+ Making the change to correct the comment when SUN (#521)
+
+ and GCC are used together
+
+commit 55c22092dc54e706a64af3a49ae9d5471a9e8317
+Author: pnallan <46887249+pnallan@users.noreply.github.com>
+Date: Tue Oct 8 18:46:47 2019 +0530
+
+ handle compilation warnings with ftruncate API (#508)
+
+ * fix me: avoid warning while handle ftruncate API
+
+ Signed-off-by: Prasad Nallani
+
+ * Update closures.c
+
+commit e5f0eb1552f222eb2630e40ee348b090d56412a3
+Author: John Ericson
+Date: Tue Oct 8 06:58:52 2019 -0400
+
+ Clean up line endings (#509)
+
+ The CLRF visual studio files can be kept that way, but recognized as
+ text. The assembly file can be converted to LF.
+
+commit ea9b6639c69cbffeacd1ce0c1953c1997cf29d2e
+Author: Samuel Holland
+Date: Tue Oct 8 05:57:28 2019 -0500
+
+ PowerPC bugfixes (#520)
+
+ * powerpc: Silence warnings about unused labels
+
+ * powerpc: Fix a couple of comments
+
+ * powerpc: Fix alignment after float structs
+
+ * powerpc: Don't pad rvalues copied from FP regs
+
+ * powerpc: Add missing check in struct alignment
+
+ * powerpc: Support homogeneous long double structs
+
+commit 25cf9cc4a5ce4a272252de3f681d60dafd838ceb
+Author: Anthony Green
+Date: Tue Oct 8 06:24:55 2019 -0400
+
+ Use https for moxie toolchain repo
+
+commit c2a6859012d928b67a83619bd5087674a96b9254
+Author: Paul Monson
+Date: Wed Aug 7 11:57:45 2019 -0700
+
+ fix mingw build and crashing bugs for Python Windows ARM64 (#496)
+
+ * fix mingw build and crashing bugs for Python Windows ARM64
+
+ * Fix issues found in PR review
+
+commit e0b4f84fb71c6760068c9d1306e77c9382e76d8d
+Author: Anthony Green
+Date: Wed Jun 26 06:18:48 2019 -0400
+
+ Clear the apt cache
+
+commit 68668fe4f22dea7b829fb84b724f5a74091f22f2
+Author: Anthony Green
+Date: Wed Jun 26 06:01:15 2019 -0400
+
+ More debugging output
+
+commit 1d7635d18ae4aebe4ec1cd129b0b4f71b685131e
+Author: Anthony Green
+Date: Tue Jun 25 23:39:52 2019 -0400
+
+ Debug moxie builds in travis
+
+commit d856743e6b02fcb5911491204131e277a7a4e10b
+Author: ossdev07 <39188636+ossdev07@users.noreply.github.com>
+Date: Wed Jun 26 07:31:22 2019 +0530
+
+ libffi: added ARM64 support for Windows (#486)
+
+ * libffi: added ARM64 support for Windows
+
+ 1. ported sysv.S to win64_armasm.S for armasm64 assembler
+ 2. added msvc_build folder for visual studio solution
+ 3. updated README.md for the same
+ 4. MSVC solution created with the changes, and below test suites are tested
+ with test script written in python.
+
+ libffi.bhaible
+ libffi.call
+ 5. Basic functionality of above test suites are getting passed
+
+ Signed-off-by: ossdev07
+
+ * Update README.md
+
+commit 80d07104c33045ea34a4d5185600495dc7461a12
+Author: Anthony Green
+Date: Sun Apr 28 07:36:24 2019 -0400
+
+ uuencode compressed log files for travis
+
+commit fadf1eb530713fde0be9774d926bc8202c97e379
+Author: Sergei Trofimovich
+Date: Sat Apr 27 20:53:29 2019 +0100
+
+ hppa: avoid TEXTREL in .eh_frame section (#447)
+
+ Before the change hand-crafted .eh_frame section contained
+ ABS relocation and caused TEXTREL tag to be emitted:
+
+ ```
+ $ ./configure --host=hppa2.0-unknown-linux-gnu LDFLAGS=-Wl,-z,text
+ $ make
+ ...
+ /usr/libexec/gcc/hppa2.0-unknown-linux-gnu/ld:
+ read-only segment has dynamic relocations.
+ ```
+
+ Link failure is caused by absolute address of FDEs
+ encoded into .eh_frame entries.
+
+ Fixed TEXTREL by using pcrel (instead of ABS) encoding
+ for absolute addresses (__PIC__ code) by adding augmentation
+ information ("zR" CIE type).
+
+ All tests still pass on hppa2.0. The specific tests that still pass
+ and exercise this code path:
+ testsuite/libffi.call/unwindtest.cc
+ testsuite/libffi.call/unwindtest_ffi_call.cc
+
+ Signed-off-by: Sergei Trofimovich
+
+commit 06bf1a9deaa781b711c4d3718561e7faf303a842
+Author: driver1998
+Date: Sun Apr 28 03:21:44 2019 +0800
+
+ fix x86/x64 MSVC build (#487)
+
+commit db5706ff285c476aa3c0f811ff2b188319ac3ebe
+Author: Paul Monson
+Date: Fri Apr 26 04:58:58 2019 -0700
+
+ add support for 32-bit ARM on Windows (#477)
+
+ * add support for 32-bit ARM on Windows
+
+ * fix mismatched brace in appveyor.yml
+
+ * remove arm platform from appveyor.yml for now
+
+ * fix arm build
+
+ * fix typo
+
+ * fix assembler names
+
+ * try Visual Studio 2017
+
+ * add windows arm32 to .appveyor.yml
+
+ * update README.md
+
+commit d1e9b4b96cc8d237c3532cf83da0d4b99d19abb5
+Merge: 05a1796 a7d6396
+Author: Tom Tromey
+Date: Tue Apr 9 14:00:10 2019 -0600
+
+ Merge pull request #482 from sharkcz/aarch64
+
+ fix check for Linux/aarch64
+
+commit a7d6396f06d5e1a726f24b746b509514f466380f
+Author: Dan Horák
+Date: Fri Mar 29 14:19:20 2019 +0100
+
+ fix check for Linux/aarch64
+
+ fixes #473
+
+commit 05a1796419f68267250c0b8ae7138da36ab60b01
+Author: Jeremy Huddleston Sequoia
+Date: Tue Feb 19 04:11:28 2019 -0800
+
+ Cleanup symbol exports on darwin and add architecture preprocessor checks to assist in building fat binaries (eg: i386+x86_64 on macOS or arm+aarch64 on iOS) (#450)
+
+ * x86: Ensure _efi64 suffixed symbols are not exported
+
+ * x86: Ensure we do not export ffi_prep_cif_machdep
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * x86: Ensure we don't export ffi_call_win64, ffi_closure_win64, or ffi_go_closure_win64
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * closures: Silence a semantic warning
+
+ libffi/src/closures.c:175:23: This function declaration is not a prototype
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * aarch64: Ensure we don't export ffi_prep_cif_machdep
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * arm: Ensure we don't export ffi_prep_cif_machdep
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * aarch64, arm, x86: Add architecture preprocessor checks to support easier fat builds (eg: iOS)
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * x86: Silence some static analysis warnings
+
+ libffi/src/x86/ffi64.c:286:21: The left operand of '!=' is a garbage value due to array index out of bounds
+ libffi/src/x86/ffi64.c:297:22: The left operand of '!=' is a garbage value due to array index out of bounds
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * aarch: Use FFI_HIDDEN rather than .hidden
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * ffi.h: Don't advertise ffi_java_rvalue_to_raw, ffi_prep_java_raw_closure, and ffi_prep_java_raw_closure_loc when FFI_NATIVE_RAW_API is 0
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+commit 3ec522bc1c1c5a7fb66b85d4fb6a0fe80581d597
+Author: dabrain34
+Date: Tue Feb 19 13:09:09 2019 +0100
+
+ Fix cfi checks for old compiler (#453)
+
+ cfi_sections can be unsupported when cfi_startproc
+ and cfi_endproc are.
+
+commit e1118af50599314a2cbac3eb51a81896e8e21d0c
+Author: Paul Monson
+Date: Tue Feb 19 03:58:25 2019 -0800
+
+ changes for win32 on windows (#468)
+
+commit 44a6c28545186d78642487927952844156fc7ab5
+Author: Florian Weimer
+Date: Tue Feb 19 12:55:11 2019 +0100
+
+ aarch64: Flush code mapping in addition to data mapping (#471)
+
+ This needs a new function, ffi_data_to_code_pointer, to translate
+ from data pointers to code pointers.
+
+ Fixes issue #470.
+
+commit 042ef8c314a946ef1cd58c6e10cd74e403ef5bf9
+Author: Anthony Green
+Date: Tue Feb 12 08:50:30 2019 -0500
+
+ Remove -Os testing. No ABI impact, and helps trim log lengths.
+
+commit 8fa88373a1d433c675b11200ccd58418e91f81e4
+Merge: 737d4fa 2c5b164
+Author: Tom Tromey
+Date: Wed Dec 19 14:18:40 2018 -0700
+
+ Merge pull request #461 from NativeScript/bektchiev/fix-visibility-hidden-check-in-configure
+
+ fix(configure): Correctly detect visibility("hidden") support on Darwin
+
+commit 2c5b164288712cc048048d73a3cd841d845a132c
+Author: Martin Bektchiev
+Date: Wed Dec 19 18:33:08 2018 +0200
+
+ fix(configure): Correctly detect visibility("hidden") support on Darwin
+
+commit 737d4faa00d681b4c758057f67e1a02d813d01c2
+Merge: a5ea752 4a84df4
+Author: Tom Tromey
+Date: Fri Nov 30 08:16:00 2018 -0700
+
+ Merge pull request #457 from NativeScript/bektchiev/fix-arm64-q3-q4-args
+
+ Fix Q registers parameter passing on ARM64
+
+commit 4a84df4ae9d33bb766fb34ce8a871d84d6e0ed9c
+Author: Martin Bektchiev
+Date: Wed Oct 31 15:53:54 2018 +0200
+
+ Fix Q registers parameter passing on ARM64
+
+ The second two quads are located at offset 32 not 16
+
+commit a5ea7527cda8d9b7d011eb4004dfcbad54583bd2
+Merge: b11b08c ba73a67
+Author: Tom Tromey
+Date: Wed Sep 19 07:29:36 2018 -0600
+
+ Merge pull request #443 from jeremyhu/master
+
+ Update FFI_HIDDEN() to use .private_extern on Apple platforms and use the macro where appropriate
+
+commit b11b08ca8daacb08943ae5ea8c124771a8b82dde
+Merge: 980908b e6eac78
+Author: Tom Tromey
+Date: Tue Sep 18 08:26:31 2018 -0600
+
+ Merge pull request #449 from gpakosz/align-macros
+
+ Prefix ALIGN_DOWN macro with FFI_
+
+commit e6eac7863e2bf1a009ea863041b354bdb4af6b67
+Author: Gregory Pakosz
+Date: Tue Sep 18 15:19:53 2018 +0200
+
+ Prefix ALIGN_DOWN macro with FFI_
+
+commit 980908b47bbde09fab88ee4b2b61d8bc5d4378a7
+Merge: 65da63a 4cb776b
+Author: Tom Tromey
+Date: Sat Aug 11 09:53:15 2018 -0600
+
+ Merge pull request #445 from andreas-schwab/master
+
+ RISC-V go closures
+
+commit 4cb776bc8075332d2f3e59f51785d621fcda48f6
+Author: Andreas Schwab
+Date: Thu Aug 9 12:12:29 2018 +0200
+
+ RISC-V go closures
+
+ This implements go closures for RISC-V. It has been tested on
+ riscv64-suse-linux and against the libgo testsuite.
+
+commit ba73a671cb49f8e2c4417723a9dc233e328926ae
+Author: Jeremy Huddleston Sequoia
+Date: Fri Jul 20 09:37:43 2018 -0700
+
+ Update FFI_HIDDEN() to use .private_extern on Apple platforms and use the macro where appropriate
+
+ Fix issue #439
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+commit 65da63abc843fe448aaa86015d094cf016f325ba
+Author: Jeremy Huddleston Sequoia
+Date: Mon Jun 25 04:38:58 2018 -0700
+
+ Add compact unwind for darwin/i386 (#440)
+
+ * x86: Add implementation of compact unwind for ffi_call_i386, et al.
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * x86: Use __text as the section name to avoid deprecated section name warnings.
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * darwin: Add missing regular,debug attributes for compact unwind sections
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+commit 2309b58448b0c8349156d687d7fa8709dfb68992
+Author: Shoaib Meenai
+Date: Sun Jun 17 17:04:24 2018 -0700
+
+ Mark sysv.S as SafeSEH compatible (#438)
+
+ It contains no exception handler, so we can just emit the special
+ @feat.00 symbol to indicate that it's trivially SafeSEH compatible.
+ SafeSEH only applies to x86 and not x86-64, hence its inclusion in the
+ x86-specific block. See [1] for details.
+
+ [1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms680547(v=vs.85).aspx#the_.sxdata_section_
+
+commit 1d704051b2da207d715351b8613e74437d8e2eb7
+Author: Jeremy Huddleston Sequoia
+Date: Sun Jun 17 17:01:50 2018 -0700
+
+ i386: Fix missing break; in case statement leading to incorrectly returned FFI_BAD_ABI (#437)
+
+ * i386: Add missing break triggering dead store static analyzer checks.
+
+ Register calling sequence is being reported as bad ABI instead of working as intended.
+
+ Found-by: Clang Static Analysis
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * Mark ffi arm sysv entry points as private_extern.
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * x86_64: Add implementation of compact unwind for ffi_call_unix64.
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+commit b55baf0b500ccc7636a8a55e0506d9da787ad2dd
+Author: Anthony Green
+Date: Wed May 9 13:21:02 2018 -0400
+
+ Handle FFI_GNUW64 on non-Windows systems (EFI)
+
+commit 8206253fdf01226173c36f087226d8ea53584566
+Author: Anthony Green
+Date: Wed May 9 10:50:46 2018 -0400
+
+ Mark some cases as xfail due to GCC bug
+
+commit b5ee395710e2db830749c3c95558c91b66ac111f
+Author: Anthony Green
+Date: Sat May 5 07:41:53 2018 -0400
+
+ Revert "Remove some symbol exports and cleanup newline warnings (#433)"
+
+ This reverts commit a5a0f3cf36dfb4d64316414a872288c3170e6c1d.
+
+commit a5a0f3cf36dfb4d64316414a872288c3170e6c1d
+Author: Jeremy Huddleston Sequoia
+Date: Sat May 5 03:44:33 2018 -0700
+
+ Remove some symbol exports and cleanup newline warnings (#433)
+
+ * build: Ensure darwin generated sources end with a new line
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+ * build: Use .private_extern where missing to prevent exporting symbols that are not API
+
+ Signed-off-by: Jeremy Huddleston Sequoia
+
+commit d3c54cf3a2b2bb2e889173b6a0a959517b42c47f
+Author: hjl-tools
+Date: Wed May 2 06:19:58 2018 -0700
+
+ Re-enable msabi testing (#436)
+
+ * Revert "disable msabi testing for now"
+
+ This reverts commit 7b7638eb0eac2adfa72f7ec9f254ba287c9947e2.
+
+ * x86: Correct testing for 64-bit x86-64
+
+ Since passing -m32 to x86-64 compiler will generate i386 code, we
+ need to check both __ILP32__ and __i386__ for 64-bit x86-64.
+
+ * x86: Check __i386__ instead of i?86-*-* targets
+
+ Since passing -m32 to x86-64 compiler will generate i386 code, we need
+ to check __i386__ instead of i?86-*-* targets for i386 targets.
+
+ * i386: Properly passing integer parameters in registers
+
+ For thiscall and fastcall, if the paramter passed as 64-bit integer or
+ struct, all following integer paramters will be passed on stack.
+
+ * test: Add ABI_ATTR to callback_code
+
+ Add ABI_ATTR to callback_code to properly test different ABIs.
+
+commit ebf241663cc0fd0d76e4db8101e842e1630a2c78
+Author: Alan Modra
+Date: Wed May 2 13:55:29 2018 +0930
+
+ PowerPC64 ELFv1 fp arg fixes
+
+ The ELFv1 ABI says: "Single precision floating point values are mapped
+ to the second word in a single doubleword" and also "Floating point
+ registers f1 through f13 are used consecutively to pass up to 13
+ floating point values, one member aggregates passed by value
+ containing a floating point value, and to pass complex floating point
+ values".
+
+ libffi wasn't expecting float args in the second word, and wasn't
+ passing one member aggregates in fp registers. This patch fixes those
+ problems, making use of the existing ELFv2 homogeneous aggregate
+ support since a one element fp struct is a special case of an
+ homogeneous aggregate.
+
+ I've also set a flag when returning pointers that might be used one
+ day. This is just a tidy since the ppc64 assembly support code
+ currently doesn't test FLAG_RETURNS_64BITS for integer types..
+
+ * src/powerpc/ffi_linux64.c (discover_homogeneous_aggregate):
+ Compile for ELFv1 too, handling single element aggregates.
+ (ffi_prep_cif_linux64_core): Call discover_homogeneous_aggregate
+ for ELFv1. Set FLAG_RETURNS_64BITS for FFI_TYPE_POINTER return.
+ (ffi_prep_args64): Call discover_homogeneous_aggregate for ELFv1,
+ and handle single element structs containing float or double
+ as if the element wasn't wrapped in a struct. Store floats in
+ second word of doubleword slot when big-endian.
+ (ffi_closure_helper_LINUX64): Similarly.
+
+commit a2c6c7af9ffb9500a944abc666ced0922d0de762
+Author: Anthony Green
+Date: Tue May 1 06:46:30 2018 -0400
+
+ Add license for build-time tools
+
+commit 4c2206ace07f2fb4bef43cd4bfe952ccb584dcec
+Author: Tom Tromey
+Date: Sat Apr 28 04:46:10 2018 -0600
+
+ Fix two "return" issues in x86/ffi64.c (#431)
+
+ Issue #70 pointed out that at least one compiler didn't like:
+
+ return ffi_call_efi64(cif, fn, rvalue, avalue);
+
+ ... where the return type is "void". This patch splits the statement
+ into two.
+
+ I also noticed that ffi_call_go here seems to do a double call. I
+ suspect a "return" is missing here, so this patch adds it as well.
+
+commit ed3ed4d801a4d417ea304715d4d8ae581a6c6903
+Merge: 8e250c3 b69f95d
+Author: Tom Tromey
+Date: Fri Apr 27 10:48:51 2018 -0600
+
+ Merge pull request #429 from yousong/m4subst
+
+ build: fix subst toolexecdir, toolexeclibdir
+
+commit b69f95d6562b6a57c9be36da0cdf2a500adb94e9
+Author: Yousong Zhou
+Date: Thu Apr 26 19:27:54 2018 +0800
+
+ build: fix subst toolexecdir, toolexeclibdir
+
+ On CentOS 7.4, configure script generated by autogen.sh will output the
+ following values when compiling GCC source code
+
+ toolexecdir='NONE/$(target_alias)'
+ toolexeclibdir='NONE/$(target_alias)/lib'
+
+ and cause build error
+
+ ... -o libffi.la -rpath NONE/riscv64-bs-linux-gnu/lib ...
+ checking for shl_load in -ldld... libtool: link: only absolute run-paths are allowed
+
+commit 8e250c390a45f722387c1881ae5f99849a2d1e22
+Author: Stephen
+Date: Wed Apr 25 13:17:32 2018 -0700
+
+ update to https for cygwin download (#428)
+
+commit 7d3cab7926d08aad9a8e54420d6878cb17efd185
+Author: Lucas Pluvinage
+Date: Sat Apr 21 00:24:50 2018 +0200
+
+ xtensa-linux: use cache flush instruction only if it is available (#426)
+
+commit 159b94e5fd4aa2d88e1b5b389092cefd9472a741
+Author: James Cowgill
+Date: Thu Apr 19 01:28:23 2018 +0100
+
+ Various MIPS Fixes (#425)
+
+ * mips: simplify closure #defines
+
+ This commit should have no visible effect.
+
+ * mips: add special handling of variadic functions
+
+ MIPS requires special handling of variadic functions which pass floating
+ point arguments:
+ * In the o32 ABI, all float arguments are passed in integer registers.
+ * In the n32/n64 ABIs, float arguments after the ellipsis are passed in
+ integer registers.
+
+ Implement this in libffi. To support this in n32/n64 closures, we need to add
+ a new mips_nfixedargs field to ffi_cif which will break the libffi ABI.
+
+ This fixes the libffi.call/cls_longdouble_va.c test which was failing on
+ 64-bit MIPS.
+
+ * mips: align argn for all 64-bit types in o32 closure handler
+
+ Ensure that argn is pre-aligned for all 64-bit argument types (including
+ doubles) and not just integer types.
+
+ This fixes closures of the form "f(float, double, )".
+ Previously the first integer argument would be read from a2 which is garbage
+ at this point (the float arguments have already "consumed" a0-a3). After
+ this commit, argn is correctly padded between the "float" and "double"
+ arguments so that the first integer argument is read from the stack.
+
+ Fixes "double f(float,double,int)" test in #371
+
+ * mips: do not read from floating point register if returning a struct
+
+ In the o32 ABI, the pointer passed in a0 used to return structures
+ indirectly is treated as the first argument for argument allocation purposes.
+ This means that it should inhibit floating point registers the same way that
+ other integer arguments do.
+
+ Fixes "Double f(float,Double,double)" test in #371
+
+ * mips: fix pointer cast warnings
+
+ Fix two pointer cast warnings when compiled on 64-bit mips by casting
+ through uintptr_t.
+
+ Fixes mips64el part of #404
+
+commit f2afda08e85b02888350449dcf39a6c37cfb7bc4
+Merge: e27f70b 801c1bd
+Author: Anthony Green
+Date: Sun Apr 8 18:25:43 2018 -0400
+
+ Merge branch 'master' of github.com:/libffi/libffi
+
+commit e27f70b8cf2a537bef84b2cb29ad8ea6209a11b8
+Author: Anthony Green
+Date: Sun Apr 8 18:25:34 2018 -0400
+
+ Fix case where callback arg value is split across regs and stack
+
+commit 801c1bd712ff8c76675b7aa69c29948907f1eeff
+Author: Andreas Krebbel <38103320+Andreas-Krebbel@users.noreply.github.com>
+Date: Thu Apr 5 14:27:32 2018 +0200
+
+ Fix issue #421 (#422)
+
+ Fantastic - thanks for digging into this.
+
+commit 8660e6935971c5abd7b528eaf54deeccd4bbaccd
+Author: Anthony Green
+Date: Mon Apr 2 08:30:17 2018 -0400
+
+ 3.3 release candidate 0
+
+commit 7b7638eb0eac2adfa72f7ec9f254ba287c9947e2
+Author: Anthony Green
+Date: Mon Apr 2 08:24:44 2018 -0400
+
+ disable msabi testing for now
+
+commit af6773d6ab4db0577bc6b932ab5a2f98a0a8dca2
+Author: fwg
+Date: Mon Apr 2 13:55:31 2018 +0200
+
+ Fix appveyor windows build (#420)
+
+ * Fix msvcc dll build by adding dllexport decorations to all API declarations
+
+ * Fix appveyor build for VS 2013
+
+ Use the new -DFFI_BUILDING_DLL for producing a working DLL. Update the
+ msvcc.sh wrapper script to successfully compile the testsuite files.
+
+ * MSVC build: suppress warnings in testsuite
+
+ * fix testsuite on appveyor
+
+commit 48bdb02867edb7e9f3785ccb4bdff1087fb44246
+Author: Anthony Green
+Date: Thu Mar 29 07:22:57 2018 -0400
+
+ Trim some optimization tests
+
+commit f98e0f0d777bf962057e18d036989b2b89fdf416
+Author: Anthony Green
+Date: Thu Mar 29 07:22:38 2018 -0400
+
+ Simplify matrix
+
+commit fa72b054e10acaea33ec8cc395e0ea5b31c9ac9e
+Author: Anthony Green
+Date: Thu Mar 29 07:10:23 2018 -0400
+
+ Remove warning message from clang
+
+commit 746c3ce220cb155a8f3b613550a7ecad76f9fedc
+Author: Anthony Green
+Date: Thu Mar 29 07:01:14 2018 -0400
+
+ Expand ABI tests on x86. Testsuite bug fixes.
+
+commit 2eee934d0cb2beef7c0aa29767eca1ce03452ae9
+Author: Anthony Green
+Date: Tue Mar 27 14:45:40 2018 -0400
+
+ deal with msvc warnings
+
+commit 206b2974f70f65b4c4c4d9e62b03ee7e0753ee2d
+Author: Anthony Green
+Date: Tue Mar 27 14:37:50 2018 -0400
+
+ fix quoting issue
+
+commit 499e41c1ec6b760eff2b320ffc87e22de82a9e1d
+Author: Anthony Green
+Date: Tue Mar 27 14:35:10 2018 -0400
+
+ Don't ignore a file
+
+commit 5b41e9f6d2c099add0e02db8c8054281f96b6d0e
+Author: Anthony Green
+Date: Tue Mar 27 14:34:31 2018 -0400
+
+ Try different msvc hack
+
+commit e8cf133813e7fa2c606d93abab5b68989e5f6cbc
+Author: Anthony Green
+Date: Tue Mar 27 14:12:02 2018 -0400
+
+ msvc c99 hack
+
+commit a3e20940898ed2ca96b9df87f34117d06d900e5f
+Author: Anthony Green
+Date: Tue Mar 27 11:58:42 2018 -0400
+
+ More msvc hacks
+
+commit a82b456e98b0f3fbafe76725d1a1503d458a2178
+Author: Anthony Green
+Date: Tue Mar 27 11:49:46 2018 -0400
+
+ msvc fixes
+
+commit a2326aaf561798c3bfd5e464b16693a094bf6c45
+Author: Anthony Green
+Date: Tue Mar 27 11:36:04 2018 -0400
+
+ Remove debug output
+
+commit 85b6b209d7984667ce7d00351fe7e79ef6c4930c
+Author: Anthony Green
+Date: Tue Mar 27 11:35:23 2018 -0400
+
+ Force literals to float (msvc warning)
+
+commit 2872c460ba8e96416b4f4ee4a0ed183461d8d6c9
+Author: Anthony Green
+Date: Tue Mar 27 11:28:40 2018 -0400
+
+ Fix msvc linking
+
+commit b40a386c22a2bd164819b4f398b722357222b7c1
+Author: Anthony Green
+Date: Tue Mar 27 11:20:21 2018 -0400
+
+ Fix library path handling
+
+commit d78c5f64f834c24a769bee78cfb7db4d468b6b21
+Author: Anthony Green
+Date: Tue Mar 27 11:14:56 2018 -0400
+
+ Deal with libpath
+
+commit f318bb63c5dc623d5a69ffc4a59a330050cac567
+Author: Anthony Green
+Date: Tue Mar 27 08:25:26 2018 -0400
+
+ Fix library path handling
+
+commit 4f0c9cb39b7599312729278380ce63247bca226b
+Author: Anthony Green
+Date: Tue Mar 27 08:10:03 2018 -0400
+
+ Use mixed cygpath paths
+
+commit d3693b4665de7ef69b61fb4e483d5686302f9c69
+Author: Anthony Green
+Date: Tue Mar 27 08:05:42 2018 -0400
+
+ Copy - don't symlink - to support msvc builds
+
+commit 51ce3696cd0da4716d86b73a30bd89e139ec4b74
+Author: Anthony Green
+Date: Tue Mar 27 07:35:33 2018 -0400
+
+ Use cygpath to convert windows paths
+
+commit 70b93e4d863c1ff2a6498455339e17df3d7fe784
+Author: Anthony Green
+Date: Tue Mar 27 07:14:59 2018 -0400
+
+ try to fix windows builds
+
+commit 377134d7a946df13b60ff9c9dacc895e82c36178
+Author: Anthony Green
+Date: Tue Mar 27 07:06:01 2018 -0400
+
+ Reduce verbosity
+
+commit d01ef5b875dedcb9f7b3039b2334cbd594fdfcd4
+Author: Anthony Green
+Date: Tue Mar 27 06:23:29 2018 -0400
+
+ iOS builds
+
+commit d13583f55fb31a302684cbc62c300ae81eb577e9
+Author: Anthony Green
+Date: Tue Mar 27 06:22:57 2018 -0400
+
+ Fix -L support
+
+commit d49911544bf9d2b4fab782b0c5e76a68074223df
+Author: Anthony Green
+Date: Tue Mar 27 05:59:26 2018 -0400
+
+ Fix quoting
+
+commit 8f47ec404fcf5a082fc4537ede8cdf897f4c5226
+Author: Anthony Green
+Date: Tue Mar 27 05:35:35 2018 -0400
+
+ Don't set AM_MAKEFLAGS
+
+commit df314193dc6cd00978b6e1517866448b604199af
+Author: Anthony Green
+Date: Tue Mar 27 05:13:38 2018 -0400
+
+ Run tests with lots of debug output
+
+commit b394947518fb15887802fe3bc7f0a337c495d65d
+Author: Anthony Green
+Date: Tue Mar 27 05:11:52 2018 -0400
+
+ Add -L and -l support
+
+commit 33da6c075299317885385f19680b58a1e9feab5e
+Author: Anthony Green
+Date: Tue Mar 27 05:07:08 2018 -0400
+
+ Mention C99 and build requirements
+
+commit e6bdbd7888b5c8a90f3c91f4d6caf3c8d574f3b5
+Author: Anthony Green
+Date: Tue Mar 27 04:46:04 2018 -0400
+
+ Remove reference to wiki
+
+commit 24eb1f88d788399dde5fbb4804767e6b6cbf1bc8
+Author: Anthony Green
+Date: Tue Mar 27 04:09:56 2018 -0400
+
+ Refactor travis build instructions. Add iOS build
+
+commit ffc3ff162a15ed0ed0e946815c950c69ee0c8343
+Author: Anthony Green
+Date: Tue Mar 27 04:02:06 2018 -0400
+
+ Add issue template
+
+commit 5c2ca479e726dc2feec43e25475c63361387bf20
+Author: Anthony Green
+Date: Tue Mar 27 04:01:37 2018 -0400
+
+ Remove uninitialized warning. Fix #163.
+
+commit 0081378017c33a4b9b6fbf20efabdd9959d6a48d
+Author: Anthony Green
+Date: Sat Mar 24 09:05:14 2018 -0400
+
+ revert
+
+commit 59d44242e15d2979291fe6793ddfb2681b7480ef
+Author: Anthony Green
+Date: Sat Mar 24 08:45:59 2018 -0400
+
+ Try bhaible tests in appveyor
+
+commit 6f7c29c5a6d2850ce53b99efcc71fcc4e8f8c8cc
+Author: Anthony Green
+Date: Sat Mar 24 08:40:04 2018 -0400
+
+ Formatting fixes
+
+commit f3c2729ee4026c9f70a6656603bac8ba2ec40a5d
+Author: Anthony Green
+Date: Fri Mar 23 11:47:29 2018 -0400
+
+ Add libffi.map.in to extra dist files
+
+commit 6d2233f96a08c5ac01a64e7b84e2bd678eed0a4b
+Author: Anthony Green
+Date: Fri Mar 23 09:06:08 2018 -0400
+
+ Add sparc solaris build notes
+
+commit 99a80d2fc4ede48348af2edfb7126d60609c4b71
+Author: Anthony Green
+Date: Sun Mar 18 21:22:55 2018 -0400
+
+ Fix formatting
+
+commit a3e87ac8e7b7e609ab84541a69c7e51873efa437
+Author: Anthony Green
+Date: Sun Mar 18 20:36:52 2018 -0400
+
+ Fix formatting
+
+commit cec3a3a201f17a7f018f25e1a0917bd5206e5a5a
+Author: Anthony Green
+Date: Sun Mar 18 16:00:04 2018 -0400
+
+ Don't align-double for 32-bit x86
+
+commit f34f8039c10c4d8d728bc335dcf2b2a38f6e8b50
+Author: Anthony Green
+Date: Sun Mar 18 15:30:00 2018 -0400
+
+ Remove debug output
+
+commit f31b915314b12904b858b54cfdf670ceaeda7b2d
+Author: Anthony Green
+Date: Sun Mar 18 15:13:21 2018 -0400
+
+ Add m4/ax_require_defined.m4
+
+commit a2dc5848b53e9e45ff68e5ef70683b5ffb82592e
+Author: Anthony Green
+Date: Sun Mar 18 13:41:15 2018 -0400
+
+ travis debug
+
+commit 81d345b2cff039c4389fad283a108ad978b609e0
+Author: Anthony Green
+Date: Sun Mar 18 13:32:03 2018 -0400
+
+ Update autoconf archive macros
+
+commit 369ef49f71186fc9d6ab15614488ad466fac3fc1
+Author: Anthony Green
+Date: Sun Mar 18 12:53:42 2018 -0400
+
+ Add missing FFI_GNUW64 enum
+
+commit 56655e58c7f966685c0d5635ee7215733121ae41
+Merge: 43980dd 9bc40d8
+Author: Anthony Green
+Date: Sun Mar 18 12:34:18 2018 -0400
+
+ Merge branch 'master' of github.com:/libffi/libffi
+
+commit 43980dd10e0d5705e52f24d63988b722e31bf330
+Author: Anthony Green
+Date: Sun Mar 18 12:32:10 2018 -0400
+
+ Add FFI_GNUW64 ABI for GNU 80-bit long double support
+
+commit 9bc40d87ea5950969b234ed56cd2c6acd883fa0e
+Author: Anthony Green
+Date: Sun Mar 18 12:32:10 2018 -0400
+
+ Add FFI_GWIN64 ABI for GNU 80-bit long double support
+
+commit d46406088d28b038a0a0f7396d9621f431482f6a
+Author: Ryan C. Underwood
+Date: Sun Mar 18 07:00:42 2018 -0700
+
+ Fully allocate file backing writable maps (#389)
+
+ When ftruncate() is used on a filesystem supporting sparse files,
+ space in the file is not actually allocated. Then, when the file
+ is mmap'd and libffi writes to the mapping, SIGBUS is thrown to
+ the calling application. Instead, always fully allocate the file
+ that will back writable maps.
+
+commit 247e44b3ef653f210de614a749b71449b8c70764
+Author: Anthony Green
+Date: Sun Mar 18 07:01:54 2018 -0400
+
+ Fix return values
+
+commit 1f99701fad1761ffe4e9adf88cfe26f74f427e7c
+Author: Anthony Green
+Date: Sat Mar 17 22:49:58 2018 -0400
+
+ Make tests compile/run standalone
+
+commit d974207cd6373ff282a64038564d99b853dc3fab
+Author: Anthony Green
+Date: Sat Mar 17 09:03:42 2018 -0400
+
+ Formatting fixes. Add 'bug fixes' note.
+
+commit a33bfa9b12993aae2edf669f62e141a84286d4de
+Author: Anthony Green
+Date: Sat Mar 17 07:17:24 2018 -0400
+
+ xfail unwind tests for moxie
+
+commit 8bf05481436ba085df3adfff2b47a879df738d67
+Author: Anthony Green
+Date: Fri Mar 16 23:54:28 2018 -0400
+
+ Install moxie libstdc++
+
+commit 84b383eda67ba75a6456e4b3587f17b749e6e1a1
+Author: Anthony Green
+Date: Fri Mar 16 23:36:51 2018 -0400
+
+ Install moxie-elf-g++
+
+commit 6a801d042ac1212fe8c0e11abb865061e515aa43
+Author: Anthony Green
+Date: Fri Mar 16 17:53:33 2018 -0400
+
+ Fix closure case where 8-byte value is partially passed in register. Fixes cls_many_mixed_float_double test case.
+
+commit 0f0ba9e0ec52e0297c91cb63a889980a6f847219
+Author: Anthony Green
+Date: Fri Mar 16 07:28:33 2018 -0400
+
+ Run dejagnu's runtest with -a option to prevent travis timeouts after 10min
+
+commit 725454196afab82f7da7bd719e8bddf7cd7837dd
+Author: Anthony Green
+Date: Thu Mar 15 08:17:18 2018 -0400
+
+ fix .travis.yml
+
+commit d71051c46a795a0669b2d83804030746f790edf4
+Author: Anthony Green
+Date: Wed Mar 14 21:21:06 2018 -0400
+
+ fix .travis.yml
+
+commit e86aa54ce3418081dca403217c9216c773b82560
+Author: Anthony Green
+Date: Wed Mar 14 21:00:55 2018 -0400
+
+ fix .travis.yml
+
+commit 5b538ed61fb13efc8f01bad014c5485231714c96
+Author: Anthony Green
+Date: Wed Mar 14 20:32:00 2018 -0400
+
+ fix .travis.yml
+
+commit 6ed64a7953178cf07d2793650fcd64caa6b51d53
+Author: Anthony Green
+Date: Wed Mar 14 20:22:33 2018 -0400
+
+ fix .travis.yml
+
+commit 90809e928f8b5a0cdf0787d799111bc33689a9d1
+Author: Anthony Green
+Date: Wed Mar 14 14:09:39 2018 -0400
+
+ fix .travis.yml
+
+commit 85e4c62351bd1e45dd6d77916778e18c435f1723
+Author: Anthony Green
+Date: Wed Mar 14 13:47:27 2018 -0400
+
+ fix .travis.yml
+
+commit aa8a5ec4a4ec4a4460ec3cd4e396e09ceaa3a2fa
+Author: Anthony Green
+Date: Wed Mar 14 13:25:04 2018 -0400
+
+ fix .travis.yml
+
+commit 7c3e5da401ab7efef83a5bd4e7f64b0df053da0c
+Author: Anthony Green
+Date: Wed Mar 14 13:07:04 2018 -0400
+
+ fix .travis.yml
+
+commit 19aec1989382fab8bd86c556aa24751a75b8246e
+Author: Anthony Green
+Date: Wed Mar 14 12:40:58 2018 -0400
+
+ Fix travis.yml
+
+commit bf337b070977fb7e8934fc91e4d0e60209f53448
+Author: Anthony Green
+Date: Wed Mar 14 12:15:04 2018 -0400
+
+ yaml syntax error fix
+
+commit 076d5a987e016669993154b91525b02978c56727
+Author: Anthony Green