diff -Nru clisp-2.49.20170913/debian/changelog clisp-2.49.20170913/debian/changelog --- clisp-2.49.20170913/debian/changelog 2017-11-03 19:11:05.000000000 +0000 +++ clisp-2.49.20170913/debian/changelog 2017-11-27 16:09:11.000000000 +0000 @@ -1,8 +1,18 @@ -clisp (1:2.49.20170913-3ubuntu1) bionic; urgency=medium +clisp (1:2.49.20170913-4) unstable; urgency=medium - * glibc-2.26.patch: Stop wrapping cfree, which isn't present in glibc-2.26 + * Always build with FFI. + ffcall now builds and passes testsuite on all release architectures and most + non-release ones. (Closes: #385490) + * glibc-2.26.patch: new patch, fixes FTBFS against glibc 2.26. + (Closes: #880686) + * On mipsel, re-enable -O2 optimization. + But add -fno-split-wide-types to avoid FTBFS (still need to determine + whether it is a compiler bug or a wrong assumption of clisp). + * No longer directly set DEB_HOST_ARCH (use /usr/include/dpkg/architecture.mk) + * Drop common-lisp-controller (CLC) integration. + * Drop obsolete preinst script. - -- Adam Conrad Fri, 03 Nov 2017 13:11:05 -0600 + -- Sébastien Villemot Mon, 27 Nov 2017 17:09:11 +0100 clisp (1:2.49.20170913-3) unstable; urgency=medium diff -Nru clisp-2.49.20170913/debian/clisp.install clisp-2.49.20170913/debian/clisp.install --- clisp-2.49.20170913/debian/clisp.install 2017-10-20 20:21:27.000000000 +0000 +++ clisp-2.49.20170913/debian/clisp.install 2017-11-27 09:03:57.000000000 +0000 @@ -1,5 +1,4 @@ usr/bin/clisp -usr/lib/clisp-*/install-clc.lisp usr/lib/clisp-*/data usr/lib/clisp-*/base/lispinit.mem usr/lib/clisp-*/base/lisp.run diff -Nru clisp-2.49.20170913/debian/control clisp-2.49.20170913/debian/control --- clisp-2.49.20170913/debian/control 2017-11-03 19:11:05.000000000 +0000 +++ clisp-2.49.20170913/debian/control 2017-11-27 09:08:50.000000000 +0000 @@ -1,8 +1,7 @@ Source: clisp Section: lisp Priority: optional -Maintainer: Ubuntu Developers -XSBC-Original-Maintainer: Debian Common Lisp Team +Maintainer: Debian Common Lisp Team Uploaders: Peter Van Eynde , Christoph Egger , Sébastien Villemot @@ -20,12 +19,12 @@ libreadline-gplv2-dev, dh-lisp (>= 0.7.1), libdb-dev, - libffcall1-dev, + libffcall-dev, libgdbm-dev, - libpq-dev [alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64], + libpq-dev, libpcre3-dev, - libdbus-1-dev [alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64], - zlib1g-dev [alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64] + libdbus-1-dev, + zlib1g-dev Build-Conflicts: libsigsegv-dev (<= 2.8), libreadline6-dev Standards-Version: 4.1.1 Homepage: http://www.clisp.org/ @@ -112,14 +111,14 @@ libpcre which implements Perl-compatible regular expressions. Package: clisp-module-bindings-glibc -Architecture: alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64 +Architecture: any Depends: ${shlibs:Depends}, clisp (= ${binary:Version}), ${misc:Depends} Description: clisp module that adds the glibc bindings This adds a module to clisp that implements an interface to the glibc library, adding support for a number of low level functions. Package: clisp-module-postgresql -Architecture: alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64 +Architecture: any Depends: ${shlibs:Depends}, clisp (= ${binary:Version}), ${misc:Depends} Description: clisp module that adds a PostgreSQL interface This adds a module to clisp that implements an interface to the @@ -140,7 +139,7 @@ socket interfaces. Package: clisp-module-dbus -Architecture: alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64 +Architecture: any Depends: ${shlibs:Depends}, clisp (= ${binary:Version}), ${misc:Depends} Description: clisp module that adds an interface to D-Bus This adds a module to clisp that implements an interface to the @@ -154,7 +153,7 @@ GNU DBM. Package: clisp-module-zlib -Architecture: alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64 +Architecture: any Depends: ${shlibs:Depends}, clisp (= ${binary:Version}), ${misc:Depends} Description: clisp module that adds zlib support for vectors This adds a module to clisp that implements a zlib interface, diff -Nru clisp-2.49.20170913/debian/install-clc.lisp clisp-2.49.20170913/debian/install-clc.lisp --- clisp-2.49.20170913/debian/install-clc.lisp 2017-10-20 19:46:03.000000000 +0000 +++ clisp-2.49.20170913/debian/install-clc.lisp 1970-01-01 00:00:00.000000000 +0000 @@ -1,17 +0,0 @@ -;;;; -*- Mode: Lisp; Package: CL-USER -*- -;;;; Copyright (c) 2004 Kevin M. Rosenberg -;;;; GNU GPL v2 license - -(in-package #:cl-user) - -(handler-case - (load "/usr/share/common-lisp/source/common-lisp-controller/common-lisp-controller.lisp") - (error (e) - (format t "Error during loading of common-lisp-controller.lisp: ~A~%" e) - (error e))) - -(handler-case - (common-lisp-controller:init-common-lisp-controller-v4 "clisp") - (error (e) - (format t "Error during init-common-lisp-controller-v4: ~A~%" e) - (error e))) diff -Nru clisp-2.49.20170913/debian/patches/arm-sf.patch clisp-2.49.20170913/debian/patches/arm-sf.patch --- clisp-2.49.20170913/debian/patches/arm-sf.patch 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/arm-sf.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,874 +0,0 @@ -Description: Added SF patch - See: - http://sourceforge.net/tracker/index.php?func=detail&aid=3529615&group_id=1355&atid=301355 -Author: Tom Vijlbrief - ---- -The information above should follow the Patch Tagging Guidelines, please -checkout http://dep.debian.net/deps/dep3/ to learn about the format. Here -are templates for supplementary fields that you might want to add: - -Origin: , -Bug: -Bug-Debian: http://bugs.debian.org/ -Bug-Ubuntu: https://launchpad.net/bugs/ -Forwarded: -Reviewed-By: -Last-Update: - ---- clisp-2.49.orig/src/ariarm.d -+++ clisp-2.49/src/ariarm.d -@@ -86,7 +86,7 @@ pc .req r15 - - #define C(x) x - #define EXPORT(x) .global x --#define GLABEL(x) x: -+#define GLABEL(x) .type x STT_FUNC; x: - #define LABEL(x) x: - #define RRX rrx - #define END -@@ -187,7 +187,7 @@ GLABEL(mulu32_) - LDR a3,[pc,#ptr_mulu32_high-.-8] - STR a2,[a3,#0] - #endif -- MOVS pc,lr -+ BX lr - - /* extern uint16 divu_3216_1616_ (uint32 x, uint16 y); - entry -@@ -243,7 +243,7 @@ GLABEL(divu_3216_1616_) - LDR a3,[pc,#ptr_divu_16_rest-.-8] /* save rest so can be picked up later */ - STR a2,[a3,#0] /* the result is 16 bits */ - #endif -- MOVS pc, lr -+ BX lr - - /* extern uint32 divu_6432_3232_ (uint32 xhi, uint32 xlo, uint32 y); | -> Quotient q - extern uint32 divu_32_rest; | -> Rest r -@@ -278,7 +278,7 @@ GLABEL(divu_6432_3232_) - LDR a4,[pc,#ptr_divu_32_rest-.-8] - STR a2,[a4,#0] /* divu_32_rest = remainder */ - #endif -- LDMFD sp!, {v1,v2,v3,v4,v5,v6,pc}^ -+ LDMFD sp!, {v1,v2,v3,v4,v5,v6,pc} - - LABEL(divu_6432_3232_l1) - MOV v3, #0 /* s = 0 */ -@@ -346,7 +346,7 @@ LABEL(divu_6432_3232_l1) - LDR a3,[pc,#ptr_divu_32_rest-.-8] - STR a2,[a3,#0] /* divu_32_rest = remainder */ - #endif -- LDMFD sp!, {v1,v2,v3,v4,v5,v6,pc}^ -+ LDMFD sp!, {v1,v2,v3,v4,v5,v6,pc} - - /* extern uintD* copy_loop_up (uintD* sourceptr, uintD* destptr, uintC count); - entry -@@ -370,7 +370,7 @@ GLABEL(copy_loop_up) - LABEL(copy_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,a2 /* return addr of last word stored */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1,lr} /* save work regs */ - LABEL(copy_loop_up_l2) - LDMIA a1!,{a3,v1,ip,lr} /* copy 4 words in one go */ -@@ -380,7 +380,7 @@ LABEL(copy_loop_up_l2) - STMGEIA a2!,{a3,v1,ip,lr} /* 4 more words */ - BGT copy_loop_up_l2 /* and loop */ - MOV a1,a2 /* return addr of last word stored */ -- LDMFD sp!,{v1,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return */ - - /* extern uintD* copy_loop_down (uintD* sourceptr, uintD* destptr, uintC count); - entry -@@ -404,7 +404,7 @@ GLABEL(copy_loop_down) - LABEL(copy_loop_down_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,a2 /* return addr of last word stored */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1,lr} /* save work regs */ - LABEL(copy_loop_down_l2) - LDMDB a1!,{a3,v1,ip,lr} /* copy 4 words in one go */ -@@ -414,7 +414,7 @@ LABEL(copy_loop_down_l2) - STMGEDB a2!,{a3,v1,ip,lr} /* 4 more words */ - BGT copy_loop_down_l2 /* and loop */ - MOV a1,a2 /* return addr of last word stored */ -- LDMFD sp!,{v1,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return */ - - /* extern uintD* clear_loop_up (uintD* destptr, uintC count); - entry -@@ -446,7 +446,7 @@ GLABEL(fill_loop_up) - STRGT a3,[a1],#4 - LABEL(fill_loop_up_l1) - BICS a4,a2,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1,lr} /* save work regs */ - MOV v1,a3 /* copy filler to three other */ - MOV ip,a3 /* registers */ -@@ -456,7 +456,7 @@ LABEL(fill_loop_up_l2) - SUBS a4,a4,#8 /* decrement counter by 8 */ - STMGEIA a1!,{a3,v1,ip,lr} /* if count still positive then store 4 */ - BGT fill_loop_up_l2 /* more and loop */ -- LDMFD sp!,{v1,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return */ - - - /* extern uintD* clear_loop_down (uintD* destptr, uintC count); -@@ -489,7 +489,7 @@ GLABEL(fill_loop_down) - STRGT a3,[a1,#-4]! - LABEL(fill_loop_down_l1) - BICS a4,a2,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1,lr} /* save work regs */ - MOV v1,a3 /* copy filler to three other */ - MOV ip,a3 /* registers */ -@@ -499,7 +499,7 @@ LABEL(fill_loop_down_l2) - SUBS a4,a4,#8 /* decrement counter by 8 */ - STMGEDB a1!,{a3,v1,ip,lr} /* if count still positive then store 4 */ - BGT fill_loop_down_l2 /* more and loop */ -- LDMFD sp!,{v1,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return */ - - /* extern void or_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -529,7 +529,7 @@ GLABEL(or_loop_up) - STRGT ip,[a1],#4 - LABEL(or_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(or_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -541,7 +541,7 @@ LABEL(or_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT or_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void xor_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -571,7 +571,7 @@ GLABEL(xor_loop_up) - STRGT ip,[a1],#4 - LABEL(xor_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(xor_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -583,7 +583,7 @@ LABEL(xor_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT xor_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void and_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -613,7 +613,7 @@ GLABEL(and_loop_up) - STRGT ip,[a1],#4 - LABEL(and_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(and_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -625,7 +625,7 @@ LABEL(and_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT and_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void eqv_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -659,7 +659,7 @@ GLABEL(eqv_loop_up) - STRGT ip,[a1],#4 - LABEL(eqv_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(eqv_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -675,7 +675,7 @@ LABEL(eqv_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT eqv_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void nand_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -709,7 +709,7 @@ GLABEL(nand_loop_up) - STRGT ip,[a1],#4 - LABEL(nand_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(nand_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -725,7 +725,7 @@ LABEL(nand_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT nand_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void nor_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -759,7 +759,7 @@ GLABEL(nor_loop_up) - STRGT ip,[a1],#4 - LABEL(nor_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(nor_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -775,7 +775,7 @@ LABEL(nor_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT nor_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void andc2_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -805,7 +805,7 @@ GLABEL(andc2_loop_up) - STRGT ip,[a1],#4 - LABEL(andc2_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(andc2_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -817,7 +817,7 @@ LABEL(andc2_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT andc2_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void orc2_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -851,7 +851,7 @@ GLABEL(orc2_loop_up) - STRGT ip,[a1],#4 - LABEL(orc2_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(orc2_loop_up_l2) - LDMIA a2!,{a3,v1,v2,ip} /* load 4 words in one go */ -@@ -867,7 +867,7 @@ LABEL(orc2_loop_up_l2) - STMIA a1!,{v3,v4,v5,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT orc2_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern void not_loop_up (uintD* xptr, uintC count); - entry -@@ -893,7 +893,7 @@ GLABEL(not_loop_up) - STRGT a3,[a1],#4 - LABEL(not_loop_up_l1) - BICS a4,a2,#3 /* set counter to multiple of 4 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{lr} /* save work regs */ - LABEL(not_loop_up_l2) - LDMIA a1,{a2,a3,ip,lr} /* load 4 words in one go,NO writeback */ -@@ -904,7 +904,7 @@ LABEL(not_loop_up_l2) - STMIA a1!,{a2,a3,ip,lr} /* store 4 results */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT not_loop_up_l2 /* if count still positive then loop */ -- LDMFD sp!,{pc}^ /* restore work regs and return */ -+ LDMFD sp!,{pc} /* restore work regs and return */ - - /* extern void and_test_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -923,13 +923,13 @@ GLABEL(and_test_loop_up) - LDR ip,[a1],#4 /* to align the total to a multiple */ - TST ip,a4 /* of 4 words */ - MOVNE a1,#1 /* return true if AND_TEST ok */ -- MOVNES pc,lr -+ BXNE lr - BCC and_test_loop_up_l1 /* better to branch than skip instrs. */ - LDRGE a4,[a2],#4 - LDRGE ip,[a1],#4 - TSTGE ip,a4 - MOVNE a1,#1 -- MOVNES pc,lr -+ BXNE lr - ANDS a4,a3,#3 - CMP a4,#2 - BLE and_test_loop_up_l1 /* better to branch than skip instrs. */ -@@ -937,11 +937,11 @@ GLABEL(and_test_loop_up) - LDRGT ip,[a1],#4 - TSTGT ip,a4 - MOVNE a1,#1 -- MOVNES pc,lr -+ BXNE lr - LABEL(and_test_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,#0 /* return false */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v6,lr} /* save work regs */ - MOV v6,a1 /* move xptr to v6 */ - MOV a1,#1 /* set result to true */ -@@ -952,11 +952,11 @@ LABEL(and_test_loop_up_l2) - TSTEQ v4,v1 - TSTEQ v5,v2 - TSTEQ lr,ip -- LDMNEFD sp!,{v1-v6,pc}^ -+ LDMNEFD sp!,{v1-v6,pc} - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT and_test_loop_up_l2 /* if count still positive then loop */ - MOV a1,#0 -- LDMFD sp!,{v1-v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v6,pc} /* restore work regs and return */ - - /* extern void test_loop_up (uintD* xptr, uintC count); - entry -@@ -973,21 +973,21 @@ GLABEL(test_loop_up) - BEQ test_loop_up_l1 /* yup, so branch */ - LDR a4,[ip],#4 /* TEST the first 1-3 words */ - TEQ a4,#0 /* align the total to a multiple of 4 */ -- MOVNES pc,lr /* return true if AND_TEST ok */ -+ BXNE lr /* return true if AND_TEST ok */ - CMP a3,#2 - BLT test_loop_up_l1 /* need to branch 'cos PSR set */ - LDRGE a4,[ip],#4 /* when checking against zero */ - TEQGE a4,#0 -- MOVNES pc,lr -+ BXNE lr - CMP a3,#2 - BLE test_loop_up_l1 /* need to branch 'cos PSR set */ - LDRGT a4,[ip],#4 /* when checking against zero */ - TEQGT a4,#0 -- MOVNES pc,lr -+ BXNE lr - LABEL(test_loop_up_l1) - BICS a4,a2,#3 /* set counter to multiple of 4 */ - MOVEQ a1,#0 /* return false */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1,lr} /* save work regs */ - LABEL(test_loop_up_l2) - LDMIA ip!,{a2,a3,v1,lr} /* load 4 words in one go */ -@@ -995,11 +995,11 @@ LABEL(test_loop_up_l2) - TEQEQ a3,#0 - TEQEQ v1,#0 - TEQEQ lr,#0 -- LDMNEFD sp!,{v1,pc}^ -+ LDMNEFD sp!,{v1,pc} - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT test_loop_up_l2 /* if count still positive then loop */ - MOV a1,#0 -- LDMFD sp!,{v1,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return */ - - /* extern void compare_loop_up (uintD* xptr, uintD* yptr, uintC count); - entry -@@ -1021,7 +1021,7 @@ GLABEL(compare_loop_up) - CMP ip,a4 /* of 4 words */ - MVNLO a1,#0 /* x < y -> -1 */ - MOVHI a1,#1 /* x > y -> +1 */ -- MOVNES pc,lr /* and return result if not equal */ -+ BXNE lr /* and return result if not equal */ - ANDS a4,a3,#3 - CMP a4,#2 - BLT compare_loop_up_l1 /* need to branch 'cos PSR used */ -@@ -1030,7 +1030,7 @@ GLABEL(compare_loop_up) - CMP ip,a4 - MVNLO a1,#0 - MOVHI a1,#1 -- MOVNES pc,lr -+ BXNE lr - ANDS a4,a3,#3 - CMP a4,#2 - BLE compare_loop_up_l1 /* need to branch 'cos PSR used */ -@@ -1039,11 +1039,11 @@ GLABEL(compare_loop_up) - CMP ip,a4 - MVNLO a1,#0 - MOVHI a1,#1 -- MOVNES pc,lr -+ BXNE lr - LABEL(compare_loop_up_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,#0 /* xptr[] == yptr[] -> 0 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v6,lr} /* save work regs */ - MOV v6,a1 /* move xptr to v6 */ - MOV a1,#1 /* set result to +1 */ -@@ -1055,11 +1055,11 @@ LABEL(compare_loop_up_l2) - CMPEQ v5,v2 - CMPEQ lr,ip - MVNLO a1,#0 /* x < y -> -1 (a1 already holds +1) */ -- LDMNEFD sp!,{v1-v6,pc}^ -+ LDMNEFD sp!,{v1-v6,pc} - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT compare_loop_up_l2 /* if count still positive then loop */ - MOV a1,#0 -- LDMFD sp!,{v1-v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v6,pc} /* restore work regs and return */ - - /* extern uintD addto_loop_down (uintD* sourceptr, uintD* destptr, uintC count); - entry -@@ -1111,11 +1111,11 @@ LABEL(add_loop_down_l0) /* at l - BICS a4,a4,#3 /* set counter to multiple of 4 */ - BNE add_loop_down_l3 /* branch if more adds to do */ - ADCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMEQFD sp!,{v6,pc}^ /* and return */ -+ LDMEQFD sp!,{v6,pc} /* and return */ - LABEL(add_loop_down_l1) - BICS a4,a4,#3 /* set counter to multiple of 4 */ - MOVEQ a1,#0 /* no adds, so C = 0 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - CMN a4,#0 /* clear carry bit */ - STMFD sp!,{v6,lr} - LABEL(add_loop_down_l3) -@@ -1132,7 +1132,7 @@ LABEL(add_loop_down_l2) - TEQ a4,#0 /* are we done ? */ - BNE add_loop_down_l2 /* if count non-zero then loop */ - ADC a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMFD sp!,{v1-v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v6,pc} /* restore work regs and return */ - - /* extern uintD inc_loop_down (uintD* ptr, uintC count); - entry -@@ -1150,11 +1150,11 @@ GLABEL(inc_loop_down) - ADDS a4,a4,#1 /* align the total to a multiple of 2 */ - STR a4,[a1] - MOVNE a1,#0 /* set result to 0 */ -- MOVNES pc,lr /* return 0 if non-zero result */ -+ BXNE lr /* return 0 if non-zero result */ - LABEL(inc_loop_down_l1) - BICS a4,a2,#1 /* set counter to multiple of 2 */ - MOVEQ a1,#1 /* return 1 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - MOV ip,a1 /* move ptr to ip */ - MOV a1,#0 /* set result to 0 */ - ANDS a3,a4,#3 -@@ -1163,10 +1163,10 @@ LABEL(inc_loop_down_l1) - ADDS a3,a3,#1 /* INC the two words */ - ADDEQS a2,a2,#1 /* stopping when first word non-zero */ - STMDB ip!,{a2,a3} /* store 2 results */ -- MOVNES pc,lr /* return 0 if any result non-zero */ -+ BXNE lr /* return 0 if any result non-zero */ - SUBS a4,a4,#2 /* decrement counter by 2 */ - MOVEQ a1,#1 /* if finished loop then */ -- MOVEQS pc,lr /* return 1 */ -+ BXEQ lr /* return 1 */ - LABEL(inc_loop_down_l3) /* now a multiple of 4 words */ - STMFD sp!,{v1,lr} /* save work regs */ - LABEL(inc_loop_down_l2) -@@ -1176,11 +1176,11 @@ LABEL(inc_loop_down_l2) - ADDEQS a3,a3,#1 - ADDEQS a2,a2,#1 - STMDB ip!,{a2,a3,v1,lr} /* store 4 results */ -- LDMNEFD sp!,{v1,pc}^ /* return 0 if any result non-zero */ -+ LDMNEFD sp!,{v1,pc} /* return 0 if any result non-zero */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT inc_loop_down_l2 /* if count still positive then loop */ - MOV a1,#1 -- LDMFD sp!,{v1,pc}^ /* restore work regs and return 1 */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return 1 */ - - /* extern uintD sub_loop_down (uintD* sourceptr1, uintD* sourceptr2, uintD* destptr, uintC count); - entry -@@ -1206,7 +1206,7 @@ GLABEL(sub_loop_down) - LABEL(sub_loop_down_l4) /* drop through for better instr. timings */ - BICS a4,a4,#3 /* set counter to multiple of 4 */ - SBCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMEQFD sp!,{v6,pc}^ /* and return */ -+ LDMEQFD sp!,{v6,pc} /* and return */ - STMFD sp!,{v1-v5} /* save work regs */ - B sub_loop_down_l2 /* branch if more subtracts to do */ - LABEL(sub_loop_down_l0) -@@ -1224,7 +1224,7 @@ LABEL(sub_loop_down_l0) - LABEL(sub_loop_down_l1) - BICS a4,a4,#3 /* set counter to multiple of 4 */ - MOVEQ a1,#0 /* no subtracts, so C = 0 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - CMP a4,#0 /* set carry bit, since a4 > 0 */ - STMFD sp!,{v1-v6,lr} /* save work regs */ - LABEL(sub_loop_down_l2) -@@ -1239,7 +1239,7 @@ LABEL(sub_loop_down_l2) - TEQ a4,#0 /* are we done ? */ - BNE sub_loop_down_l2 /* if count non-zero then loop */ - SBC a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMFD sp!,{v1-v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v6,pc} /* restore work regs and return */ - - /* extern uintD subx_loop_down (uintD* sourceptr1, uintD* sourceptr2, uintD* destptr, uintC count, uintD carry); - entry -@@ -1269,7 +1269,7 @@ LABEL(subx_loop_down_lsub) - LABEL(subx_loop_down_l4) /* drop through for better instr. timings */ - BICS a4,a4,#3 /* set counter to multiple of 4 */ - SBCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMEQFD sp!,{v6,pc}^ /* and return */ -+ LDMEQFD sp!,{v6,pc} /* and return */ - STMFD sp!,{v1-v5} /* save work regs */ - B subx_loop_down_l2 /* branch if more subtracts to do */ - LABEL(subx_loop_down_l0) -@@ -1287,7 +1287,7 @@ LABEL(subx_loop_down_l0) - LABEL(subx_loop_down_l1) - BICS a4,a4,#3 /* set counter to multiple of 4 */ - SBCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{v1-v6,lr} /* save work regs */ - LABEL(subx_loop_down_l2) - LDMDB a2!,{v1,v2,v3,ip} /* load 4 words in one go */ -@@ -1301,7 +1301,7 @@ LABEL(subx_loop_down_l2) - TEQ a4,#0 /* are we done ? */ - BNE subx_loop_down_l2 /* if count non-zero then loop */ - SBC a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMFD sp!,{v1-v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v6,pc} /* restore work regs and return */ - - /* extern uintD subfrom_loop_down (uintD* sourceptr, uintD* destptr, uintC count); - entry -@@ -1326,7 +1326,7 @@ GLABEL(subfrom_loop_down) - LABEL(subfrom_loop_down_l4) /* drop through for better instr. timings */ - BICS a4,a3,#3 /* set counter to multiple of 4 */ - SBCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMEQFD sp!,{pc}^ /* and return */ -+ LDMEQFD sp!,{pc} /* and return */ - STMFD sp!,{v1-v5} /* save work regs */ - B subfrom_loop_down_l2 /* branch if more subtracts to do */ - LABEL(subfrom_loop_down_l0) -@@ -1344,7 +1344,7 @@ LABEL(subfrom_loop_down_l0) - LABEL(subfrom_loop_down_l1) - BICS a4,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,#0 /* no subtracts, so C = 0 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - CMP a4,#0 /* set carry bit, since a4 > 0 */ - STMFD sp!,{v1-v5,lr} /* save work regs */ - LABEL(subfrom_loop_down_l2) -@@ -1359,7 +1359,7 @@ LABEL(subfrom_loop_down_l2) - TEQ a4,#0 /* are we done ? */ - BNE subfrom_loop_down_l2 /* if count non-zero then loop */ - SBC a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMFD sp!,{v1-v5,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v5,pc} /* restore work regs and return */ - - /* extern uintD dec_loop_down (uintD* ptr, uintC count); - entry -@@ -1377,11 +1377,11 @@ GLABEL(dec_loop_down) - SUBS a4,a4,#1 /* align the total to a multiple of 2 */ - STR a4,[a1] - MOVCS a1,#0 /* set result to 0 */ -- MOVCSS pc,lr /* return 0 if non-zero result */ -+ BXCS lr /* return 0 if non-zero result */ - LABEL(dec_loop_down_l1) - BICS a4,a2,#1 /* set counter to multiple of 2 */ - MVNEQ a1,#0 /* return -1 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - MOV ip,a1 /* move ptr to ip */ - MOV a1,#0 /* set result to 0 */ - ANDS a3,a4,#3 -@@ -1390,10 +1390,10 @@ LABEL(dec_loop_down_l1) - SUBS a3,a3,#1 /* DEC the two words */ - SUBCCS a2,a2,#1 /* stopping when first word non-zero */ - STMDB ip!,{a2,a3} /* store 2 results */ -- MOVCSS pc,lr /* return 0 if any result non-zero */ -+ BXCS lr /* return 0 if any result non-zero */ - SUBS a4,a4,#2 /* decrement counter by 2 */ - MVNEQ a1,#0 /* if finished loop then */ -- MOVEQS pc,lr /* return -1 */ -+ BXEQ lr /* return -1 */ - LABEL(dec_loop_down_l3) /* now a multiple of 4 words */ - STMFD sp!,{v1,lr} /* save work regs */ - LABEL(dec_loop_down_l2) -@@ -1403,11 +1403,11 @@ LABEL(dec_loop_down_l2) - SUBCCS a3,a3,#1 - SUBCCS a2,a2,#1 - STMDB ip!,{a2,a3,v1,lr} /* store 4 results */ -- LDMCSFD sp!,{v1,pc}^ /* return 0 if any carry */ -+ LDMCSFD sp!,{v1,pc} /* return 0 if any carry */ - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT dec_loop_down_l2 /* if count still positive then loop */ - MVN a1,#0 -- LDMFD sp!,{v1,pc}^ /* restore work regs and return -1 */ -+ LDMFD sp!,{v1,pc} /* restore work regs and return -1 */ - - /* extern void neg_loop_down (uintD* ptr, uintC count); - entry -@@ -1421,7 +1421,7 @@ LABEL(dec_loop_down_l2) - GLABEL(neg_loop_down) - CMPS a2,#0 /* count = 0 ? */ - MOVEQ a1,#0 /* yup, so return 0 */ -- MOVEQS pc,lr -+ BXEQ lr - LABEL(neg_loop_down_l1) /* skip all the zero words first */ - LDR a3,[a1,#-4]! /* compare words against zero */ - CMPS a3,#0 /* downwards in memory */ -@@ -1429,13 +1429,13 @@ LABEL(neg_loop_down_l1) /* skip - SUBS a2,a2,#1 /* reduce count of words */ - BNE neg_loop_down_l1 /* more ?, so loop */ - MOV a1,#0 /* return 0 */ -- MOVS pc,lr -+ BX lr - LABEL(neg_loop_down_l2) - RSB a3,a3,#0 /* first non-zero word = -word */ - STR a3,[a1] - SUBS a2,a2,#1 - MVNEQ a1,#0 /* done ? -> return -1 */ -- MOVEQS pc,lr -+ BXEQ lr - /* now NOT rest of the words */ - ANDS a3,a2,#3 /* multiple of 4 words ? */ - BEQ neg_loop_down_l3 /* yup, so branch */ -@@ -1453,7 +1453,7 @@ LABEL(neg_loop_down_l2) - LABEL(neg_loop_down_l3) - BICS a4,a2,#3 /* set counter to multiple of 4 */ - MVNEQ a1,#0 /* set result to -1 */ -- MOVEQS pc,lr /* if zero then we're done */ -+ BXEQ lr /* if zero then we're done */ - STMFD sp!,{lr} /* save work regs */ - LABEL(neg_loop_down_l4) - LDMDB a1,{a2,a3,ip,lr} /* load 4 words in one go,NO writeback */ -@@ -1465,7 +1465,7 @@ LABEL(neg_loop_down_l4) - SUBS a4,a4,#4 /* decrement counter by 4 */ - BGT neg_loop_down_l4 /* if count still positive then loop */ - MVN a1,#0 /* set result to -1 */ -- LDMFD sp!,{pc}^ /* restore work regs and return -1 */ -+ LDMFD sp!,{pc} /* restore work regs and return -1 */ - - /* extern uintD shift1left_loop_down (uintD* ptr, uintC count); - entry -@@ -1485,7 +1485,7 @@ GLABEL(shift1left_loop_down) - LABEL(shift1left_loop_down_l1) - BICS a4,a2,#1 /* set counter to multiple of 2 */ - ADCEQ a1,a4,a4 /* if zero set result to C (a4 is 0) */ -- MOVEQS pc,lr /* and return */ -+ BXEQ lr /* and return */ - ANDS a3,a4,#3 /* multiple of 4 words ? */ - BEQ shift1left_loop_down_l3 /* yup, so branch */ - LDMDB a1,{a2,a3} /* load 2 words in one go */ -@@ -1494,7 +1494,7 @@ LABEL(shift1left_loop_down_l1) - STMDB a1!,{a2,a3} /* store 2 results */ - BICS a4,a4,#2 /* decrement counter by 2 */ - ADCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- MOVEQS pc,lr /* and return */ -+ BXEQ lr /* and return */ - LABEL(shift1left_loop_down_l3) /* now a multiple of 4 words */ - STMFD sp!,{lr} /* save work regs */ - LABEL(shift1left_loop_down_l2) -@@ -1508,7 +1508,7 @@ LABEL(shift1left_loop_down_l2) - TEQ a4,#0 /* are we done ? */ - BNE shift1left_loop_down_l2 /* if count non-zero then loop */ - ADC a1,a4,a4 /* set result to Carry (a4 is 0) */ -- LDMFD sp!,{pc}^ /* restore work regs and return 1 */ -+ LDMFD sp!,{pc} /* restore work regs and return 1 */ - - /* extern uintD shiftleft_loop_down (uintD* ptr, uintC count, uintC i, uintD carry); - entry -@@ -1542,7 +1542,7 @@ GLABEL(shiftleft_loop_down) - LABEL(shiftleft_loop_down_l1) - BICS ip,a2,#3 /* set counter to multiple of 4 */ - MOVEQ a1,a4 /* if zero then we're done */ -- LDMEQFD sp!,{v6,pc}^ /* so return last shift out */ -+ LDMEQFD sp!,{v6,pc} /* so return last shift out */ - STMFD sp!,{v1-v3} /* save work regs */ - LABEL(shiftleft_loop_down_l2) - LDMDB a1,{a2,v1,v2,v3} /* load 4 words in one go */ -@@ -1558,7 +1558,7 @@ LABEL(shiftleft_loop_down_l2) - SUBS ip,ip,#4 /* decrement counter by 4 */ - BGT shiftleft_loop_down_l2 /* if count still positive then loop */ - MOV a1,a4 /* result = last shift out */ -- LDMFD sp!,{v1-v3,v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v3,v6,pc} /* restore work regs and return */ - - /* extern uintD shiftleftcopy_loop_down (uintD* sourceptr, uintD* destptr, uintC count, uintC i); - entry -@@ -1593,7 +1593,7 @@ GLABEL(shiftleftcopy_loop_down) - LABEL(shiftleftcopy_loop_down_l1) - BICS ip,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,v5 /* if zero then we're done */ -- LDMEQFD sp!,{v5,v6,pc}^ /* so return last shift out */ -+ LDMEQFD sp!,{v5,v6,pc} /* so return last shift out */ - STMFD sp!,{v1-v3} /* save work regs */ - LABEL(shiftleftcopy_loop_down_l2) - LDMDB a1!,{a3,v1,v2,v3} /* load 4 words in one go */ -@@ -1609,7 +1609,7 @@ LABEL(shiftleftcopy_loop_down_l2) - SUBS ip,ip,#4 /* decrement counter by 4 */ - BGT shiftleftcopy_loop_down_l2 /* if count still positive then loop */ - MOV a1,v5 /* result = last shift out */ -- LDMFD sp!,{v1-v3,v5,v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v3,v5,v6,pc} /* restore work regs and return */ - - /* extern uintD shift1right_loop_up (uintD* ptr, uintC count, uintD carry); - entry -@@ -1630,7 +1630,7 @@ GLABEL(shift1right_loop_up) - LABEL(shift1right_loop_up_l1) - BICS a4,a2,#1 /* set counter to multiple of 2 */ - MOVEQ a1,a4,RRX /* if zero set result to C (a4 is 0) */ -- MOVEQS pc,lr /* and return */ -+ BXEQ lr /* and return */ - ANDS a3,a4,#3 /* multiple of 4 words ? */ - BEQ shift1right_loop_up_l3 /* yup, so branch */ - LDMIA a1,{a2,a3} /* load 2 words in one go */ -@@ -1639,7 +1639,7 @@ LABEL(shift1right_loop_up_l1) - STMIA a1!,{a2,a3} /* store 2 results */ - BICS a4,a4,#2 /* decrement counter by 2 */ - ADCEQ a1,a4,a4 /* set result to Carry (a4 is 0) */ -- MOVEQS pc,lr /* and return */ -+ BXEQ lr /* and return */ - LABEL(shift1right_loop_up_l3) /* now a multiple of 4 words */ - STMFD sp!,{lr} /* save work regs */ - LABEL(shift1right_loop_up_l2) -@@ -1653,7 +1653,7 @@ LABEL(shift1right_loop_up_l2) - TEQ a4,#0 /* are we done ? */ - BNE shift1right_loop_up_l2 /* if count non-zero then loop */ - MOV a1,a4,RRX /* set result to Carry (a4 is 0) */ -- LDMFD sp!,{pc}^ /* restore work regs and return 1 */ -+ LDMFD sp!,{pc} /* restore work regs and return 1 */ - - /* extern uintD shiftright_loop_up (uintD* ptr, uintC count, uintC i); - entry -@@ -1688,7 +1688,7 @@ LABEL(shiftright_loop_up_l0) - LABEL(shiftright_loop_up_l1) - BICS ip,a2,#3 /* set counter to multiple of 4 */ - MOVEQ a1,a4 /* if zero then we're done */ -- LDMEQFD sp!,{v6,pc}^ /* so return last shift out */ -+ LDMEQFD sp!,{v6,pc} /* so return last shift out */ - STMFD sp!,{v1-v3} /* save work regs */ - LABEL(shiftright_loop_up_l2) - LDMIA a1,{v1,v2,v3,lr} /* load 4 words in one go */ -@@ -1704,7 +1704,7 @@ LABEL(shiftright_loop_up_l2) - SUBS ip,ip,#4 /* decrement counter by 4 */ - BGT shiftright_loop_up_l2 /* if count still positive then loop */ - MOV a1,a4 /* result = last shift out */ -- LDMFD sp!,{v1-v3,v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v3,v6,pc} /* restore work regs and return */ - - /* extern uintD shiftrightsigned_loop_up (uintD* ptr, uintC count, uintC i); - entry -@@ -1759,7 +1759,7 @@ LABEL(shiftrightcopy_loop_up_l0) - LABEL(shiftrightcopy_loop_up_l1) - BICS ip,a3,#3 /* set counter to multiple of 4 */ - MOVEQ a1,v5 /* if zero then we're done */ -- LDMEQFD sp!,{v5,v6,pc}^ /* so return last shift out */ -+ LDMEQFD sp!,{v5,v6,pc} /* so return last shift out */ - STMFD sp!,{v1-v3} /* save work regs */ - LABEL(shiftrightcopy_loop_up_l2) - LDMIA a1!,{v1,v2,v3,lr} /* load 4 words in one go */ -@@ -1775,7 +1775,7 @@ LABEL(shiftrightcopy_loop_up_l2) - SUBS ip,ip,#4 /* decrement counter by 4 */ - BGT shiftrightcopy_loop_up_l2 /* if count still positive then loop */ - MOV a1,v5 /* result = last shift out */ -- LDMFD sp!,{v1-v3,v5,v6,pc}^ /* restore work regs and return */ -+ LDMFD sp!,{v1-v3,v5,v6,pc} /* restore work regs and return */ - - #ifndef HAVE_umull - /* mulu32_64_vregs -@@ -1800,7 +1800,7 @@ LABEL(mulu32_64_vregs) - ADDCS v2,v2,#0x10000 /* carry from above add */ - ADDS v1,v4,ip,LSL #16 /* x is now bottom 32 bits of result */ - ADC ip,v2,ip,LSR #16 /* hi is top 32 bits */ -- MOVS pc,lr -+ BX lr - #endif /* HAVE_umull */ - - /* extern uintD mulusmall_loop_down (uintD digit, uintD* ptr, uintC len, uintD newdigit); -@@ -1816,7 +1816,7 @@ LABEL(mulu32_64_vregs) - GLABEL(mulusmall_loop_down) - CMP a3,#0 - MOVEQ a1,a4 -- MOVEQS pc,lr -+ BXEQ lr - #ifdef HAVE_umull - STMFD sp!,{v1,lr} - LABEL(mulusmall_loop_down_l1) -@@ -1828,7 +1828,7 @@ LABEL(mulusmall_loop_down_l1) - SUBS a3,a3,#1 /* len-- */ - BNE mulusmall_loop_down_l1 /* until len==0 */ - MOV a1,a4 /* return carry */ -- LDMFD sp!,{v1,pc}^ -+ LDMFD sp!,{v1,pc} - #else - STMFD sp!,{v1-v2,lr} - LABEL(mulusmall_loop_down_l1) -@@ -1850,7 +1850,7 @@ LABEL(mulusmall_loop_down_l1) - SUBS a3,a3,#1 /* len-- */ - BNE mulusmall_loop_down_l1 /* until len==0 */ - MOV a1,a4 /* return carry */ -- LDMFD sp!,{v1-v2,pc}^ -+ LDMFD sp!,{v1-v2,pc} - #endif - - /* extern void mulu_loop_down (uintD digit, uintD* sourceptr, uintD* destptr, uintC len); -@@ -1875,7 +1875,7 @@ LABEL(mulu_loop_down_l1) - SUBS a4,a4,#1 /* len-- */ - BNE mulu_loop_down_l1 /* until len==0 */ - STR v5,[a3,#-4]! /* *--destptr = carry */ -- LDMFD sp!,{v1,v5,pc}^ -+ LDMFD sp!,{v1,v5,pc} - #else - STMFD sp!,{v1-v5,lr} - MOV v5,#0 -@@ -1888,7 +1888,7 @@ LABEL(mulu_loop_down_l1) - SUBS a4,a4,#1 /* len-- */ - BNE mulu_loop_down_l1 /* until len==0 */ - STR v5,[a3,#-4]! /* *--destptr = carry */ -- LDMFD sp!,{v1-v5,pc}^ -+ LDMFD sp!,{v1-v5,pc} - #endif - - /* extern void muluadd_loop_down (uintD digit, uintD* sourceptr, uintD* destptr, uintC len); -@@ -1916,7 +1916,7 @@ LABEL(muluadd_loop_down_l1) - SUBS a4,a4,#1 /* len-- */ - BNE muluadd_loop_down_l1 /* until len==0 */ - MOV a1,v5 /* return carry */ -- LDMFD sp!,{v1,v5,pc}^ -+ LDMFD sp!,{v1,v5,pc} - #else - STMFD sp!,{v1-v5,lr} - MOV v5,#0 -@@ -1932,7 +1932,7 @@ LABEL(muluadd_loop_down_l1) - SUBS a4,a4,#1 /* len-- */ - BNE muluadd_loop_down_l1 /* until len==0 */ - MOV a1,v5 /* return carry */ -- LDMFD sp!,{v1-v5,pc}^ -+ LDMFD sp!,{v1-v5,pc} - #endif - - /* extern void mulusub_loop_down (uintD digit, uintD* sourceptr, uintD* destptr, uintC len); -@@ -1960,7 +1960,7 @@ LABEL(mulusub_loop_down_l1) - SUBS a4,a4,#1 /* len-- */ - BNE mulusub_loop_down_l1 /* until len==0 */ - MOV a1,v5 /* return carry */ -- LDMFD sp!,{v1,v5,pc}^ -+ LDMFD sp!,{v1,v5,pc} - #else - STMFD sp!,{v1-v5,lr} - MOV v5,#0 -@@ -1976,7 +1976,7 @@ LABEL(mulusub_loop_down_l1) - SUBS a4,a4,#1 /* len-- */ - BNE mulusub_loop_down_l1 /* until len==0 */ - MOV a1,v5 /* return carry */ -- LDMFD sp!,{v1-v5,pc}^ -+ LDMFD sp!,{v1-v5,pc} - #endif - - END diff -Nru clisp-2.49.20170913/debian/patches/bdb-5.1.patch clisp-2.49.20170913/debian/patches/bdb-5.1.patch --- clisp-2.49.20170913/debian/patches/bdb-5.1.patch 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/bdb-5.1.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,55 +0,0 @@ -Description: Reflect the fact that Berkeley DB 5.1 no longer supports RPC - See docs/installation/changelog_4_8.html in src:db package. - . - This patch removes RPC support in BDB:DBE-CREATE. The function now fails with - an error message if a remote host is given. -Bug-Debian: http://bugs.debian.org/621377 -Forwarded: no -Author: Sébastien Villemot -Last-Update: 2012-02-17 ---- a/modules/berkeley-db/bdb.c -+++ b/modules/berkeley-db/bdb.c -@@ -351,40 +351,10 @@ - DEFUN(BDB:DBE-CREATE,&key PASSWORD ENCRYPT :HOST CLIENT-TIMEOUT SERVER-TIMEOUT) - { /* Create an environment handle */ - DB_ENV *dbe, *dbe_cl; -- bool remote_p = boundp(STACK_2); /* host ==> remote */ -+ if (boundp(STACK_2)) /* :HOST */ -+ error(error_condition, GETTEXT("RPC support has been dropped in Berkeley DB 5.1")); - int cl_timeout = 0, sv_timeout = 0; --# if defined(DB_RPCCLIENT) /* 4.2 and later */ -- SYSCALL(db_env_create,(&dbe,remote_p ? DB_RPCCLIENT : 0)); --# elif defined(DB_CLIENT) /* 4.1 and before */ -- SYSCALL(db_env_create,(&dbe,remote_p ? DB_CLIENT : 0)); --# else --# error how does your Berkeley DB create a remote client? --# endif -- if (remote_p) { -- if (uint_p(STACK_0)) sv_timeout = I_to_uint(STACK_0); -- if (uint_p(STACK_1)) cl_timeout = I_to_uint(STACK_1); -- host_restart: -- if (stringp(STACK_2)) { /* string host */ -- with_string_0(STACK_2,GLO(misc_encoding),hostz, { -- SYSCALL(dbe->set_rpc_server,(dbe,NULL,hostz,cl_timeout,sv_timeout,0)); -- }); -- } else if ((dbe_cl = (DB_ENV*)bdb_handle(STACK_2,`BDB::DBE`, -- BH_NIL_IS_NULL))) { -- /* reuse client */ -- SYSCALL(dbe->set_rpc_server,(dbe,dbe_cl->cl_handle,NULL, -- cl_timeout,sv_timeout,0)); -- } else { /* bad host */ -- pushSTACK(NIL); /* no PLACE */ -- pushSTACK(STACK_(2+1)); /* TYPE-ERROR slot DATUM */ -- pushSTACK(`(OR STRING BDB::DBE)`); /* TYPE-ERROR slot EXPECTED-TYPE */ -- pushSTACK(STACK_2); /* host */ -- pushSTACK(`BDB::DBE`); pushSTACK(S(string)); pushSTACK(S(Khost)); -- pushSTACK(TheSubr(subr_self)->name); -- check_value(type_error,GETTEXT("~S: ~S should be a ~S or a ~S, not ~S")); -- STACK_2 = value1; -- goto host_restart; -- } -- } -+ SYSCALL(db_env_create,(&dbe,0)); - if (!missingp(STACK_4)) /* :PASSWD */ - dbe_set_encryption(dbe,&STACK_3,&STACK_4); - skipSTACK(5); diff -Nru clisp-2.49.20170913/debian/patches/clisp-link.patch clisp-2.49.20170913/debian/patches/clisp-link.patch --- clisp-2.49.20170913/debian/patches/clisp-link.patch 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/clisp-link.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,153 +0,0 @@ -Description: adapt clisp-link to support DESTDIR -Author: Sam Steingold -Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177057 -Bug-Debian: http://bugs.debian.org/177057 -Forwarded: not-needed - - ---- clisp.orig/src/clisp-link.in -+++ clisp/src/clisp-link.in -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/bin/bash - # Usage: clisp-link command [more args] - # where - # command = create, add, run, install -@@ -143,22 +143,24 @@ - # Where do we install? - DYNMOD="dynmod" # should be in sync with defs1.lisp:require - LIBDIR="" -+try_set_LIBDIR() { -+ mkdir -p "$1" || fail "Directory $2=$1 does not exist" -+ mkdir -p "$1/${DYNMOD}" || fail "Directory $2=$1 is not writable" -+ f="$1/${DYNMOD}/.abazonk" -+ if touch "$f" 2>/dev/null; then -+ rm -f "$f" -+ LIBDIR=$1 -+ fi -+} - set_dynamic_module_location() { -- if test -z "${LIBDIR}"; then -- if touch ${CLISP_LIBDIR}/${DYNMOD}/.abazonk 2>/dev/null; then -- rm -f ${CLISP_LIBDIR}/${DYNMOD}/.abazonk -- LIBDIR=${CLISP_LIBDIR} -- else # cf. src/m4/clisp.m4 -+ if test "$with_dynamic_modules" != no -a -z "${LIBDIR}"; then -+ try_set_LIBDIR "${CLISP_LIBDIR}" "*lib-directory*" -+ if test -z "${LIBDIR}"; then # cf. src/m4/clisp.m4 - CLISP_LIBDIR_USER=`clisp_eval '(and *user-lib-directory* (namestring *user-lib-directory*))'` - test "${CLISP_LIBDIR_USER}" = "NIL" && \ - fail "Cannot determine the dynamic module directory: *lib-directory* is not writable and *user-lib-directory* is not specified" -- mkdir -p ${CLISP_LIBDIR_USER}/${DYNMOD} || \ -- fail "Cannot write in *user-lib-directory*" -- if touch ${CLISP_LIBDIR_USER}/${DYNMOD}/.abazonk 2>/dev/null; then -- rm -f ${CLISP_LIBDIR_USER}/${DYNMOD}/.abazonk -- LIBDIR=${CLISP_LIBDIR_USER} -- else fail "Cannot determine the dynamic module directory: neither *lib-directory* nor *user-lib-directory* are writable" -- fi -+ try_set_LIBDIR "${CLISP_LIBDIR_USER}" "*user-lib-directory*" -+ test -z "${LIBDIR}" && fail "Cannot determine the dynamic module directory: neither *lib-directory* nor *user-lib-directory* are writable" - fi - fi - } -@@ -177,9 +179,9 @@ - # this can be invoked only after "./link.sh" and relies on its variables. - # also uses: - # ${absolute_currentdir} : the top level directory -+# appends the newly created DYNDIR files to DYNDIR_FILES - prepare_dynamic_module() { - if test "$with_dynamic_modules" != no; then -- set_dynamic_module_location - dyndir=${LIBDIR}/${DYNMOD} - dll="lib"; for m in ${NEW_MODULES}; do dll=${dll}-$m; done; dll=${dll}@SHREXT@ - lib=${dyndir}/${dll}; libs="${NEW_LIBS} @CLISP_DEF@"; verbose @createsharedlib@ -@@ -194,33 +196,33 @@ - done - # create the REQUIRE file - reqfile=${dyndir}/${firstmod}.lisp -- rm -f ${reqfile} -+ DYNDIR_FILES=${DYNDIR_FILES}" ${lib} ${reqfile}" -+ rm -f "${reqfile}" - for f in ${TO_PRELOAD}; do - # preload files are not compiled -- echo "(cl:load (cl:merge-pathnames \"../${moduledir}/${f}\" cl:*load-truename*))" >> ${reqfile} -+ echo "(cl:load (cl:merge-pathnames \"../${moduledir}/${f}\" cl:*load-truename*))" >> "${reqfile}" - done - # dll has SHREXT extension - DM="(sys::dynload-modules (cl:merge-pathnames \"${dll}\" cl:*load-truename*) (quote (" - for m in ${NEW_MODULES}; do - DM=${DM}" \"$m\"" - done -- echo ${DM}" )))" >> ${reqfile} -+ echo ${DM}" )))" >> "${reqfile}" - if test -n "${TO_LOAD}"; then -- echo ";; for def-call-out to non-existent functions" >> ${reqfile} -- echo "(ext:appease-cerrors" >> ${reqfile} -+ echo "(ext:appease-cerrors ; for DEF-CALL-OUT to non-existent functions" >> "${reqfile}" - for f in ${TO_LOAD}; do - # module files must be compiled -- echo " (cl:load (cl:merge-pathnames \"../${moduledir}/${f}.fas\" cl:*load-truename*))" >> ${reqfile} -+ echo " (cl:load (cl:merge-pathnames \"../${moduledir}/${f}.fas\" cl:*load-truename*))" >> "${reqfile}" - done -- echo ")" >> ${reqfile} -+ echo ")" >> "${reqfile}" - fi - # create links to the REQUIRE file - for m in ${othermods}; do -- ln ${dyndir}/$m.lisp ${reqfile} -+ ln ${dyndir}/$m.lisp "${reqfile}" -+ DYNDIR_FILES=${DYNDIR_FILES}' '${dyndir}/$m.lisp - done - fi - } -- - # Remove the comment to Set debugging output on - #set -x - -@@ -386,6 +388,7 @@ - # Prepare the module directories and read their variables - PRELOAD='' - LOAD='' -+ set_dynamic_module_location # set LIBDIR - for moduledir in $moduledirs; do - modulename=`basename "$moduledir"` - # Prepare the module directory and read the variables NEW_FILES, NEW_LIBS -@@ -542,6 +545,10 @@ - done - # Read the variables CC, CPPFLAGS, CFLAGS, CLFLAGS, LIBS, X_LIBS, RANLIB, FILES - . "$sourcedir"/makevars -+ set_dynamic_module_location # set LIBDIR -+ test -n "${DESTDIR}" || DESTDIR="${LIBDIR}" -+ mkdir -p "${DESTDIR}" -+ absdestdir=`cd "${DESTDIR}"; /bin/pwd` - # Prepare the module directories and read their variables - for moduledir in $moduledirs; do - modulename=`basename "$moduledir"` -@@ -555,17 +562,21 @@ - cd "$moduledir" - absolute_moduledir=`/bin/pwd` - . ./link.sh -- prepare_dynamic_module # sets LIBDIR -- mkdir -p "${LIBDIR}/$moduledir" -+ DYNDIR_FILES='' -+ prepare_dynamic_module # append to DYNDIR_FILES -+ mkdir -p "${absdestdir}/$moduledir" - # when running "CLISP=./clisp ./clisp-link install " - # in the build directory, avoid "cp: `...' and `...' are the same file" -- absolute_distribdir=`cd "${LIBDIR}/$moduledir"; /bin/pwd` -- test "${absolute_moduledir}" = "${absolute_distribdir}" || \ -- make clisp-module-distrib LN=cp distribdir="${LIBDIR}/$moduledir" -+ if [ "${absolute_moduledir}" != "${absdestdir}/$moduledir" ]; then -+ make clisp-module-distrib LN=${INSTALL_DATA-cp} distribdir="${absdestdir}/$moduledir" -+ mkdir -p ${absdestdir}/${DYNMOD}; -+ for f in ${DYNDIR_FILES}; do -+ cp ${f} ${absdestdir}/${DYNMOD}/ -+ done -+ fi - cd "$absolute_currentdir" - done - ;; -- - *) usage;; - esac - diff -Nru clisp-2.49.20170913/debian/patches/clx-spelling.patch clisp-2.49.20170913/debian/patches/clx-spelling.patch --- clisp-2.49.20170913/debian/patches/clx-spelling.patch 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/clx-spelling.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -Description: Stupid typo in clx -Author: Peter Van Eynde -Forwarded: not-needed - ---- clisp.orig/modules/clx/new-clx/clx.f -+++ clisp/modules/clx/new-clx/clx.f -@@ -3109,7 +3109,7 @@ - } - } else { - pushSTACK(TheSubr (subr_self)->name); -- error(error_condition,"~S: At least :DRAWABLE should be specifed."); -+ error(error_condition,"~S: At least :DRAWABLE should be specified."); - } - skipSTACK(26); - } diff -Nru clisp-2.49.20170913/debian/patches/eglibc-2.17.patch clisp-2.49.20170913/debian/patches/eglibc-2.17.patch --- clisp-2.49.20170913/debian/patches/eglibc-2.17.patch 2017-10-18 20:19:58.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/eglibc-2.17.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -Description: Fix build with eglibc 2.17 - With eglibc2.17 the build failed with a couple of errors - . - The first error was - #error "Never use directly; include instead." - So after working out where linux.c was generated from I made the change - suggested in the error message. - . - The second error was - linux.c:613:47: error: '__swblk_t' undeclared (first use in this function) - After some googling I found the advice at - http://sourceforge.net/mailarchive/message.php?msg_id=30446182 and removed - which suggested removing it was the only sane option. Looking at the fact - that glibc defined it differently on different platforms i'm inclined to agree - and have removed it. -Author: Peter Michael Green -Bug-Debian: http://bugs.debian.org/701379 - -diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp -index 1737032..c960753 100644 ---- a/modules/bindings/glibc/linux.lisp -+++ b/modules/bindings/glibc/linux.lisp -@@ -87,7 +87,7 @@ - - (def-c-type __key_t) ; int - --(c-lines "#include ~%") -+(c-lines "#include ~%") - (def-c-type __ipc_pid_t) ; ushort - - ; --------------------------- ----------------------------------- diff -Nru clisp-2.49.20170913/debian/patches/glibc-2.26.patch clisp-2.49.20170913/debian/patches/glibc-2.26.patch --- clisp-2.49.20170913/debian/patches/glibc-2.26.patch 2017-11-03 19:10:57.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/glibc-2.26.patch 2017-11-27 15:49:00.000000000 +0000 @@ -1,6 +1,10 @@ Description: cfree is not present in glibc-2.26, stop wrapping it Author: Adam Conrad -Last-Update: 2017-11-03 +Bug: https://sourceforge.net/p/clisp/bugs/717/ +Bug-Debian: https://bugs.debian.org/880686 +Applied-Upstream: https://sourceforge.net/p/clisp/clisp/ci/3bc928712d150ff1e5f6b2bfb7838655f3ff52fa/ +Reviewed-By: Sébastien Villemot +Last-Update: 2017-11-27 --- clisp-2.49.20170913.orig/modules/bindings/glibc/linux.lisp +++ clisp-2.49.20170913/modules/bindings/glibc/linux.lisp diff -Nru clisp-2.49.20170913/debian/patches/ignore-directory-encoding-errors.patch clisp-2.49.20170913/debian/patches/ignore-directory-encoding-errors.patch --- clisp-2.49.20170913/debian/patches/ignore-directory-encoding-errors.patch 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/ignore-directory-encoding-errors.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,35 +0,0 @@ -Description: ignore errors due to encoding of file -Author: Sam Steingold -Origin: http://thread.gmane.org/gmane.lisp.clisp.devel/21975/focus=21978 -Bug-Debian: http://bugs.debian.org/443520 -Forwarded: not-needed - ---- clisp.orig/src/init.lisp -+++ clisp/src/init.lisp -@@ -1570,6 +1570,10 @@ - (apply #'format *error-output* format-string args) - (elastic-newline *error-output*) - nil)))) -+ -+(unless (fboundp 'ext::muffle-cerrors) ; predef for bootstrap -+ (sys::%putd 'ext::muffle-cerrors #'identity)) -+ - (defun open-for-load (filename extra-file-types external-format - &aux stream (present-files t) obj path bad-file) - (block open-for-load -@@ -1639,11 +1643,12 @@ - ;; File with precisely this name not present OR bad - ;; Search among the files the most recent one - ;; with the same name and the Extensions "LISP", "FAS": -- (setq present-files (search-file filename -- (append extra-file-types -+ (setq present-files -+ (ext::muffle-cerrors ; ignore encoding errors in DIRECTORY -+ (search-file filename (append extra-file-types - *compiled-file-types* - *source-file-types*) -- nil))) -+ nil)))) - (if present-files - ;; proceed with the next present file - (setq path (car present-files) present-files (cdr present-files) diff -Nru clisp-2.49.20170913/debian/patches/s390x-workaround.patch clisp-2.49.20170913/debian/patches/s390x-workaround.patch --- clisp-2.49.20170913/debian/patches/s390x-workaround.patch 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/s390x-workaround.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -Index: clisp/src/build-aux/config.sub -=================================================================== ---- clisp.orig/src/build-aux/config.sub 2011-04-04 16:47:54.000000000 +0200 -+++ clisp/src/build-aux/config.sub 2011-04-08 23:32:27.254284905 +0200 -@@ -987,7 +987,7 @@ - basic_machine=s390-ibm - ;; - s390x | s390x-*) -- basic_machine=s390x-ibm -+ basic_machine=s390-ibm - ;; - sa29200) - basic_machine=a29k-amd diff -Nru clisp-2.49.20170913/debian/patches/series clisp-2.49.20170913/debian/patches/series --- clisp-2.49.20170913/debian/patches/series 2017-11-03 19:10:15.000000000 +0000 +++ clisp-2.49.20170913/debian/patches/series 2017-11-27 15:49:03.000000000 +0000 @@ -1,11 +1,5 @@ -#ignore-directory-encoding-errors.patch -#clisp-link.patch -#clx-spelling.patch -#s390x-workaround.patch maxpathlen.patch kfreebsd-amd64.diff -#bdb-5.1.patch -#arm-sf.patch remove-webbugs clisp-hurd-einval-extra.patch fix-unpack_sstring_alloca_help_.patch diff -Nru clisp-2.49.20170913/debian/preinst clisp-2.49.20170913/debian/preinst --- clisp-2.49.20170913/debian/preinst 2017-09-16 08:21:15.000000000 +0000 +++ clisp-2.49.20170913/debian/preinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,43 +0,0 @@ -#! /bin/sh -# preinst script for resample -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * `install' -# * `install' -# * `upgrade' -# * `abort-upgrade' -# -# for details, see http://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - install|upgrade) - # check for old mem files for previous installs: - if [ -f /usr/lib/clisp/full/lispinit.mem ] || [ -f /usr/lib/clisp/full/lispinit.mem ] ; then - [ -f /usr/lib/clisp/full/lispinit.mem ] && rm -f /usr/lib/clisp/full/lispinit.mem - [ -f /usr/lib/clisp/full/lispinit.mem ] && rm /usr/lib/clisp/full/lispinit.mem - rmdir /usr/lib/clisp/full/ || true - rmdir /usr/lib/clisp/ || true - fi - ;; - abort-upgrade) - ;; - *) - echo "preinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 - - diff -Nru clisp-2.49.20170913/debian/rules clisp-2.49.20170913/debian/rules --- clisp-2.49.20170913/debian/rules 2017-10-21 07:18:33.000000000 +0000 +++ clisp-2.49.20170913/debian/rules 2017-11-27 15:49:03.000000000 +0000 @@ -3,6 +3,8 @@ # Uncomment this to turn on verbose mode. export DH_VERBOSE=1 +include /usr/share/dpkg/architecture.mk + VERSION_NUMBER := $(shell grep '^VERSION_NUMBER=' < version.sh | sed s/^VERSION_NUMBER=//) # check if we need to use DEBUG: @@ -12,9 +14,6 @@ CFLAGS:=-falign-functions=4 export CFLAGS -# change the CFLAGS depending on the architecture -DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) - # Use --enable-portability on most archs except the best-supported ones (x86, ppc64*) ifeq (,$(filter amd64 i386 kfreebsd-amd64 kfreebsd-i386 hurd-i386 ppc64 ppc64el,$(DEB_HOST_ARCH))) PORTABILITY_FLAG := --enable-portability @@ -24,16 +23,8 @@ CFLAGS:=-marm ${CFLAGS} endif -MODULES := --with-module=gdbm --with-module=berkeley-db --with-module=pcre --with-module=rawsock --with-module=clx/new-clx - -ifneq (,$(filter alpha amd64 armel armhf i386 powerpc kfreebsd-i386 kfreebsd-amd64 hurd-i386 ppc64 ppc64el mips64el arm64,$(DEB_HOST_ARCH))) - # Enable FFI and extra modules - FFI:=--with-dynamic-ffi --with-dynamic-modules - MODULES += --with-module=bindings/glibc --with-module=postgresql --with-module=zlib --with-module=dbus -else - # Disable FFI - FFI:=--without-dynamic-ffi -endif +FFI := --with-dynamic-ffi --with-dynamic-modules +MODULES := --with-module=gdbm --with-module=berkeley-db --with-module=pcre --with-module=rawsock --with-module=clx/new-clx --with-module=bindings/glibc --with-module=postgresql --with-module=zlib --with-module=dbus %: dh $@ @@ -42,12 +33,10 @@ # on systems without FFI we cannot make multiple packages ./configure debian/build ${PORTABILITY_FLAG} ${DEBUG_FLAGS} --prefix=/usr --fsstnd=debian ${FFI} CFLAGS="${CFLAGS}" ${MODULES} || { cat debian/build/config.log; touch foo.h; cpp -dM foo.h ; exit 1; } - # remove the -O2 from the Makefile on mipsel + # Add the -fno-split-wide-types flag on mipsel ifeq ($(DEB_HOST_ARCH),mipsel) - sed 's/ -O2 / /' < debian/build/Makefile > debian/build/Makefile-new && \ - mv debian/build/Makefile debian/build/Makefile-old && \ - mv debian/build/Makefile-new debian/build/Makefile -endif # filter mipsel ,$(DEB_HOST_ARCH) remove the -O2 from the makefile + sed -i 's/ -O2 / -O2 -fno-split-wide-types /' debian/build/Makefile +endif override_dh_auto_build: # build the package @@ -67,10 +56,6 @@ debian/tmp/usr/share/doc/clisp/COPYRIGHT \ debian/tmp/usr/share/doc/clisp/GNU-GPL || true - # Install CLC files - install -o root -g root -m 0644 debian/install-clc.lisp \ - debian/tmp/usr/lib/clisp-$(VERSION_NUMBER) - override_dh_install: dh_install --sourcedir=debian/tmp