head 1.6; access; symbols pkgsrc-2019Q4:1.5.0.36 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.32 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.30 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.28 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.26 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.24 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.22 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.20 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.18 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.16 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.12 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.10 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.8 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.6 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.4 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.2 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.4.0.28 pkgsrc-2015Q4-base:1.4 pkgsrc-2015Q3:1.4.0.26 pkgsrc-2015Q3-base:1.4 pkgsrc-2015Q2:1.4.0.24 pkgsrc-2015Q2-base:1.4 pkgsrc-2015Q1:1.4.0.22 pkgsrc-2015Q1-base:1.4 pkgsrc-2014Q4:1.4.0.20 pkgsrc-2014Q4-base:1.4 pkgsrc-2014Q3:1.4.0.18 pkgsrc-2014Q3-base:1.4 pkgsrc-2014Q2:1.4.0.16 pkgsrc-2014Q2-base:1.4 pkgsrc-2014Q1:1.4.0.14 pkgsrc-2014Q1-base:1.4 pkgsrc-2013Q4:1.4.0.12 pkgsrc-2013Q4-base:1.4 pkgsrc-2013Q3:1.4.0.10 pkgsrc-2013Q3-base:1.4 pkgsrc-2013Q2:1.4.0.8 pkgsrc-2013Q2-base:1.4 pkgsrc-2013Q1:1.4.0.6 pkgsrc-2013Q1-base:1.4 pkgsrc-2012Q4:1.4.0.4 pkgsrc-2012Q4-base:1.4 pkgsrc-2012Q3:1.4.0.2 pkgsrc-2012Q3-base:1.4 pkgsrc-2012Q2:1.3.0.16 pkgsrc-2012Q2-base:1.3 pkgsrc-2012Q1:1.3.0.14 pkgsrc-2012Q1-base:1.3 pkgsrc-2011Q4:1.3.0.12 pkgsrc-2011Q4-base:1.3 pkgsrc-2011Q3:1.3.0.10 pkgsrc-2011Q3-base:1.3 pkgsrc-2011Q2:1.3.0.8 pkgsrc-2011Q2-base:1.3 pkgsrc-2011Q1:1.3.0.6 pkgsrc-2011Q1-base:1.3 pkgsrc-2010Q4:1.3.0.4 pkgsrc-2010Q4-base:1.3 pkgsrc-2010Q3:1.3.0.2 pkgsrc-2010Q3-base:1.3 pkgsrc-2009Q4:1.1.0.4 pkgsrc-2009Q4-base:1.1 pkgsrc-2009Q3:1.1.0.2 pkgsrc-2009Q3-base:1.1; locks; strict; comment @# @; 1.6 date 2020.02.26.19.15.44; author adam; state dead; branches; next 1.5; commitid rKgpRPUEjh8xAdYB; 1.5 date 2016.01.25.17.56.39; author jperkin; state Exp; branches; next 1.4; commitid sgrjfg5XtWl68lSy; 1.4 date 2012.09.14.23.45.27; author asau; state Exp; branches; next 1.3; 1.3 date 2010.07.22.04.17.44; author jklos; state Exp; branches; next 1.2; 1.2 date 2010.01.16.16.28.58; author asau; state dead; branches; next 1.1; 1.1 date 2009.09.20.13.10.30; author tnn; state Exp; branches; next ; desc @@ 1.6 log @libffi: updated to 3.3 libffi v3.3 * Add RISC-V support. * New API in support of GO closures. * Add IEEE754 binary128 long double support for 64-bit Power * Default to Microsoft's 64-bit long double ABI with Visual C++. * GNU compiler uses 80 bits (128 in memory) FFI_GNUW64 ABI. * Add Windows on ARM64 (WOA) support. * Add Windows 32-bit ARM support. * Raw java (gcj) API deprecated. * Add pre-built PDF documentation to source distribution. * Many new test cases and bug fixes. @ text @$NetBSD: patch-aj,v 1.5 2016/01/25 17:56:39 jperkin Exp $ NetBSD/m68k support. --- src/m68k/ffi.c.orig 2014-11-08 12:47:24.000000000 +0000 +++ src/m68k/ffi.c @@@@ -9,8 +9,11 @@@@ #include #include -#ifdef __rtems__ +#if defined(__rtems__) void rtems_cache_flush_multiple_data_lines( const void *, size_t ); +#elif defined(__NetBSD__) +#include +#include #else #include #ifdef __MINT__ @@@@ -345,8 +348,10 @@@@ ffi_prep_closure_loc (ffi_closure* closu else *(void **)(closure->tramp + 8) = ffi_closure_SYSV; -#ifdef __rtems__ +#if defined(__rtems__) rtems_cache_flush_multiple_data_lines( codeloc, FFI_TRAMPOLINE_SIZE ); +#elif defined(__NetBSD__) + m68k_sync_icache(codeloc, FFI_TRAMPOLINE_SIZE); #elif defined(__MINT__) Ssystem(S_FLUSHCACHE, codeloc, FFI_TRAMPOLINE_SIZE); #else @ 1.5 log @Fix GNU triplet match for Solaris to indicate that writeable and executable heap is not supported. Fixes complete test failure on x86_64. Update patch offsets and comments while here. Bump PKGREVISION. @ text @d1 1 a1 1 $NetBSD: patch-aj,v 1.4 2012/09/14 23:45:27 asau Exp $ @ 1.4 log @Update to libffi 3.0.11 3.0.11 Apr-11-12 Add support for variadic functions (ffi_prep_cif_var). Add Linux/x32 support. Add thiscall, fastcall and MSVC cdecl support on Windows. Add Amiga and newer MacOS support. Add m68k FreeMiNT support. Integration with iOS' xcode build tools. Fix Octeon and MC68881 support. Fix code pessimizations. Lots of build fixes. 3.0.10 Aug-23-11 Add support for Apple's iOS. Add support for ARM VFP ABI. Add RTEMS support for MIPS and M68K. Fix instruction cache clearing problems on ARM and SPARC. Fix the N64 build on mips-sgi-irix6.5. Enable builds with Microsoft's compiler. Enable x86 builds with Oracle's Solaris compiler. Fix support for calling code compiled with Oracle's Sparc Solaris compiler. Testsuite fixes for Tru64 Unix. Additional platform support. @ text @d1 1 a1 1 $NetBSD$ d3 3 a5 1 --- src/m68k/ffi.c.orig 2012-04-12 02:46:06.000000000 +0000 d20 1 a20 1 @@@@ -335,8 +338,10 @@@@ ffi_prep_closure_loc (ffi_closure* closu @ 1.3 log @Correctly do cache flushing on m68k NetBSD. Fixes PR #43106. @ text @d3 1 a3 1 --- src/m68k/ffi.c.orig 2009-12-29 15:22:26.000000000 +0000 d5 1 a5 1 @@@@ -9,8 +9,13 @@@@ d9 10 a18 13 -#include -#include +#if !defined(__NetBSD__) + #include + #include +#else + #include + #include +#endif void ffi_call_SYSV (extended_cif *, unsigned, unsigned, @@@@ -266,8 +271,12 @@@@ ffi_prep_closure_loc (ffi_closure* closu d22 8 a29 11 - syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE, - FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE); + #if !defined(__NetBSD__) + syscall(SYS_cacheflush, codeloc, FLUSH_SCOPE_LINE, + FLUSH_CACHE_BOTH, FFI_TRAMPOLINE_SIZE); + #else + m68k_sync_icache(codeloc, FFI_TRAMPOLINE_SIZE); + #endif closure->cif = cif; closure->user_data = user_data; @ 1.2 log @Update to libffi 3.0.9. This release includes many important fixes as well as a couple of new ports. @ text @d1 1 a1 1 $NetBSD: patch-aj,v 1.1 2009/09/20 13:10:30 tnn Exp $ d3 11 a13 8 --- include/ffi.h.in.orig 2008-04-03 20:57:34.000000000 +0200 +++ include/ffi.h.in @@@@ -254,7 +254,11 @@@@ typedef struct { ffi_cif *cif; void (*fun)(ffi_cif*,void*,void**,void*); void *user_data; +#if defined(__digital__) && !defined(__GNUC__) +} ffi_closure; d15 2 a16 1 } ffi_closure __attribute__((aligned (8))); d19 17 a35 2 void *ffi_closure_alloc (size_t size, void **code); void ffi_closure_free (void *); @ 1.1 log @Fix build on Tru64. @ text @d1 1 a1 1 $NetBSD$ @