--- Begin Message ---
Package: src:ffcall
Version: 1.10+cvs20100619-4
Severity: normal
Tags: patch pending
Dear maintainer,
I've prepared diff for a NMU for ffcall (versioned as 1.13-0+nmu1) in the
attached patch but feel free to use the patch as you want.
The goal was initially to fix the FTBFS impacting mlpcap on ppc64el
https://buildd.debian.org/status/fetch.php?pkg=mlpcap&arch=ppc64el&ver=0.9-16&stamp=1485552538&raw=0
config.log would show :
configure:4214: gcc -o conftest -g -O2
-fdebug-prefix-map=/build/mlpcap-gmmM7n/mlpcap-0.9=. -fstack-protector-strong
-Wformat -Werror=format-security -fPIC -Wdate-time -D_FORTIFY_SOURCE=2
-Wl,-z,relro conftest.
c -lcallback -lpcap >&5
/usr/lib/gcc/powerpc64le-linux-gnu/6/../../../powerpc64le-linux-gnu/libcallback.so:
undefined reference to `tramp_r'
But this upload could fix other bugs as well.
Looking at ffcal upstream, I see that there a much newer version of ffcall
namely
1.13 which contains amongst other ppc64el improvements which fixed the build
of mlpcap (tested).
I tried to change the bare minimum of the packaging so that we have something
close
to 1.10+cvs20100619-4 but still building. Here are the changes I made :
debian/patches : I've updated fix-powerpcspe.patch, and Fix_MIPS_N32_test.patch
: please
review them.
I've disabled ppc64el-elfv2.patch as ppc64el support should be
good in 1.13.
I've also commented 0001-fix-callback-on-x86_64.patch as it
should be
fixed upstream :
https://www.bountysource.com/issues/20684153-segfault
debian/rules : autoreconf failed as is, so I added gnulib-m4 to aclocal path
and removed
skipping of libtoolize.
debian/libffcall1.symbols : some symbols seem local (__*) so no need to check
them I
think. There were some new additions.
debian/watch : I updated the repo URL which seemed to not work anymore at all
(server not found)
I hope that helps, let me know if things need to be improved.
Regards.
diff -baupr ./ffcall-1.10+cvs20100619/debian/changelog
./ffcall-1.13/debian/changelog
--- ./ffcall-1.10+cvs20100619/debian/changelog 2016-05-18 15:38:55.000000000
+0000
+++ ./ffcall-1.13/debian/changelog 2017-07-10 13:12:33.342511211 +0000
@@ -1,3 +1,10 @@
+ffcall (1.13-0+nmu1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * New upstream release.
+
+ -- Frédéric Bonnard <[email protected]> Mon, 03 Jul 2017 13:00:38
+0000
+
ffcall (1.10+cvs20100619-4) unstable; urgency=medium
[ Fernando Seiti Furusato ]
diff -baupr ./ffcall-1.10+cvs20100619/debian/libffcall1.symbols
./ffcall-1.13/debian/libffcall1.symbols
--- ./ffcall-1.10+cvs20100619/debian/libffcall1.symbols 2016-05-18
15:38:55.000000000 +0000
+++ ./ffcall-1.13/debian/libffcall1.symbols 2017-07-10 13:16:18.175743648
+0000
@@ -1,16 +1,17 @@
libavcall.so.0 libffcall1 #MINVER#
__builtin_avcall@Base 1.10+2.41
- __structcpy@Base 1.10+2.41
+ avcall_structcpy@Base 1.13
libcallback.so.0 libffcall1 #MINVER#
(arch=alpha arm powerpc armel hppa)__TR_clear_cache@Base 1.10+2.41
+ (arch=ppc64el)__TR_clear_cache@Base 1.13
(arch=sparc)__TR_clear_cache_2@Base 1.10+2.41
- __structcpy@Base 1.10+2.41
- __va_error1@Base 1.10+2.41
- __va_error2@Base 1.10+2.41
- __va_struct_buffer@Base 1.10+2.41
- __vacall_r@Base 1.10+2.41
+ callback_structcpy@Base 1.13
alloc_trampoline_r@Base 1.10+2.41
free_trampoline_r@Base 1.10+2.41
+ get__vacall_r@Base 1.13
+ glthread_once_singlethreaded@Base 1.13
+ glthread_recursive_lock_init_multithreaded@Base 1.13
+ glthread_rwlock_init_for_glibc@Base 1.13
is_trampoline_r@Base 1.10+2.41
(arch=hppa ia64)tramp_r@Base 1.10+2.41
trampoline_r_address@Base 1.10+2.41
Only in ./ffcall-1.10+cvs20100619/debian/patches:
0001-fix-callback-on-x86_64.patch
diff -baupr ./ffcall-1.10+cvs20100619/debian/patches/Fix_MIPS_N32_test.patch
./ffcall-1.13/debian/patches/Fix_MIPS_N32_test.patch
--- ./ffcall-1.10+cvs20100619/debian/patches/Fix_MIPS_N32_test.patch
2016-05-18 15:38:55.000000000 +0000
+++ ./ffcall-1.13/debian/patches/Fix_MIPS_N32_test.patch 2017-07-10
15:26:44.740188692 +0000
@@ -2,18 +2,79 @@ Description: Fix MIPS N32 test
Author: James Cowgill <[email protected]>
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/m4/general.m4
-+++ b/m4/general.m4
-@@ -97,11 +97,8 @@ dnl We should also check for (_MIPS_SZPT
- if test $ffcall_cv_host_mips64 = yes; then
- host_cpu_abi=mips64
- else
--dnl Strictly speaking, the MIPS ABI (-32 or -n32) is independent from the CPU
--dnl identification (-mips[12] or -mips[34]). But -n32 is commonly used
together
--dnl with -mips3, and it's easier to test the CPU identification.
- FFCALL_SET_CPU_ABI([MIPS with n32 ABI], ffcall_cv_host_mipsn32,
-- [__mips >= 3], mipsn32, mips)
-+ [defined(_ABIN32) && (_MIPS_SIM == _ABIN32)], mipsn32, mips)
- fi
- ;;
- dnl On powerpc64 systems, the C compiler may still be generating 32-bit code.
+Index: ffcall-1.13/gnulib-m4/host-cpu-c-abi.m4
+===================================================================
+--- ffcall-1.13.orig/gnulib-m4/host-cpu-c-abi.m4 2017-06-24
08:48:11.000000000 +0000
++++ ffcall-1.13/gnulib-m4/host-cpu-c-abi.m4 2017-07-10 14:25:16.832623738
+0000
+@@ -151,7 +151,7 @@
+ # is commonly used together with -mips3, and it's easier to test
+ # the CPU identification.
+ AC_EGREP_CPP([yes],
+- [#if __mips >= 3
++ [#if defined(_ABIN32) && (_MIPS_SIM == _ABIN32)
+ yes
+ #endif],
+ [gl_cv_host_cpu_c_abi=mipsn32],
+Index: ffcall-1.13/avcall/avcall-mipseb-macro.S
+===================================================================
+--- ffcall-1.13.orig/avcall/avcall-mipseb-macro.S 2017-06-24
08:48:01.000000000 +0000
++++ ffcall-1.13/avcall/avcall-mipseb-macro.S 2017-07-10 14:51:56.722057946
+0000
+@@ -387,7 +387,7 @@
+ .set noreorder
+ .set nomacro
+ b $L14
+- swc1 $f1,0($2)
++ swc1 $f2,0($2)
+ .set macro
+ .set reorder
+
+Index: ffcall-1.13/vacall/vacall-mipseb-macro.S
+===================================================================
+--- ffcall-1.13.orig/vacall/vacall-mipseb-macro.S 2017-06-24
08:48:04.000000000 +0000
++++ ffcall-1.13/vacall/vacall-mipseb-macro.S 2017-07-10 15:15:03.039530179
+0000
+@@ -28,9 +28,9 @@
+ sw $6,104($fp)
+ sw $7,108($fp)
+ swc1 $f12,76($fp)
+- swc1 $f13,72($fp)
++ swc1 $f26,72($fp)
+ swc1 $f14,84($fp)
+- swc1 $f15,80($fp)
++ swc1 $f30,80($fp)
+ swc1 $f12,64($fp)
+ swc1 $f14,68($fp)
+ sw $0,24($fp)
+@@ -231,7 +231,7 @@
+
+ $L51:
+ lwc1 $f0,52($fp)
+- lwc1 $f1,48($fp)
++ lwc1 $f2,48($fp)
+ .set noreorder
+ .set nomacro
+ b $L54
+Index: ffcall-1.13/callback/vacall_r/vacall-mipseb-macro.S
+===================================================================
+--- ffcall-1.13.orig/callback/vacall_r/vacall-mipseb-macro.S 2017-06-24
08:48:05.000000000 +0000
++++ ffcall-1.13/callback/vacall_r/vacall-mipseb-macro.S 2017-07-10
15:26:41.704116740 +0000
+@@ -29,9 +29,9 @@
+ addiu $5,$fp,24
+ sw $7,108($fp)
+ swc1 $f12,76($fp)
+- swc1 $f13,72($fp)
++ swc1 $f26,72($fp)
+ swc1 $f14,84($fp)
+- swc1 $f15,80($fp)
++ swc1 $f30,80($fp)
+ swc1 $f12,64($fp)
+ swc1 $f14,68($fp)
+ sw $0,24($fp)
+@@ -230,7 +230,7 @@
+
+ $L51:
+ lwc1 $f0,52($fp)
+- lwc1 $f1,48($fp)
++ lwc1 $f2,48($fp)
+ .set noreorder
+ .set nomacro
+ b $L54
diff -baupr ./ffcall-1.10+cvs20100619/debian/patches/fix-powerpcspe.patch
./ffcall-1.13/debian/patches/fix-powerpcspe.patch
--- ./ffcall-1.10+cvs20100619/debian/patches/fix-powerpcspe.patch
2016-05-18 15:38:55.000000000 +0000
+++ ./ffcall-1.13/debian/patches/fix-powerpcspe.patch 2017-07-10
12:02:02.138172476 +0000
@@ -1,15 +1,19 @@
---- ffcall-1.10+cvs20100619.orig/avcall/Makefile.in
-+++ ffcall-1.10+cvs20100619/avcall/Makefile.in
-@@ -127,6 +127,7 @@ avcall-powerpc.lo : $(srcdir)/avcall-pow
+Index: ffcall-1.13/avcall/Makefile.in
+===================================================================
+--- ffcall-1.13.orig/avcall/Makefile.in 2017-07-10 11:57:09.259329724
+0000
++++ ffcall-1.13/avcall/Makefile.in 2017-07-10 11:59:28.642585519 +0000
+@@ -140,6 +140,7 @@
+ avcall-powerpc.s : $(srcdir)/avcall-powerpc-aix.s
$(srcdir)/avcall-powerpc-linux-macro.S $(srcdir)/avcall-powerpc-macos.s
$(srcdir)/avcall-powerpc-sysv4-macro.S
case "$(OS)" in \
- aix3*) syntax=aix.old;; \
- aix*) syntax=aix.new;; \
+ aix*) syntax=aix;; \
+ linux-gnuspe) syntax=linux-gnuspe;; \
- linux* | netbsd*) syntax=linux;; \
+ linux* | netbsd* | openbsd*) syntax=linux;; \
macos* | darwin*) syntax=macos;; \
*) syntax=sysv4;; \
---- /dev/null
-+++ ffcall-1.10+cvs20100619/avcall/avcall-powerpc-linux-gnuspe.s
+Index: ffcall-1.13/avcall/avcall-powerpc-linux-gnuspe.s
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ ffcall-1.13/avcall/avcall-powerpc-linux-gnuspe.s 2017-07-10
11:57:09.255329630 +0000
@@ -0,0 +1,241 @@
+ .file "avcall-powerpc.c"
+gcc2_compiled.:
@@ -252,8 +256,10 @@
+.Lfe1:
+ .size __builtin_avcall,.Lfe1-__builtin_avcall
+ .ident "GCC: (GNU) 2.95.2 19991024 (release/franzo)"
---- /dev/null
-+++ ffcall-1.10+cvs20100619/vacall/vacall-powerpc-linux-gnuspe.s
+Index: ffcall-1.13/vacall/vacall-powerpc-linux-gnuspe.s
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ ffcall-1.13/vacall/vacall-powerpc-linux-gnuspe.s 2017-07-10
11:57:09.255329630 +0000
@@ -0,0 +1,149 @@
+ .file "vacall-powerpc.c"
+gcc2_compiled.:
@@ -404,18 +410,10 @@
+.Lfe1:
+ .size __vacall,.Lfe1-__vacall
+ .ident "GCC: (GNU) 2.95.2 19991024 (release/franzo)"
---- ffcall-1.10+cvs20100619.orig/vacall/Makefile.in
-+++ ffcall-1.10+cvs20100619/vacall/Makefile.in
-@@ -115,6 +115,7 @@ vacall-powerpc.o : $(srcdir)/vacall-powe
- case "$(OS)" in \
- aix3*) syntax=aix.old;; \
- aix*) syntax=aix.new;; \
-+ linux-gnuspe) syntax=linux-gnuspe;; \
- linux* | netbsd*) syntax=linux;; \
- macos* | darwin*) syntax=macos;; \
- *) syntax=sysv4;; \
---- /dev/null
-+++ ffcall-1.10+cvs20100619/callback/vacall_r/vacall-powerpc-linux-gnuspe.s
+Index: ffcall-1.13/callback/vacall_r/vacall-powerpc-linux-gnuspe.s
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ ffcall-1.13/callback/vacall_r/vacall-powerpc-linux-gnuspe.s
2017-07-10 11:57:09.259329724 +0000
@@ -0,0 +1,149 @@
+ .file "vacall-powerpc.c"
+gcc2_compiled.:
@@ -566,13 +564,27 @@
+.Lfe1:
+ .size __vacall_r,.Lfe1-__vacall_r
+ .ident "GCC: (GNU) 2.95.2 19991024 (release/franzo)"
---- ffcall-1.10+cvs20100619.orig/callback/vacall_r/Makefile.in
-+++ ffcall-1.10+cvs20100619/callback/vacall_r/Makefile.in
-@@ -128,6 +128,7 @@ vacall-powerpc.lo : $(srcdir)/vacall-pow
+Index: ffcall-1.13/callback/vacall_r/Makefile.in
+===================================================================
+--- ffcall-1.13.orig/callback/vacall_r/Makefile.in 2017-07-10
11:57:09.259329724 +0000
++++ ffcall-1.13/callback/vacall_r/Makefile.in 2017-07-10 12:01:59.450109643
+0000
+@@ -140,6 +140,7 @@
+ vacall-powerpc.s : $(srcdir)/vacall-powerpc-aix.s
$(srcdir)/vacall-powerpc-linux-macro.S $(srcdir)/vacall-powerpc-macos.s
$(srcdir)/vacall-powerpc-sysv4-macro.S
case "$(OS)" in \
- aix3*) syntax=aix.old;; \
- aix*) syntax=aix.new;; \
+ aix*) syntax=aix;; \
+ linux-gnuspe) syntax=linux-gnuspe;; \
- linux*) syntax=linux;; \
+ linux* | netbsd* | openbsd*) syntax=linux;; \
macos* | darwin*) syntax=macos;; \
- netbsd*) syntax=netbsd;; \
+ *) syntax=sysv4;; \
+Index: ffcall-1.13/vacall/Makefile.in
+===================================================================
+--- ffcall-1.13.orig/vacall/Makefile.in 2017-07-10 11:57:09.259329724
+0000
++++ ffcall-1.13/vacall/Makefile.in 2017-07-10 12:00:05.635450045 +0000
+@@ -131,6 +131,7 @@
+ vacall-powerpc.s : $(srcdir)/vacall-powerpc-aix.s
$(srcdir)/vacall-powerpc-linux-macro.S $(srcdir)/vacall-powerpc-macos.s
$(srcdir)/vacall-powerpc-sysv4-macro.S
+ case "$(OS)" in \
+ aix*) syntax=aix;; \
++ linux-gnuspe) syntax=linux-gnuspe;; \
+ linux* | netbsd* | openbsd*) syntax=linux;; \
+ macos* | darwin*) syntax=macos;; \
+ *) syntax=sysv4;; \
Only in ./ffcall-1.10+cvs20100619/debian/patches: ppc64el-elfv2.patch
diff -baupr ./ffcall-1.10+cvs20100619/debian/patches/series
./ffcall-1.13/debian/patches/series
--- ./ffcall-1.10+cvs20100619/debian/patches/series 2016-05-18
15:38:55.000000000 +0000
+++ ./ffcall-1.13/debian/patches/series 2017-07-11 09:06:20.857225454 +0000
@@ -1,4 +1,2 @@
fix-powerpcspe.patch
-0001-fix-callback-on-x86_64.patch
-ppc64el-elfv2.patch
Fix_MIPS_N32_test.patch
diff -baupr ./ffcall-1.10+cvs20100619/debian/rules ./ffcall-1.13/debian/rules
--- ./ffcall-1.10+cvs20100619/debian/rules 2017-07-03 12:35:49.321873014
+0000
+++ ./ffcall-1.13/debian/rules 2017-07-10 12:50:02.194715249 +0000
@@ -5,8 +5,7 @@
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
-export ACLOCAL = aclocal -I$(CURDIR)/m4
-export LIBTOOLIZE = true
+export ACLOCAL = aclocal -I$(CURDIR)/m4 -I$(CURDIR)/gnulib-m4
export DEB_BUILD_MAINT_OPTIONS = hardening=-all
%:
diff -baupr ./ffcall-1.10+cvs20100619/debian/watch ./ffcall-1.13/debian/watch
--- ./ffcall-1.10+cvs20100619/debian/watch 2017-07-11 09:17:00.067952436
+0000
+++ ./ffcall-1.13/debian/watch 2017-07-11 09:16:52.435776370 +0000
@@ -1,2 +1,2 @@
version=2
-ftp://ftp.santafe.edu/pub/gnu/ffcall-(.*).tar.gz
+https://ftp.gnu.org/gnu/libffcall/libffcall-(.*).tar.gz
pgp39tHxxAFfJ.pgp
Description: PGP signature
--- End Message ---