Hi,

Bruno Haible kindly notified us of the release of libffcall-1.13.

  http://marc.info/?l=openbsd-ports&m=149830931016250&w=2

This new release will hopefully let us drop the not-so-nice patches we
have.

With the following diff, ''make test'' works fine on amd64 and arm.
''make test'' passes for lang/clisp and lang/gforth on amd64, lang/clisp
can now be unlocked on arm.

Test reports are welcome, especially on those architectures:

  alpha hppa i386 mips64 mips64el powerpc sparc64

ok/comments?


Index: Makefile
===================================================================
RCS file: /d/cvs/ports/devel/ffcall/Makefile,v
retrieving revision 1.29
diff -u -p -r1.29 Makefile
--- Makefile    1 Sep 2016 10:53:26 -0000       1.29
+++ Makefile    30 Jun 2017 14:44:57 -0000
@@ -1,24 +1,27 @@
 # $OpenBSD: Makefile,v 1.29 2016/09/01 10:53:26 jasper Exp $
 
-# arm: doesn't build super-old and broken assember files
-ONLY_FOR_ARCHS=        alpha amd64 hppa i386 mips64 mips64el powerpc sparc64
+# Needed for tests, wxneeded has no effect on the installed shared libs.
+USE_WXNEEDED=  Yes
 
 COMMENT=       foreign function call libraries
 
-DISTNAME=      ffcall-1.10
-REVISION =     3
-SHARED_LIBS=   avcall          1.0 \
-               callback        1.0
+DISTNAME=      libffcall-1.13
+PKGNAME=       ffcall-1.13
+
+SHARED_LIBS +=  avcall               2.0      # 0.0
+SHARED_LIBS +=  callback             2.0      # 0.0
+SHARED_LIBS +=  trampoline           0.0      # 0.0
+
 CATEGORIES=    devel
-MASTER_SITES=  http://www.haible.de/bruno/gnu/
-HOMEPAGE=      http://www.haible.de/bruno/packages-ffcall.html
 
-# GPLv2 only
+HOMEPAGE=      https://www.gnu.org/software/libffcall/
+
+# GPLv2+
 PERMIT_PACKAGE_CDROM=  Yes
-WANTLIB=               c
+
+MASTER_SITES=  ${MASTER_SITE_GNU:=libffcall/}
 
 CONFIGURE_STYLE=gnu
-MODGNU_CONFIG_GUESS_DIRS=${WRKSRC}/autoconf
 
 .if ${MACHINE_ARCH} == "sparc64"
 CONFIGURE_ENV +=       cl_cv_c_struct_return_small=yes
Index: distinfo
===================================================================
RCS file: /d/cvs/ports/devel/ffcall/distinfo,v
retrieving revision 1.6
diff -u -p -r1.6 distinfo
--- distinfo    18 Jan 2015 03:13:11 -0000      1.6
+++ distinfo    30 Jun 2017 08:19:03 -0000
@@ -1,2 +1,2 @@
-SHA256 (ffcall-1.10.tar.gz) = bxtbj8hLLABRY3+x5OT4uXX1+Yv/j+BTwZkjR7qkmD0=
-SIZE (ffcall-1.10.tar.gz) = 914870
+SHA256 (libffcall-1.13.tar.gz) = FwfOcH279X8bvpqlaSnA2oZgRrDVom6w2W2fC7KbvOc=
+SIZE (libffcall-1.13.tar.gz) = 985185
Index: patches/patch-avcall_Makefile_in
===================================================================
RCS file: patches/patch-avcall_Makefile_in
diff -N patches/patch-avcall_Makefile_in
--- patches/patch-avcall_Makefile_in    1 Aug 2015 12:07:46 -0000       1.6
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-avcall_Makefile_in,v 1.6 2015/08/01 12:07:46 tobiasu Exp $
---- avcall/Makefile.in.orig    Sun Jan 25 18:34:21 2004
-+++ avcall/Makefile.in Thu Jul 30 14:59:25 2015
-@@ -120,13 +120,11 @@ avcall-rs6000.lo : $(srcdir)/avcall-rs6000-aix.old.s $
-       case "$(OS)" in \
-         aix3*) syntax=aix.old;; \
-         aix*) syntax=aix.new;; \
--        linux* | netbsd*) syntax=linux;; \
-+        linux* | netbsd* | openbsd*) syntax=linux;; \
-         macos* | darwin*) syntax=macos;; \
-         *) syntax=sysv4;; \
-       esac; \
--      $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c 
$(srcdir)/avcall-rs6000-$${syntax}.s ; \
--      cp avcall-rs6000-$${syntax}.lo avcall-rs6000.lo ; rm -f 
avcall-rs6000-$${syntax}.lo ; \
--      if test -f avcall-rs6000-$${syntax}.o; then mv 
avcall-rs6000-$${syntax}.o avcall-rs6000.o; fi
-+      $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c 
$(srcdir)/avcall-rs6000-$${syntax}.s -o avcall-rs6000.lo
- 
- avcall-m88k.lo : $(srcdir)/avcall-m88k.s
-       $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c $(srcdir)/avcall-m88k.s
Index: patches/patch-avcall_avcall-sparc64_S
===================================================================
RCS file: patches/patch-avcall_avcall-sparc64_S
diff -N patches/patch-avcall_avcall-sparc64_S
--- patches/patch-avcall_avcall-sparc64_S       23 Sep 2010 13:38:33 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,254 +0,0 @@
-$OpenBSD: patch-avcall_avcall-sparc64_S,v 1.3 2010/09/23 13:38:33 joshe Exp $
-
-Add missing .register declaration for %g3.
-Account for the stack bias when using %sp.
-Use [foo,bar] syntax instead of bar(foo).
-
---- avcall/avcall-sparc64.S.orig       Fri Nov 26 12:28:33 1999
-+++ avcall/avcall-sparc64.S    Tue Apr  7 14:20:26 2009
-@@ -3,6 +3,7 @@
-       .version        "01.01"
- .section      ".text"
-       .align 4
-+      .register %g3, #scratch
-       .global __builtin_avcall
-       DECLARE_FUNCTION(__builtin_avcall)
-       .type    __builtin_avcall,$function
-@@ -14,7 +15,7 @@ __builtin_avcall:
-       ldx     [%i0+40], %g3
-       ld      [%i0+60], %o7
-       add     %g3, -72, %g3
--      add     %sp, 136, %g1
-+      add     %sp, 2175, %g1
-       sub     %g3, %i0, %g3
-       cmp     %o7, 0
-       sdivx   %g3, 8, %g3
-@@ -24,98 +25,98 @@ __builtin_avcall:
-       cmp     %g3, 0
-       be,pn   %icc, .LL161
-       and     %o7, 2, %g3
--      ld 72(%i0),%f1
-+      ld [%i0+72],%f1
-       and     %o7, 2, %g3
- .LL161:
-       cmp     %g3, 0
-       be,pn   %icc, .LL162
-       and     %o7, 4, %g3
--      ld 80(%i0),%f3
-+      ld [%i0+80],%f3
-       and     %o7, 4, %g3
- .LL162:
-       cmp     %g3, 0
-       be,pn   %icc, .LL163
-       and     %o7, 8, %g3
--      ld 88(%i0),%f5
-+      ld [%i0+88],%f5
-       and     %o7, 8, %g3
- .LL163:
-       cmp     %g3, 0
-       be,pn   %icc, .LL164
-       and     %o7, 16, %g3
--      ld 96(%i0),%f7
-+      ld [%i0+96],%f7
-       and     %o7, 16, %g3
- .LL164:
-       cmp     %g3, 0
-       be,pn   %icc, .LL165
-       and     %o7, 32, %g3
--      ld 104(%i0),%f9
-+      ld [%i0+104],%f9
-       and     %o7, 32, %g3
- .LL165:
-       cmp     %g3, 0
-       be,pn   %icc, .LL166
-       and     %o7, 64, %g3
--      ld 112(%i0),%f11
-+      ld [%i0+112],%f11
-       and     %o7, 64, %g3
- .LL166:
-       cmp     %g3, 0
-       be,pn   %icc, .LL167
-       and     %o7, 128, %g3
--      ld 120(%i0),%f13
-+      ld [%i0+120],%f13
-       and     %o7, 128, %g3
- .LL167:
-       cmp     %g3, 0
-       be,pn   %icc, .LL168
-       and     %o7, 256, %g3
--      ld 128(%i0),%f15
-+      ld [%i0+128],%f15
-       and     %o7, 256, %g3
- .LL168:
-       cmp     %g3, 0
-       be,pn   %icc, .LL169
-       and     %o7, 512, %g3
--      ld 136(%i0),%f17
-+      ld [%i0+136],%f17
-       and     %o7, 512, %g3
- .LL169:
-       cmp     %g3, 0
-       be,a,pn %icc, .LL170
-       ld      [%i0+60], %o7
--      ld 144(%i0),%f19
-+      ld [%i0+144],%f19
-       ld      [%i0+60], %o7
- .LL170:
-       and     %o7, 1024, %g3
-       cmp     %g3, 0
-       be,pn   %icc, .LL171
-       and     %o7, 2048, %g3
--      ld 152(%i0),%f21
-+      ld [%i0+152],%f21
-       and     %o7, 2048, %g3
- .LL171:
-       cmp     %g3, 0
-       be,pn   %icc, .LL172
-       sethi   %hi(4096), %g3
--      ld 160(%i0),%f23
-+      ld [%i0+160],%f23
-       sethi   %hi(4096), %g3
- .LL172:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL173
-       sethi   %hi(8192), %g3
--      ld 168(%i0),%f25
-+      ld [%i0+168],%f25
-       sethi   %hi(8192), %g3
- .LL173:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL174
-       sethi   %hi(16384), %g3
--      ld 176(%i0),%f27
-+      ld [%i0+176],%f27
-       sethi   %hi(16384), %g3
- .LL174:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL175
-       sethi   %hi(32768), %g3
--      ld 184(%i0),%f29
-+      ld [%i0+184],%f29
-       sethi   %hi(32768), %g3
- .LL175:
-       andcc   %o7, %g3, %g0
-       be,a,pn %icc, .LL176
-       ld      [%i0+64], %g3
--      ld 192(%i0),%f31
-+      ld [%i0+192],%f31
- .LL3:
-       ld      [%i0+64], %g3
- .LL176:
-@@ -126,97 +127,97 @@ __builtin_avcall:
-       cmp     %g3, 0
-       be,pn   %icc, .LL177
-       and     %o7, 2, %g3
--      ldd 72(%i0),%f0
-+      ldd [%i0+72],%f0
-       and     %o7, 2, %g3
- .LL177:
-       cmp     %g3, 0
-       be,pn   %icc, .LL178
-       and     %o7, 4, %g3
--      ldd 80(%i0),%f2
-+      ldd [%i0+80],%f2
-       and     %o7, 4, %g3
- .LL178:
-       cmp     %g3, 0
-       be,pn   %icc, .LL179
-       and     %o7, 8, %g3
--      ldd 88(%i0),%f4
-+      ldd [%i0+88],%f4
-       and     %o7, 8, %g3
- .LL179:
-       cmp     %g3, 0
-       be,pn   %icc, .LL180
-       and     %o7, 16, %g3
--      ldd 96(%i0),%f6
-+      ldd [%i0+96],%f6
-       and     %o7, 16, %g3
- .LL180:
-       cmp     %g3, 0
-       be,pn   %icc, .LL181
-       and     %o7, 32, %g3
--      ldd 104(%i0),%f8
-+      ldd [%i0+104],%f8
-       and     %o7, 32, %g3
- .LL181:
-       cmp     %g3, 0
-       be,pn   %icc, .LL182
-       and     %o7, 64, %g3
--      ldd 112(%i0),%f10
-+      ldd [%i0+112],%f10
-       and     %o7, 64, %g3
- .LL182:
-       cmp     %g3, 0
-       be,pn   %icc, .LL183
-       and     %o7, 128, %g3
--      ldd 120(%i0),%f12
-+      ldd [%i0+120],%f12
-       and     %o7, 128, %g3
- .LL183:
-       cmp     %g3, 0
-       be,pn   %icc, .LL184
-       and     %o7, 256, %g3
--      ldd 128(%i0),%f14
-+      ldd [%i0+128],%f14
-       and     %o7, 256, %g3
- .LL184:
-       cmp     %g3, 0
-       be,pn   %icc, .LL185
-       and     %o7, 512, %g3
--      ldd 136(%i0),%f16
-+      ldd [%i0+136],%f16
-       and     %o7, 512, %g3
- .LL185:
-       cmp     %g3, 0
-       be,pn   %icc, .LL186
-       and     %o7, 1024, %g3
--      ldd 144(%i0),%f18
-+      ldd [%i0+144],%f18
-       and     %o7, 1024, %g3
- .LL186:
-       cmp     %g3, 0
-       be,pn   %icc, .LL187
-       and     %o7, 2048, %g3
--      ldd 152(%i0),%f20
-+      ldd [%i0+152],%f20
-       and     %o7, 2048, %g3
- .LL187:
-       cmp     %g3, 0
-       be,pn   %icc, .LL188
-       sethi   %hi(4096), %g3
--      ldd 160(%i0),%f22
-+      ldd [%i0+160],%f22
-       sethi   %hi(4096), %g3
- .LL188:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL189
-       sethi   %hi(8192), %g3
--      ldd 168(%i0),%f24
-+      ldd [%i0+168],%f24
-       sethi   %hi(8192), %g3
- .LL189:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL190
-       sethi   %hi(16384), %g3
--      ldd 176(%i0),%f26
-+      ldd [%i0+176],%f26
-       sethi   %hi(16384), %g3
- .LL190:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL191
-       sethi   %hi(32768), %g3
--      ldd 184(%i0),%f28
-+      ldd [%i0+184],%f28
-       sethi   %hi(32768), %g3
- .LL191:
-       andcc   %o7, %g3, %g0
-       be,pn   %icc, .LL192
-       mov     6, %l1
--      ldd 192(%i0),%f30
-+      ldd [%i0+192],%f30
- .LL20:
-       mov     6, %l1
- .LL192:
Index: patches/patch-avcall_avcall_h_in
===================================================================
RCS file: patches/patch-avcall_avcall_h_in
diff -N patches/patch-avcall_avcall_h_in
--- patches/patch-avcall_avcall_h_in    23 Sep 2010 13:38:33 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,15 +0,0 @@
-$OpenBSD: patch-avcall_avcall_h_in,v 1.1 2010/09/23 13:38:33 joshe Exp $
---- avcall/avcall.h.in.orig    Mon Jan 26 06:58:41 2004
-+++ avcall/avcall.h.in Sat Apr 25 16:17:43 2009
-@@ -1307,8 +1307,9 @@ typedef struct
-       ? -1 : 
(ASSIGN(TYPE,TYPE_SIZE,TYPE_ALIGN,(void*)((__avword)(LIST).aptr-(TYPE_SIZE)),VAL),\
-             (LIST).aptr = 
(__avword*)(((__avword)(LIST).aptr+sizeof(__avword)-1) & 
-(long)sizeof(__avword)),\
-             ((LIST).anum < 16                                         \
--              && ((LIST).farg_mask |= (-1 << (LIST).anum),            \
--                  (LIST).darg_mask |= (-1 << (LIST).anum))),          \
-+              && ((TYPE_SIZE) > 4                                     \
-+                  ? ((LIST).darg_mask |= (-1 << (LIST).anum))         \
-+                  : ((LIST).farg_mask |= (-1 << (LIST).anum)))),      \
-             (LIST).anum += (((((TYPE_SIZE)+(TYPE_ALIGN)-1) & 
-(long)(TYPE_ALIGN)) + sizeof(__avword)-1) & 
-(long)sizeof(__avword))/sizeof(__avword),\
-             (LIST).farg_mask &= (1 << ((LIST).anum < 16 ? (LIST).anum : 16)) 
- 1, \
-             (LIST).darg_mask &= (1 << ((LIST).anum < 16 ? (LIST).anum : 16)) 
- 1, \
Index: patches/patch-avcall_configure
===================================================================
RCS file: patches/patch-avcall_configure
diff -N patches/patch-avcall_configure
--- patches/patch-avcall_configure      14 Jun 2010 08:22:19 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-avcall_configure,v 1.1 2010/06/14 08:22:19 jasper Exp $
---- avcall/configure.orig      Mon Jun 14 09:58:37 2010
-+++ avcall/configure   Mon Jun 14 09:58:43 2010
-@@ -3026,7 +3026,7 @@ case "$host_cpu" in
-   arm* )
-     host_cpu=arm
-     ;;
--  mips )
-+  mips* )
-     echo "$as_me:$LINENO: checking for 64-bit MIPS" >&5
- echo $ECHO_N "checking for 64-bit MIPS... $ECHO_C" >&6
- if test "${cl_cv_host_mips64+set}" = set; then
Index: patches/patch-callback_trampoline_r_Makefile_in
===================================================================
RCS file: patches/patch-callback_trampoline_r_Makefile_in
diff -N patches/patch-callback_trampoline_r_Makefile_in
--- patches/patch-callback_trampoline_r_Makefile_in     1 Aug 2015 12:07:46 
-0000       1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,13 +0,0 @@
-$OpenBSD: patch-callback_trampoline_r_Makefile_in,v 1.3 2015/08/01 12:07:46 
tobiasu Exp $
---- callback/trampoline_r/Makefile.in.orig     Thu Jul 30 15:10:21 2015
-+++ callback/trampoline_r/Makefile.in  Thu Jul 30 15:11:45 2015
-@@ -101,7 +101,8 @@ cache-rs6000.lo : $(srcdir)/cache-rs6000-sysv4.s $(src
-         macos* | darwin*) syntax=macos;; \
-         *) syntax=sysv4;; \
-       esac; \
--      $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c 
$(srcdir)/cache-rs6000-$${syntax}.s ; mv -f cache-rs6000-$${syntax}.o 
cache-rs6000.o ; mv -f cache-rs6000-$${syntax}.lo cache-rs6000.lo
-+      $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c 
$(srcdir)/cache-rs6000-$${syntax}.s \
-+              -o cache-rs6000.lo
- 
- cache-convex.lo : $(srcdir)/cache-convex.s
-       $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c $(srcdir)/cache-convex.s
Index: patches/patch-callback_trampoline_r_test1_c
===================================================================
RCS file: patches/patch-callback_trampoline_r_test1_c
diff -N patches/patch-callback_trampoline_r_test1_c
--- patches/patch-callback_trampoline_r_test1_c 23 Aug 2010 14:16:09 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-callback_trampoline_r_test1_c,v 1.1 2010/08/23 14:16:09 jasper 
Exp $
---- callback/trampoline_r/test1.c.orig Sun Apr 26 06:46:30 2009
-+++ callback/trampoline_r/test1.c      Sun Apr 26 06:46:30 2009
-@@ -70,7 +70,7 @@ register void* env __asm__("%r29");
- register void* env __asm__("r12");
- #endif
- #ifdef __rs6000__
--#ifdef __NetBSD__
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
- register void* env __asm__("r13");
- #else
- register void* env __asm__("r11");
Index: patches/patch-callback_trampoline_r_trampoline_c
===================================================================
RCS file: patches/patch-callback_trampoline_r_trampoline_c
diff -N patches/patch-callback_trampoline_r_trampoline_c
--- patches/patch-callback_trampoline_r_trampoline_c    23 Sep 2010 13:38:33 
-0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,129 +0,0 @@
-$OpenBSD: patch-callback_trampoline_r_trampoline_c,v 1.3 2010/09/23 13:38:33 
joshe Exp $
-
-Fix the horrible trampoline code to work on sparc and
-sparc64. OpenBSD's runtime linker trashes registers which are supposed
-to be preserved across function calls, so steal some space on the
-stack instead.
-
-Also fix powerpc and mips64.
-
---- callback/trampoline_r/trampoline.c.orig    Mon Jan 26 07:00:05 2004
-+++ callback/trampoline_r/trampoline.c Fri Jul 30 14:34:10 2010
-@@ -21,7 +21,7 @@
- #endif
- #endif
- #if defined(__rs6000__)
--#if defined(__NetBSD__)
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
- #define __rs6000netbsd__
- #else
- #if !defined(_AIX)
-@@ -196,8 +196,12 @@ extern RETGETPAGESIZETYPE getpagesize ();
- #ifdef linux
- #include <asm/cachectl.h>
- #else
-+#ifdef __OpenBSD__
-+#include <mips64/sysarch.h>
-+#else
- #ifdef HAVE_SYS_CACHECTL_H
- #include <sys/cachectl.h>
-+#endif
- #endif
- #endif
- #endif
-@@ -259,11 +259,11 @@ extern void __TR_clear_cache();
- #define TRAMP_ALIGN 8
- #endif
- #if defined(__sparc__) && !defined(__sparc64__)
--#define TRAMP_LENGTH 16
-+#define TRAMP_LENGTH 24
- #define TRAMP_ALIGN 16
- #endif
- #ifdef __sparc64__
--#define TRAMP_LENGTH 32
-+#define TRAMP_LENGTH 40
- #define TRAMP_ALIGN 16
- #endif
- #ifdef __alpha__
-@@ -614,52 +614,64 @@ __TR_function alloc_trampoline_r (address, data0, data
-   /* function:
-    *    sethi %hi(<data>),%g2         05000000 | (<data> >> 10)
-    *    sethi %hi(<address>),%g1      03000000 | (<address> >> 10)
--   *    jmp %g1+%lo(<address>)                81C06000 | (<address> & 0x3ff)
-+   *    add %sp,-8,%sp                        9C03BFF8
-    *    or %g2,%lo(<data>),%g2                8410A000 | (<data> & 0x3ff)
-+   *    jmp %g1+%lo(<address>)                81C06000 | (<address> & 0x3ff)
-+   *    st %g2,[%sp+96]                       C423A060
-    */
- #define hi(word)  ((unsigned long) (word) >> 10)
- #define lo(word)  ((unsigned long) (word) & 0x3ff)
-   *(long *) (function + 0) = 0x05000000 | hi(data);
-   *(long *) (function + 4) = 0x03000000 | hi(address);
--  *(long *) (function + 8) = 0x81C06000 | lo(address);
-+  *(long *) (function + 8) = 0x9C03BFF8;
-   *(long *) (function +12) = 0x8410A000 | lo(data);
-+  *(long *) (function +16) = 0x81C06000 | lo(address);
-+  *(long *) (function +20) = 0xC423A060;
- #define is_tramp(function)  \
-   (*(long *) (function + 0) & 0xffc00000) == 0x05000000 && \
-   (*(long *) (function + 4) & 0xffc00000) == 0x03000000 && \
--  (*(long *) (function + 8) & 0xfffffc00) == 0x81C06000 && \
--  (*(long *) (function +12) & 0xfffffc00) == 0x8410A000
-+  (*(long *) (function + 8))              == 0x9C03BFF8 && \
-+  (*(long *) (function +12) & 0xfffffc00) == 0x8410A000 && \
-+  (*(long *) (function +16) & 0xfffffc00) == 0x81C06000 && \
-+  (*(long *) (function +20))              == 0xC423A060
- #define hilo(hiword,loword)  (((hiword) << 10) | ((loword) & 0x3ff))
- #define tramp_address(function)  \
--  hilo(*(long *) (function + 4), *(long *) (function + 8))
-+  hilo(*(long *) (function + 4), *(long *) (function +16))
- #define tramp_data(function)  \
-   hilo(*(long *) (function + 0), *(long *) (function +12))
- #endif
- #ifdef __sparc64__
-   /* function:
-    *    rd %pc,%g1                    83414000
--   *    ldx [%g1+24],%g2              C4586018
-+   *    ldx [%g1+32],%g2              C4586020
-+   *    ldx [%g1+24],%g5              CA586018
-+   *    add %sp,-32,%sp                       9C03BFE0
-    *    jmp %g2                               81C08000
--   *    ldx [%g1+16],%g5              CA586010
-+   *    stx %g5,[%sp+2239]            CA73A8BF
-    *    .long high32(<data>)          <data> >> 32
-    *    .long low32(<data>)           <data> & 0xffffffff
-    *    .long high32(<address>)               <address> >> 32
-    *    .long low32(<address>)                <address> & 0xffffffff
-    */
-   *(int *)  (function + 0) = 0x83414000;
--  *(int *)  (function + 4) = 0xC4586018;
--  *(int *)  (function + 8) = 0x81C08000;
--  *(int *)  (function +12) = 0xCA586010;
--  *(long *) (function +16) = (long) data;
--  *(long *) (function +24) = (long) address;
-+  *(int *)  (function + 4) = 0xC4586020;
-+  *(int *)  (function + 8) = 0xCA586018;
-+  *(int *)  (function +12) = 0x9C03BFE0;
-+  *(int *)  (function +16) = 0x81C08000;
-+  *(int *)  (function +20) = 0xCA73A8BF;
-+  *(long *) (function +24) = (long) data;
-+  *(long *) (function +32) = (long) address;
- #define is_tramp(function)  \
-   *(int *)  (function + 0) == 0x83414000 && \
--  *(int *)  (function + 4) == 0xC4586018 && \
--  *(int *)  (function + 8) == 0x81C08000 && \
--  *(int *)  (function +12) == 0xCA586010
-+  *(int *)  (function + 4) == 0xC4586020 && \
-+  *(int *)  (function + 8) == 0xCA586018 && \
-+  *(int *)  (function +12) == 0x9C03BFE0 && \
-+  *(int *)  (function +16) == 0x81C08000 && \
-+  *(int *)  (function +20) == 0xCA73A8BF
- #define tramp_address(function)  \
--  *(long *) (function +24)
-+  *(long *) (function +32)
- #define tramp_data(function)  \
--  *(long *) (function +16)
-+  *(long *) (function +24)
- #endif
- #ifdef __alpha__
-   /* function:
Index: patches/patch-callback_vacall_r_Makefile_in
===================================================================
RCS file: patches/patch-callback_vacall_r_Makefile_in
diff -N patches/patch-callback_vacall_r_Makefile_in
--- patches/patch-callback_vacall_r_Makefile_in 1 Aug 2015 12:07:46 -0000       
1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
-$OpenBSD: patch-callback_vacall_r_Makefile_in,v 1.4 2015/08/01 12:07:46 
tobiasu Exp $
---- callback/vacall_r/Makefile.in.orig Sun Jan 25 15:17:01 2004
-+++ callback/vacall_r/Makefile.in      Thu Jul 30 15:07:56 2015
-@@ -120,13 +120,11 @@ vacall-rs6000.lo : $(srcdir)/vacall-rs6000-aix.old.s $
-       case "$(OS)" in \
-         aix3*) syntax=aix.old;; \
-         aix*) syntax=aix.new;; \
--        linux*) syntax=linux;; \
-+        linux* | openbsd*) syntax=linux;; \
-         macos* | darwin*) syntax=macos;; \
-         *) syntax=sysv4;; \
-       esac; \
--      $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c 
$(srcdir)/vacall-rs6000-$${syntax}.s ; \
--      cp vacall-rs6000-$${syntax}.lo vacall-rs6000.lo ; rm -f 
vacall-rs6000-$${syntax}.lo ; \
--      if test -f vacall-rs6000-$${syntax}.o; then mv 
vacall-rs6000-$${syntax}.o vacall-rs6000.o; fi
-+      $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c 
$(srcdir)/vacall-rs6000-$${syntax}.s -o vacall-rs6000.lo
- 
- vacall-m88k.lo : $(srcdir)/vacall-m88k.s
-       $(LIBTOOL_COMPILE) $(CC) @GCC_X_NONE@ -c $(srcdir)/vacall-m88k.s
Index: patches/patch-callback_vacall_r_configure
===================================================================
RCS file: patches/patch-callback_vacall_r_configure
diff -N patches/patch-callback_vacall_r_configure
--- patches/patch-callback_vacall_r_configure   14 Jun 2010 08:22:19 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-callback_vacall_r_configure,v 1.1 2010/06/14 08:22:19 jasper 
Exp $
---- callback/vacall_r/configure.orig   Mon Jun 14 10:11:14 2010
-+++ callback/vacall_r/configure        Mon Jun 14 10:11:18 2010
-@@ -3026,7 +3026,7 @@ case "$host_cpu" in
-   arm* )
-     host_cpu=arm
-     ;;
--  mips )
-+  mips* )
-     echo "$as_me:$LINENO: checking for 64-bit MIPS" >&5
- echo $ECHO_N "checking for 64-bit MIPS... $ECHO_C" >&6
- if test "${cl_cv_host_mips64+set}" = set; then
Index: patches/patch-callback_vacall_r_vacall-rs6000-linux_s
===================================================================
RCS file: patches/patch-callback_vacall_r_vacall-rs6000-linux_s
diff -N patches/patch-callback_vacall_r_vacall-rs6000-linux_s
--- patches/patch-callback_vacall_r_vacall-rs6000-linux_s       23 Aug 2010 
14:16:09 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-callback_vacall_r_vacall-rs6000-linux_s,v 1.1 2010/08/23 
14:16:09 jasper Exp $
-
-We're using %r13 like on NetBSD instead of %r11.
-
---- callback/vacall_r/vacall-rs6000-linux.s.orig       Mon Jan 29 13:55:18 2001
-+++ callback/vacall_r/vacall-rs6000-linux.s    Sun Apr 26 07:01:24 2009
-@@ -35,8 +35,8 @@ __vacall_r:
-       stw 9,20(1)
-       addi 0,1,48
-       stw 0,40(1)
--      lwz 9,0(11)
--      lwz 3,4(11)
-+      lwz 9,0(13)
-+      lwz 3,4(13)
-       addi 4,1,8
-       mtlr 9
-       blrl
Index: patches/patch-callback_vacall_r_vacall-sparc64_S
===================================================================
RCS file: patches/patch-callback_vacall_r_vacall-sparc64_S
diff -N patches/patch-callback_vacall_r_vacall-sparc64_S
--- patches/patch-callback_vacall_r_vacall-sparc64_S    23 Sep 2010 13:38:33 
-0000      1.2
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,32 +0,0 @@
-$OpenBSD: patch-callback_vacall_r_vacall-sparc64_S,v 1.2 2010/09/23 13:38:33 
joshe Exp $
-
-Add missing .register declarations.
-Load the saved callback data from the stack into %g5, see the
-  trampoline.c patch for more info.
-Initalize __va_alist->anum to 0.
-
---- callback/vacall_r/vacall-sparc64.S.orig    Fri Nov 26 12:35:23 1999
-+++ callback/vacall_r/vacall-sparc64.S Sat Apr 25 13:58:31 2009
-@@ -4,10 +4,14 @@
- .section      ".text"
-       .align 4
-       .global __vacall_r
-+      .register %g2, #scratch
-+      .register %g3, #scratch
-       DECLARE_FUNCTION(__vacall_r)
-       .type    __vacall_r,$function
-       .proc   020
- __vacall_r:
-+      ldx     [%sp+2239], %g5
-+      add     %sp, 32, %sp
-       !$PROLOGUE$ 0
-       save    %sp, -448, %sp
-       !$PROLOGUE$ 1
-@@ -55,6 +59,7 @@ __vacall_r:
-       st      %f31, [%fp+1895]
-       st      %g0, [%fp+1775]
-       stx     %g0, [%fp+1791]
-+      st      %g0, [%fp+1831]
-       st      %g0, [%fp+1799]
-       ldx     [%g5], %o2
-       call    %o2, 0
Index: patches/patch-callback_vacall_r_vacall-sparc_S
===================================================================
RCS file: patches/patch-callback_vacall_r_vacall-sparc_S
diff -N patches/patch-callback_vacall_r_vacall-sparc_S
--- patches/patch-callback_vacall_r_vacall-sparc_S      23 Sep 2010 13:38:33 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-callback_vacall_r_vacall-sparc_S,v 1.1 2010/09/23 13:38:33 
joshe Exp $
-
-Load the saved callback data from the stack into %g2, see the
-  trampoline.c patch for more info.
-
---- callback/vacall_r/vacall-sparc.S.orig      Fri Nov 26 12:13:06 1999
-+++ callback/vacall_r/vacall-sparc.S   Sat May  2 20:13:30 2009
-@@ -5,6 +5,8 @@
-       DECLARE_FUNCTION(__vacall_r)
-       .proc   020
- C(__vacall_r:)
-+      ld      [%sp+96], %g2
-+      add     %sp, 8, %sp
-       !$PROLOGUE$ 0
-       save    %sp, -144, %sp
-       !$PROLOGUE$ 1
Index: patches/patch-callback_vacall_r_vacall_r_h_in
===================================================================
RCS file: patches/patch-callback_vacall_r_vacall_r_h_in
diff -N patches/patch-callback_vacall_r_vacall_r_h_in
--- patches/patch-callback_vacall_r_vacall_r_h_in       23 Feb 2010 20:11:15 
-0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,70 +0,0 @@
-$OpenBSD: patch-callback_vacall_r_vacall_r_h_in,v 1.1 2010/02/23 20:11:15 
jasper Exp $
-
-On OpenBSD the mips64(el) architectures define both __mips__ and __mips64__,
-which leads to confusion and redeclarations here.
-
---- callback/vacall_r/vacall_r.h.in.orig       Thu Feb 11 23:44:38 2010
-+++ callback/vacall_r/vacall_r.h.in    Thu Feb 11 23:48:22 2010
-@@ -395,7 +395,7 @@ typedef struct
-   float          farg[4];
-   double         darg[2];
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
-   int            anum;
-   float          farg[2];
-   double         darg[2];
-@@ -545,7 +545,7 @@ typedef __va_alist* va_alist;
- #define __va_start_struct1(LIST,TYPE_SIZE,TYPE_ALIGN,TYPE_SPLITTABLE)  \
-   0
- #endif
--#if defined(__mips__) && !defined(__mipsn32__) || (defined(__sparc__) && 
!defined(__sparc64__)) || defined(__m88k__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__) || 
(defined(__sparc__) && !defined(__sparc64__)) || defined(__m88k__)
- #define __va_reg_struct_return(LIST,TYPE_SIZE,TYPE_SPLITTABLE)  \
-   ((TYPE_SIZE) == 1 || (TYPE_SIZE) == 2 || (TYPE_SIZE) == 4)
- /* Test __VA_SMALL_STRUCT_RETURN instead of __VA_REGISTER_STRUCT_RETURN. */
-@@ -651,7 +651,7 @@ typedef __va_alist* va_alist;
- /* Padding of non-struct arguments. */
- #define __va_argsize(TYPE_SIZE)  \
-   (((TYPE_SIZE) + sizeof(__vaword)-1) & -(long)sizeof(__vaword))
--#if defined(__i386__) || defined(__m68k__) || defined(__mips__) && 
!defined(__mipsn32__) || (defined(__sparc__) && !defined(__sparc64__)) || 
defined(__alpha__) || defined(__arm__) || (defined(__rs6000__) && 
(defined(_AIX) || (defined(__MACH__) && defined(__APPLE__)))) || 
defined(__m88k__) || defined(__convex__) || defined(__ia64__) || 
defined(__x86_64__)
-+#if defined(__i386__) || defined(__m68k__) || defined(__mips__) && 
!defined(__mips64__) && !defined(__mipsn32__) || (defined(__sparc__) && 
!defined(__sparc64__)) || defined(__alpha__) || defined(__arm__) || 
(defined(__rs6000__) && (defined(_AIX) || (defined(__MACH__) && 
defined(__APPLE__)))) || defined(__m88k__) || defined(__convex__) || 
defined(__ia64__) || defined(__x86_64__)
- /* args grow up */
- /* small structures < 1 word are adjusted depending on compiler */
- #define __va_arg_leftadjusted(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-@@ -747,7 +747,7 @@ typedef __va_alist* va_alist;
- #define __va_arg_adjusted(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-   __va_arg_rightadjusted(LIST,TYPE_SIZE,TYPE_ALIGN)
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- /* big endian -> small args < 1 word are adjusted to the right */
- #define __va_arg_adjusted(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-   ((LIST)->anum++, __va_arg_rightadjusted(LIST,TYPE_SIZE,TYPE_ALIGN))
-@@ -828,7 +828,7 @@ typedef __va_alist* va_alist;
- #if defined(__i386__) || defined(__m68k__) || defined(__mipsn32__) || 
defined(__mips64__) || defined(__sparc__) || defined(__sparc64__) || 
defined(__alpha__) || defined(__arm__) || defined(__rs6000__) || 
defined(__convex__) || defined(__ia64__) || defined(__x86_64__) || 
defined(__s390__)
- #define __va_align_double(LIST)
- #endif
--#if defined(__mips__) && !defined(__mipsn32__) || defined(__m88k__)
-+#if defined(__mips__) && !defined(__mipsn32__) || defined(__m88k__) && 
!defined(__mips64__)
- /* __VA_alignof(double) > sizeof(__vaword) */
- #define __va_align_double(LIST)  \
-   (LIST)->aptr = ((LIST)->aptr + sizeof(double)-1) & -(long)sizeof(double),
-@@ -893,7 +893,7 @@ typedef __va_alist* va_alist;
-   ))
- #endif
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- /* The first 0,1,2 registers are stored elsewhere if they are floating-point
-  * parameters.
-  */
-@@ -1092,7 +1092,7 @@ typedef __va_alist* va_alist;
-    __va_arg_adjusted(LIST,TYPE_SIZE,TYPE_ALIGN)                               
\
-   )
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- /* small structures < 1 word are adjusted depending on compiler */
- #define __va_arg_struct(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-   (__va_align_struct(LIST,TYPE_SIZE,TYPE_ALIGN)                               
\
Index: patches/patch-trampoline_configure
===================================================================
RCS file: patches/patch-trampoline_configure
diff -N patches/patch-trampoline_configure
--- patches/patch-trampoline_configure  14 Jun 2010 08:22:19 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-trampoline_configure,v 1.1 2010/06/14 08:22:19 jasper Exp $
---- trampoline/configure.orig  Mon Jun 14 10:04:16 2010
-+++ trampoline/configure       Mon Jun 14 10:04:24 2010
-@@ -5459,7 +5459,7 @@ case "$host_cpu" in
-   arm* )
-     host_cpu=arm
-     ;;
--  mips )
-+  mips* )
-     echo "$as_me:$LINENO: checking for 64-bit MIPS" >&5
- echo $ECHO_N "checking for 64-bit MIPS... $ECHO_C" >&6
- if test "${cl_cv_host_mips64+set}" = set; then
Index: patches/patch-trampoline_trampoline_c
===================================================================
RCS file: patches/patch-trampoline_trampoline_c
diff -N patches/patch-trampoline_trampoline_c
--- patches/patch-trampoline_trampoline_c       23 Feb 2010 20:11:15 -0000      
1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,16 +0,0 @@
-$OpenBSD: patch-trampoline_trampoline_c,v 1.1 2010/02/23 20:11:15 jasper Exp $
---- trampoline/trampoline.c.orig       Thu Feb 11 23:38:13 2010
-+++ trampoline/trampoline.c    Thu Feb 11 23:40:59 2010
-@@ -192,8 +192,12 @@ extern RETGETPAGESIZETYPE getpagesize ();
- #ifdef linux
- #include <asm/cachectl.h>
- #else
-+#ifdef __OpenBSD__
-+#include <mips64/sysarch.h>
-+#else
- #ifdef HAVE_SYS_CACHECTL_H
- #include <sys/cachectl.h>
-+#endif
- #endif
- #endif
- #endif
Index: patches/patch-vacall_Makefile_in
===================================================================
RCS file: patches/patch-vacall_Makefile_in
diff -N patches/patch-vacall_Makefile_in
--- patches/patch-vacall_Makefile_in    23 Aug 2010 14:16:09 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-vacall_Makefile_in,v 1.3 2010/08/23 14:16:09 jasper Exp $
---- vacall/Makefile.in.orig    Sun Jan 25 05:46:00 2004
-+++ vacall/Makefile.in Sat Apr 25 21:46:06 2009
-@@ -111,7 +111,7 @@ vacall-rs6000.o : $(srcdir)/vacall-rs6000-aix.old.s $(
-       case "$(OS)" in \
-         aix3*) syntax=aix.old;; \
-         aix*) syntax=aix.new;; \
--        linux* | netbsd*) syntax=linux;; \
-+        linux* | netbsd* | openbsd*) syntax=linux;; \
-         macos* | darwin*) syntax=macos;; \
-         *) syntax=sysv4;; \
-       esac; \
Index: patches/patch-vacall_configure
===================================================================
RCS file: patches/patch-vacall_configure
diff -N patches/patch-vacall_configure
--- patches/patch-vacall_configure      14 Jun 2010 08:22:19 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-vacall_configure,v 1.1 2010/06/14 08:22:19 jasper Exp $
---- vacall/configure.orig      Mon Jun 14 10:03:36 2010
-+++ vacall/configure   Mon Jun 14 10:03:57 2010
-@@ -2853,7 +2853,7 @@ case "$host_cpu" in
-   arm* )
-     host_cpu=arm
-     ;;
--  mips )
-+  mips* )
-     echo "$as_me:$LINENO: checking for 64-bit MIPS" >&5
- echo $ECHO_N "checking for 64-bit MIPS... $ECHO_C" >&6
- if test "${cl_cv_host_mips64+set}" = set; then
Index: patches/patch-vacall_vacall-sparc64_S
===================================================================
RCS file: patches/patch-vacall_vacall-sparc64_S
diff -N patches/patch-vacall_vacall-sparc64_S
--- patches/patch-vacall_vacall-sparc64_S       23 Sep 2010 13:38:33 -0000      
1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$OpenBSD: patch-vacall_vacall-sparc64_S,v 1.3 2010/09/23 13:38:33 joshe Exp $
-
-Add missing .register declarations.
-Initalize __va_alist->anum to 0.
-
---- vacall/vacall-sparc64.S.orig       Wed Jun  2 12:00:42 2004
-+++ vacall/vacall-sparc64.S    Thu Apr  9 19:15:56 2009
-@@ -4,6 +4,8 @@
- .section      ".text"
-       .align 4
-       .global __vacall
-+      .register %g2, #scratch
-+      .register %g3, #scratch
-       DECLARE_FUNCTION(__vacall)
-       .type    __vacall,$function
-       .proc   020
-@@ -57,6 +59,7 @@ __vacall:
-       st      %f31, [%fp+1895]
-       st      %g0, [%fp+1775]
-       stx     %g0, [%fp+1791]
-+      st      %g0, [%fp+1831]
-       call    %o2, 0
-       st      %g0, [%fp+1799]
-       ld      [%fp+1799], %o0
Index: patches/patch-vacall_vacall_h_in
===================================================================
RCS file: patches/patch-vacall_vacall_h_in
diff -N patches/patch-vacall_vacall_h_in
--- patches/patch-vacall_vacall_h_in    23 Feb 2010 20:11:15 -0000      1.1
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,75 +0,0 @@
-$OpenBSD: patch-vacall_vacall_h_in,v 1.1 2010/02/23 20:11:15 jasper Exp $
-
-On OpenBSD the mips64(el) architectures define both __mips__ and __mips64__,
-which leads to confusion and redeclarations here.
-
---- vacall/vacall.h.in.orig    Thu Feb 11 23:25:13 2010
-+++ vacall/vacall.h.in Thu Feb 11 23:30:34 2010
-@@ -395,7 +395,7 @@ typedef struct
-   float          farg[4];
-   double         darg[2];
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
-   int            anum;
-   float          farg[2];
-   double         darg[2];
-@@ -545,11 +545,11 @@ typedef __va_alist* va_alist;
- #define __va_start_struct1(LIST,TYPE_SIZE,TYPE_ALIGN,TYPE_SPLITTABLE)  \
-   0
- #endif
--#if defined(__mips__) && !defined(__mipsn32__) || (defined(__sparc__) && 
!defined(__sparc64__)) || defined(__m88k__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__) || 
(defined(__sparc__) && !defined(__sparc64__)) || defined(__m88k__)
- #define __va_reg_struct_return(LIST,TYPE_SIZE,TYPE_SPLITTABLE)  \
-   ((TYPE_SIZE) == 1 || (TYPE_SIZE) == 2 || (TYPE_SIZE) == 4)
- /* Test __VA_SMALL_STRUCT_RETURN instead of __VA_REGISTER_STRUCT_RETURN. */
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- #define __va_start_struct1(LIST,TYPE_SIZE,TYPE_ALIGN,TYPE_SPLITTABLE)  \
-   ((LIST)->anum++,                                                    \
-    0                                                                  \
-@@ -651,7 +651,7 @@ typedef __va_alist* va_alist;
- /* Padding of non-struct arguments. */
- #define __va_argsize(TYPE_SIZE)  \
-   (((TYPE_SIZE) + sizeof(__vaword)-1) & -(long)sizeof(__vaword))
--#if defined(__i386__) || defined(__m68k__) || defined(__mips__) && 
!defined(__mipsn32__) || (defined(__sparc__) && !defined(__sparc64__)) || 
defined(__alpha__) || defined(__arm__) || (defined(__rs6000__) && 
(defined(_AIX) || (defined(__MACH__) && defined(__APPLE__)))) || 
defined(__m88k__) || defined(__convex__) || defined(__ia64__) || 
defined(__x86_64__)
-+#if defined(__i386__) || defined(__m68k__) || defined(__mips__) && 
!defined(__mips64__) && !defined(__mipsn32__) || (defined(__sparc__) && 
!defined(__sparc64__)) || defined(__alpha__) || defined(__arm__) || 
(defined(__rs6000__) && (defined(_AIX) || (defined(__MACH__) && 
defined(__APPLE__)))) || defined(__m88k__) || defined(__convex__) || 
defined(__ia64__) || defined(__x86_64__)
- /* args grow up */
- /* small structures < 1 word are adjusted depending on compiler */
- #define __va_arg_leftadjusted(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-@@ -747,7 +747,7 @@ typedef __va_alist* va_alist;
- #define __va_arg_adjusted(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-   __va_arg_rightadjusted(LIST,TYPE_SIZE,TYPE_ALIGN)
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- /* big endian -> small args < 1 word are adjusted to the right */
- #define __va_arg_adjusted(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-   ((LIST)->anum++, __va_arg_rightadjusted(LIST,TYPE_SIZE,TYPE_ALIGN))
-@@ -828,7 +828,7 @@ typedef __va_alist* va_alist;
- #if defined(__i386__) || defined(__m68k__) || defined(__mipsn32__) || 
defined(__mips64__) || defined(__sparc__) || defined(__sparc64__) || 
defined(__alpha__) || defined(__arm__) || defined(__rs6000__) || 
defined(__convex__) || defined(__ia64__) || defined(__x86_64__) || 
defined(__s390__)
- #define __va_align_double(LIST)
- #endif
--#if defined(__mips__) && !defined(__mipsn32__) || defined(__m88k__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__) || 
defined(__m88k__)
- /* __VA_alignof(double) > sizeof(__vaword) */
- #define __va_align_double(LIST)  \
-   (LIST)->aptr = ((LIST)->aptr + sizeof(double)-1) & -(long)sizeof(double),
-@@ -893,7 +893,7 @@ typedef __va_alist* va_alist;
-   ))
- #endif
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- /* The first 0,1,2 registers are stored elsewhere if they are floating-point
-  * parameters.
-  */
-@@ -1092,7 +1092,7 @@ typedef __va_alist* va_alist;
-    __va_arg_adjusted(LIST,TYPE_SIZE,TYPE_ALIGN)                               
\
-   )
- #endif
--#if defined(__mips__) && !defined(__mipsn32__)
-+#if defined(__mips__) && !defined(__mipsn32__) && !defined(__mips64__)
- /* small structures < 1 word are adjusted depending on compiler */
- #define __va_arg_struct(LIST,TYPE_SIZE,TYPE_ALIGN)  \
-   (__va_align_struct(LIST,TYPE_SIZE,TYPE_ALIGN)                               
\
Index: pkg/DESCR
===================================================================
RCS file: /d/cvs/ports/devel/ffcall/pkg/DESCR,v
retrieving revision 1.2
diff -u -p -r1.2 DESCR
--- pkg/DESCR   15 Dec 2003 21:42:18 -0000      1.2
+++ pkg/DESCR   30 Jun 2017 09:00:10 -0000
@@ -10,5 +10,5 @@ The four packages are:
     trampoline - closures as first-class C functions
 
     callback - closures with variable arguments as first-class C
-               functions (a reentrant combination of vacall and 
+               functions (a reentrant combination of vacall and
               trampoline)
Index: pkg/PLIST
===================================================================
RCS file: /d/cvs/ports/devel/ffcall/pkg/PLIST,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST
--- pkg/PLIST   16 Mar 2015 18:07:40 -0000      1.3
+++ pkg/PLIST   30 Jun 2017 08:20:32 -0000
@@ -12,6 +12,8 @@ lib/libcallback.a
 lib/libcallback.la
 @lib lib/libcallback.so.${LIBcallback_VERSION}
 lib/libtrampoline.a
+lib/libtrampoline.la
+@lib lib/libtrampoline.so.${LIBtrampoline_VERSION}
 lib/libvacall.a
 @man man/man3/avcall.3
 @man man/man3/callback.3

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to