mirror of
https://github.com/ZDoom/zdoom-macos-deps.git
synced 2024-11-21 11:31:07 +00:00
update ffi to 3.4.2
This commit is contained in:
parent
9fba5f414c
commit
cc4795b7e8
6 changed files with 82 additions and 36 deletions
17
deps/ffi/include/_aedi_arm64_ffi.h
vendored
17
deps/ffi/include/_aedi_arm64_ffi.h
vendored
|
@ -1,5 +1,6 @@
|
|||
/* -----------------------------------------------------------------*-C-*-
|
||||
libffi 3.3 - Copyright (c) 2011, 2014, 2019 Anthony Green
|
||||
libffi 3.4.2
|
||||
- Copyright (c) 2011, 2014, 2019, 2021 Anthony Green
|
||||
- Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
|
@ -217,7 +218,8 @@ FFI_EXTERN ffi_type ffi_type_complex_longdouble;
|
|||
typedef enum {
|
||||
FFI_OK = 0,
|
||||
FFI_BAD_TYPEDEF,
|
||||
FFI_BAD_ABI
|
||||
FFI_BAD_ABI,
|
||||
FFI_BAD_ARGTYPE
|
||||
} ffi_status;
|
||||
|
||||
typedef struct {
|
||||
|
@ -310,7 +312,10 @@ typedef struct {
|
|||
void *trampoline_table;
|
||||
void *trampoline_table_entry;
|
||||
#else
|
||||
union {
|
||||
char tramp[FFI_TRAMPOLINE_SIZE];
|
||||
void *ftramp;
|
||||
};
|
||||
#endif
|
||||
ffi_cif *cif;
|
||||
void (*fun)(ffi_cif*,void*,void**,void*);
|
||||
|
@ -330,6 +335,14 @@ typedef struct {
|
|||
FFI_API void *ffi_closure_alloc (size_t size, void **code);
|
||||
FFI_API void ffi_closure_free (void *);
|
||||
|
||||
#if defined(PA_LINUX) || defined(PA_HPUX)
|
||||
#define FFI_CLOSURE_PTR(X) ((void *)((unsigned int)(X) | 2))
|
||||
#define FFI_RESTORE_PTR(X) ((void *)((unsigned int)(X) & ~3))
|
||||
#else
|
||||
#define FFI_CLOSURE_PTR(X) (X)
|
||||
#define FFI_RESTORE_PTR(X) (X)
|
||||
#endif
|
||||
|
||||
FFI_API ffi_status
|
||||
ffi_prep_closure (ffi_closure*,
|
||||
ffi_cif *,
|
||||
|
|
15
deps/ffi/include/_aedi_arm64_ffitarget.h
vendored
15
deps/ffi/include/_aedi_arm64_ffitarget.h
vendored
|
@ -32,7 +32,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
|
|||
#define FFI_SIZEOF_JAVA_RAW 4
|
||||
typedef unsigned long long ffi_arg;
|
||||
typedef signed long long ffi_sarg;
|
||||
#elif defined(_M_ARM64)
|
||||
#elif defined(_WIN32)
|
||||
#define FFI_SIZEOF_ARG 8
|
||||
typedef unsigned long long ffi_arg;
|
||||
typedef signed long long ffi_sarg;
|
||||
|
@ -45,8 +45,13 @@ typedef enum ffi_abi
|
|||
{
|
||||
FFI_FIRST_ABI = 0,
|
||||
FFI_SYSV,
|
||||
FFI_WIN64,
|
||||
FFI_LAST_ABI,
|
||||
#if defined(_WIN32)
|
||||
FFI_DEFAULT_ABI = FFI_WIN64
|
||||
#else
|
||||
FFI_DEFAULT_ABI = FFI_SYSV
|
||||
#endif
|
||||
} ffi_abi;
|
||||
#endif
|
||||
|
||||
|
@ -69,22 +74,22 @@ typedef enum ffi_abi
|
|||
#define FFI_TRAMPOLINE_CLOSURE_OFFSET FFI_TRAMPOLINE_SIZE
|
||||
#endif
|
||||
|
||||
#ifdef _M_ARM64
|
||||
#ifdef _WIN32
|
||||
#define FFI_EXTRA_CIF_FIELDS unsigned is_variadic
|
||||
#endif
|
||||
#define FFI_TARGET_SPECIFIC_VARIADIC
|
||||
|
||||
/* ---- Internal ---- */
|
||||
|
||||
#if defined (__APPLE__)
|
||||
#define FFI_TARGET_SPECIFIC_VARIADIC
|
||||
#define FFI_EXTRA_CIF_FIELDS unsigned aarch64_nfixedargs
|
||||
#elif !defined(_M_ARM64)
|
||||
#elif !defined(_WIN32)
|
||||
/* iOS and Windows reserve x18 for the system. Disable Go closures until
|
||||
a new static chain is chosen. */
|
||||
#define FFI_GO_CLOSURES 1
|
||||
#endif
|
||||
|
||||
#ifndef _M_ARM64
|
||||
#ifndef _WIN32
|
||||
/* No complex type on Windows */
|
||||
#define FFI_TARGET_HAS_COMPLEX_TYPE
|
||||
#endif
|
||||
|
|
17
deps/ffi/include/_aedi_x86_64_ffi.h
vendored
17
deps/ffi/include/_aedi_x86_64_ffi.h
vendored
|
@ -1,5 +1,6 @@
|
|||
/* -----------------------------------------------------------------*-C-*-
|
||||
libffi 3.3 - Copyright (c) 2011, 2014, 2019 Anthony Green
|
||||
libffi 3.4.2
|
||||
- Copyright (c) 2011, 2014, 2019, 2021 Anthony Green
|
||||
- Copyright (c) 1996-2003, 2007, 2008 Red Hat, Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
|
@ -217,7 +218,8 @@ FFI_EXTERN ffi_type ffi_type_complex_longdouble;
|
|||
typedef enum {
|
||||
FFI_OK = 0,
|
||||
FFI_BAD_TYPEDEF,
|
||||
FFI_BAD_ABI
|
||||
FFI_BAD_ABI,
|
||||
FFI_BAD_ARGTYPE
|
||||
} ffi_status;
|
||||
|
||||
typedef struct {
|
||||
|
@ -310,7 +312,10 @@ typedef struct {
|
|||
void *trampoline_table;
|
||||
void *trampoline_table_entry;
|
||||
#else
|
||||
union {
|
||||
char tramp[FFI_TRAMPOLINE_SIZE];
|
||||
void *ftramp;
|
||||
};
|
||||
#endif
|
||||
ffi_cif *cif;
|
||||
void (*fun)(ffi_cif*,void*,void**,void*);
|
||||
|
@ -330,6 +335,14 @@ typedef struct {
|
|||
FFI_API void *ffi_closure_alloc (size_t size, void **code);
|
||||
FFI_API void ffi_closure_free (void *);
|
||||
|
||||
#if defined(PA_LINUX) || defined(PA_HPUX)
|
||||
#define FFI_CLOSURE_PTR(X) ((void *)((unsigned int)(X) | 2))
|
||||
#define FFI_RESTORE_PTR(X) ((void *)((unsigned int)(X) & ~3))
|
||||
#else
|
||||
#define FFI_CLOSURE_PTR(X) (X)
|
||||
#define FFI_RESTORE_PTR(X) (X)
|
||||
#endif
|
||||
|
||||
FFI_API ffi_status
|
||||
ffi_prep_closure (ffi_closure*,
|
||||
ffi_cif *,
|
||||
|
|
19
deps/ffi/include/_aedi_x86_64_ffitarget.h
vendored
19
deps/ffi/include/_aedi_x86_64_ffitarget.h
vendored
|
@ -136,12 +136,27 @@ typedef enum ffi_abi {
|
|||
|
||||
#if defined (X86_64) || defined(X86_WIN64) \
|
||||
|| (defined (__x86_64__) && defined (X86_DARWIN))
|
||||
# define FFI_TRAMPOLINE_SIZE 24
|
||||
/* 4 bytes of ENDBR64 + 7 bytes of LEA + 6 bytes of JMP + 7 bytes of NOP
|
||||
+ 8 bytes of pointer. */
|
||||
# define FFI_TRAMPOLINE_SIZE 32
|
||||
# define FFI_NATIVE_RAW_API 0
|
||||
#else
|
||||
# define FFI_TRAMPOLINE_SIZE 12
|
||||
/* 4 bytes of ENDBR32 + 5 bytes of MOV + 5 bytes of JMP + 2 unused
|
||||
bytes. */
|
||||
# define FFI_TRAMPOLINE_SIZE 16
|
||||
# define FFI_NATIVE_RAW_API 1 /* x86 has native raw api support */
|
||||
#endif
|
||||
|
||||
#if !defined(GENERATE_LIBFFI_MAP) && defined(__CET__)
|
||||
# include <cet.h>
|
||||
# if (__CET__ & 1) != 0
|
||||
# define ENDBR_PRESENT
|
||||
# endif
|
||||
# define _CET_NOTRACK notrack
|
||||
#else
|
||||
# define _CET_ENDBR
|
||||
# define _CET_NOTRACK
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
|
BIN
deps/ffi/lib/libffi.a
vendored
BIN
deps/ffi/lib/libffi.a
vendored
Binary file not shown.
2
deps/ffi/lib/pkgconfig/libffi.pc
vendored
2
deps/ffi/lib/pkgconfig/libffi.pc
vendored
|
@ -6,6 +6,6 @@ includedir=${prefix}/include
|
|||
|
||||
Name: libffi
|
||||
Description: Library supporting Foreign Function Interfaces
|
||||
Version: 3.3
|
||||
Version: 3.4.2
|
||||
Libs: -L${toolexeclibdir} -lffi
|
||||
Cflags: -I${includedir}
|
||||
|
|
Loading…
Reference in a new issue