Friday, June 30, 2017

Re: [update] libffcall-1.13 (tests wanted on multiple archs)

Jeremie Courreges-Anglas <jca@wxcvbn.org> writes:

> 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?


Updated diff that copes with the renaming of cl_cv_c_struct_return_small
to ffcall_cv_c_struct_return_small. Someone with a sparc64 at hand
could delete the sparc64-specific hack in the Makefile and check that
everything still works fine.


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 15:04:38 -0000
@@ -1,27 +1,30 @@
# $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
+CONFIGURE_ENV += ffcall_cv_c_struct_return_small=yes
.endif

FAKE_FLAGS= htmldir="\$$(datadir)/doc/ffcall/html"
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");
-

No comments:

Post a Comment