commit: 18f42af008bf8a3ffb0cf205b2b4f0cbe3c23da5
parent 0ca12bdf661545a4d40579b716dc64a0491eca49
Author: Michael Forney <mforney@mforney.org>
Date: Mon, 25 Nov 2019 20:21:09 -0800
libffi: Update to 3.3
Diffstat:
6 files changed, 30 insertions(+), 28 deletions(-)
diff --git a/pkg/libffi/fficonfig.h b/pkg/libffi/fficonfig.h
@@ -10,11 +10,10 @@
/* #undef FFI_NO_STRUCTS */
#define HAVE_ALLOCA 1
#define HAVE_ALLOCA_H 1
-#define HAVE_AS_ASCII_PSEUDO_OP 1
#define HAVE_AS_CFI_PSEUDO_OP 1
/* #undef HAVE_AS_REGISTER_PSEUDO_OP */
+/* #undef HAVE_AS_S390_ZARCH */
/* #undef HAVE_AS_SPARC_UA_PCREL */
-#define HAVE_AS_STRING_PSEUDO_OP 1
#define HAVE_AS_X86_64_UNWIND_SECTION_TYPE 1
#define HAVE_AS_X86_PCREL 1
#define HAVE_DLFCN_H 1
@@ -38,15 +37,15 @@
#define HAVE_SYS_STAT_H 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_UNISTD_H 1
+#define LIBFFI_GNU_SYMBOL_VERSIONING 1
#define LT_OBJDIR ".libs/"
-/* #undef NO_MINUS_C_MINUS_O */
#define PACKAGE "libffi"
-#define PACKAGE_BUGREPORT "http://github.com/atgreen/libffi/issues"
+#define PACKAGE_BUGREPORT "http://github.com/libffi/libffi/issues"
#define PACKAGE_NAME "libffi"
-#define PACKAGE_STRING "libffi 3.2.1"
+#define PACKAGE_STRING "libffi 3.3"
#define PACKAGE_TARNAME "libffi"
#define PACKAGE_URL ""
-#define PACKAGE_VERSION "3.2.1"
+#define PACKAGE_VERSION "3.3"
#define SIZEOF_DOUBLE 8
#define SIZEOF_LONG_DOUBLE 16
#define SIZEOF_SIZE_T 8
@@ -54,7 +53,7 @@
#define STDC_HEADERS 1
/* #undef SYMBOL_UNDERSCORE */
/* #undef USING_PURIFY */
-#define VERSION "3.2.1"
+#define VERSION "3.3"
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
@@ -67,7 +66,11 @@
/* #undef size_t */
#ifdef HAVE_HIDDEN_VISIBILITY_ATTRIBUTE
#ifdef LIBFFI_ASM
+#ifdef __APPLE__
+#define FFI_HIDDEN(name) .private_extern name
+#else
#define FFI_HIDDEN(name) .hidden name
+#endif
#else
#define FFI_HIDDEN __attribute__ ((visibility ("hidden")))
#endif
diff --git a/pkg/libffi/gen.lua b/pkg/libffi/gen.lua
@@ -6,7 +6,7 @@ cflags{
build('sed', '$outdir/include/ffi.h', '$srcdir/include/ffi.h.in', {
expr={
- '-e s,@VERSION@,3.2.1,',
+ '-e s,@VERSION@,3.3,',
'-e s,@TARGET@,X86_64,',
'-e s,@HAVE_LONG_DOUBLE@,1,',
'-e s,@HAVE_LONG_DOUBLE_VARIANT@,0,',
@@ -22,7 +22,7 @@ pkg.hdrs = {
lib('libffi.a', [[src/(
prep_cif.c types.c raw_api.c java_raw_api.c closures.c
- x86/(ffi64.c unix64.S ffi.c sysv.S)
+ x86/(ffi64.c unix64.S ffiw64.c win64.S)
)]], {'$dir/headers'})
file('lib/libffi.a', '644', '$outdir/libffi.a')
diff --git a/pkg/libffi/patch/0001-Use-fixed-type-integer-types-when-available.patch b/pkg/libffi/patch/0001-Use-fixed-type-integer-types-when-available.patch
@@ -1,4 +1,4 @@
-From 8aee4bf7573a7d52c0e3a84e03a964222e13f4c2 Mon Sep 17 00:00:00 2001
+From a53acabb2bade1d1934cc3a44f0174689255cf8a Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 13 Aug 2019 22:20:39 +0000
Subject: [PATCH] Use fixed-type integer types when available
@@ -9,10 +9,10 @@ This avoids the use of gcc attributes to select the integer width.
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/include/ffi_common.h b/include/ffi_common.h
-index 37f5a9e..56145f4 100644
+index 76b9dd6..cfec340 100644
--- a/include/ffi_common.h
+++ b/include/ffi_common.h
-@@ -91,7 +91,17 @@ typedef struct
+@@ -112,7 +112,17 @@ typedef struct
} extended_cif;
/* Terse sized type definitions. */
@@ -32,5 +32,5 @@ index 37f5a9e..56145f4 100644
typedef signed char SINT8;
typedef unsigned short UINT16;
--
-2.22.0
+2.24.0
diff --git a/pkg/libffi/patch/0002-Use-generic-padding-instead-of-128-bit-integers.patch b/pkg/libffi/patch/0002-Use-generic-padding-instead-of-128-bit-integers.patch
@@ -1,4 +1,4 @@
-From 0e209181497d1bd3db35c390fdf05ae58e3d81eb Mon Sep 17 00:00:00 2001
+From 68b09c2e546bb3ea3ad43904e5b499729ee3bee8 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 13 Aug 2019 22:27:49 +0000
Subject: [PATCH] Use generic padding instead of 128-bit integers
@@ -8,10 +8,10 @@ Subject: [PATCH] Use generic padding instead of 128-bit integers
1 file changed, 1 insertion(+), 13 deletions(-)
diff --git a/src/x86/ffi64.c b/src/x86/ffi64.c
-index 5a5e043..fb9ab13 100644
+index dec331c..a48c74d 100644
--- a/src/x86/ffi64.c
+++ b/src/x86/ffi64.c
-@@ -38,23 +38,11 @@
+@@ -40,23 +40,11 @@
#define MAX_GPR_REGS 6
#define MAX_SSE_REGS 8
@@ -37,5 +37,5 @@ index 5a5e043..fb9ab13 100644
struct register_args
--
-2.22.0
+2.24.0
diff --git a/pkg/libffi/patch/0003-Don-t-use-complex-types-if-they-are-not-supported.patch b/pkg/libffi/patch/0003-Don-t-use-complex-types-if-they-are-not-supported.patch
@@ -1,26 +1,25 @@
-From 11d46eaa4293840e7a4c1dde18f75453bfaca54e Mon Sep 17 00:00:00 2001
+From 160695fc15e589d08843b07b9f9950be574f3aee Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 13 Aug 2019 22:28:49 +0000
Subject: [PATCH] Don't use complex types if they are not supported
---
- src/x86/ffitarget.h | 2 ++
- 1 file changed, 2 insertions(+)
+ src/x86/ffitarget.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/x86/ffitarget.h b/src/x86/ffitarget.h
-index a236677..709140d 100644
+index 85ccedf..d4f384c 100644
--- a/src/x86/ffitarget.h
+++ b/src/x86/ffitarget.h
-@@ -50,7 +50,9 @@
+@@ -50,7 +50,7 @@
#endif
#define FFI_TARGET_SPECIFIC_STACK_SPACE_ALLOCATION
-+#ifndef __STDC_NO_COMPLEX__
+-#ifndef _MSC_VER
++#if !defined(_MSC_VER) && !defined(__STDC_NO_COMPLEX__)
#define FFI_TARGET_HAS_COMPLEX_TYPE
-+#endif
-
- /* ---- Generic type definitions ----------------------------------------- */
+ #endif
--
-2.22.0
+2.24.0
diff --git a/pkg/libffi/ver b/pkg/libffi/ver
@@ -1 +1 @@
-3.2.1 r1
+3.3 r0