diff options
Diffstat (limited to 'debian/patches')
-rw-r--r-- | debian/patches/arm-sf.patch | 874 | ||||
-rw-r--r-- | debian/patches/bdb-5.1.patch | 55 | ||||
-rw-r--r-- | debian/patches/clisp-hurd-einval-extra.patch | 20 | ||||
-rw-r--r-- | debian/patches/clisp-link.patch | 153 | ||||
-rw-r--r-- | debian/patches/clx-spelling.patch | 15 | ||||
-rw-r--r-- | debian/patches/eglibc-2.17.patch | 31 | ||||
-rw-r--r-- | debian/patches/ignore-directory-encoding-errors.patch | 35 | ||||
-rw-r--r-- | debian/patches/kfreebsd-amd64.diff | 32 | ||||
-rw-r--r-- | debian/patches/remove-webbugs | 44 | ||||
-rw-r--r-- | debian/patches/s390x-workaround.patch | 13 | ||||
-rw-r--r-- | debian/patches/series | 9 |
11 files changed, 1281 insertions, 0 deletions
diff --git a/debian/patches/arm-sf.patch b/debian/patches/arm-sf.patch new file mode 100644 index 0000000..f25215b --- /dev/null +++ b/debian/patches/arm-sf.patch @@ -0,0 +1,874 @@ +Description: Added SF patch + See: + http://sourceforge.net/tracker/index.php?func=detail&aid=3529615&group_id=1355&atid=301355 +Author: Tom Vijlbrief <tvijlbrief@gmail.com> + +--- +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: <vendor|upstream|other>, <url of original patch> +Bug: <url in upstream bugtracker> +Bug-Debian: http://bugs.debian.org/<bugnumber> +Bug-Ubuntu: https://launchpad.net/bugs/<bugnumber> +Forwarded: <no|not-needed|url proving that it has been forwarded> +Reviewed-By: <name and email of someone who approved the patch> +Last-Update: <YYYY-MM-DD> + +--- 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 --git a/debian/patches/bdb-5.1.patch b/debian/patches/bdb-5.1.patch new file mode 100644 index 0000000..ef0fb07 --- /dev/null +++ b/debian/patches/bdb-5.1.patch @@ -0,0 +1,55 @@ +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 <sebastien.villemot@ens.fr> +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 --git a/debian/patches/clisp-hurd-einval-extra.patch b/debian/patches/clisp-hurd-einval-extra.patch new file mode 100644 index 0000000..9a2f229 --- /dev/null +++ b/debian/patches/clisp-hurd-einval-extra.patch @@ -0,0 +1,20 @@ +Description: Define IS_EINVAL_EXTRA for Hurd systems + clisp (1:2.49-10) unstable; urgency=medium + . + * Makes clisp compile under debuild + * Solves https://lists.debian.org/debian-hurd/2012/06/msg00053.html) +Author: Flavio Cruz <flaviocruz@gmail.com> + +Last-Update: 2015-09-23 + +--- clisp.orig/src/stream.d ++++ clisp/src/stream.d +@@ -3501,6 +3501,8 @@ + #define IS_EINVAL_EXTRA ((errno==EOPNOTSUPP)||(errno==ENOTSUP)||(errno==ENODEV)) + #elif defined(UNIX_SUNOS5) + #define IS_EINVAL_EXTRA ((errno==ENXIO)) ++#elif defined(UNIX_HURD) ++ #define IS_EINVAL_EXTRA ((errno==EOPNOTSUPP)||(errno==EMIG_BAD_ID)) + #else + #define IS_EINVAL_EXTRA 0 + #endif diff --git a/debian/patches/clisp-link.patch b/debian/patches/clisp-link.patch new file mode 100644 index 0000000..1fb501b --- /dev/null +++ b/debian/patches/clisp-link.patch @@ -0,0 +1,153 @@ +Description: adapt clisp-link to support DESTDIR +Author: Sam Steingold <sds@gnu.org> +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 <modname>" + # 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 --git a/debian/patches/clx-spelling.patch b/debian/patches/clx-spelling.patch new file mode 100644 index 0000000..24e7f32 --- /dev/null +++ b/debian/patches/clx-spelling.patch @@ -0,0 +1,15 @@ +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 --git a/debian/patches/eglibc-2.17.patch b/debian/patches/eglibc-2.17.patch new file mode 100644 index 0000000..dc715e3 --- /dev/null +++ b/debian/patches/eglibc-2.17.patch @@ -0,0 +1,31 @@ +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 <bits/ipctypes.h> directly; include <sys/ipc.h> 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 <plugwash@debian.org> +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 <bits/ipctypes.h>~%") ++(c-lines "#include <sys/ipc.h>~%") + (def-c-type __ipc_pid_t) ; ushort + + ; --------------------------- <sys/types.h> ----------------------------------- diff --git a/debian/patches/ignore-directory-encoding-errors.patch b/debian/patches/ignore-directory-encoding-errors.patch new file mode 100644 index 0000000..38508e5 --- /dev/null +++ b/debian/patches/ignore-directory-encoding-errors.patch @@ -0,0 +1,35 @@ +Description: ignore errors due to encoding of file +Author: Sam Steingold <sds@gnu.org> +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 --git a/debian/patches/kfreebsd-amd64.diff b/debian/patches/kfreebsd-amd64.diff new file mode 100644 index 0000000..e7dfda3 --- /dev/null +++ b/debian/patches/kfreebsd-amd64.diff @@ -0,0 +1,32 @@ +=== modified file 'src/lispbibl.d' +--- clisp.orig/src/spvw.d ++++ clisp/src/spvw.d +@@ -3172,7 +3172,7 @@ + var aint end = bitm(oint_addr_len-1); /* keep garcol_bit zero */ + #endif + var aint part = floor(end - (start & (end-1)),5); +- #if defined(AMD64) && defined(UNIX_LINUX) ++ #if defined(AMD64) + /* Don't use more than 36 address bits, otherwise mmap() fails. */ + part &= 0x0000000FFFFFFFFFUL; + #endif +@@ -3232,7 +3232,7 @@ + #endif + #endif + var aint part = floor(end - (start & (end-1)),5); +- #if defined(AMD64) && defined(UNIX_LINUX) ++ #if defined(AMD64) + /* Don't use more than 36 address bits, otherwise mmap() fails. */ + part &= 0x0000000FFFFFFFFFUL; + #endif +--- clisp.orig/src/spvw_page.d ++++ clisp/src/spvw_page.d +@@ -113,7 +113,7 @@ + only a 2^32 size address space. */ + #define oint_addr_relevant_len 32 + #endif +- #if (defined(IA64) || defined(AMD64)) && defined(UNIX_LINUX) ++ #if defined(IA64) || defined(AMD64) + /* It is unlikely that more than 4 GB will be used. */ + #define oint_addr_relevant_len 32 + #endif diff --git a/debian/patches/remove-webbugs b/debian/patches/remove-webbugs new file mode 100644 index 0000000..ac6eccc --- /dev/null +++ b/debian/patches/remove-webbugs @@ -0,0 +1,44 @@ +Description: Remove links in local documentation which might allow the users to be tracked by sourceforge +Author: Christoph Egger <christoph@debian.org> +Forwarded: not-needed + +--- clisp.orig/doc/_clisp-link.html ++++ clisp/doc/_clisp-link.html +@@ -38,4 +38,4 @@ + (i.e., <a href="clisp.html#opt-libdir" class="olink"><code class="varname">CUSTOM:*LIB-DIRECTORY*</code></a>) which it acquires by running + </p><pre class="screen"><strong><code class="prompt">$</code></strong> `dirname $0`/clisp <code class="option"><a href="clisp.html#opt-printlibdir" class="olink">-b</a></code></pre><p> + This can be overridden by the <a class="unix" href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/xbd_chap08.html">environment variable</a> <code class="envar">CLISP_LINKKIT</code>. +-</p></div><div class="refsection"><a id="see-also"></a><h2>See also</h2><table border="0" summary="Simple list" class="simplelist"><tr><td><a href="impnotes.html#impnotes-top" class="olink"><span class="command"><strong>CLISP</strong></span> impnotes</a></td></tr><tr><td><a href="clisp.html#clisp" class="olink"><span class="refentrytitle">clisp</span>(1)</a></td></tr></table></div></div><div class="refentryinfo"><hr /><table width="100%" summary="man page meta info"><th><td align="left"><span class="command"><strong><a href="clisp-link.html#clisp-link" class="olink">clisp-link</a></strong></span> version 2.49.50+</td><td align="center">Platform: @PLATFORM@</td><td align="right">Last modified: 2017-05-30</td></th></table></div><div class="custom-footer"><hr /><table width="100%"><tr><td align="left"><a href="http://clisp.org"><img src="clisp.png" width="48" height="48" alt="[CLISP home]" /></a></td><td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source=clisp-link"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" alt="[Support CLISP]" /></a></td><td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="http://sflogo.sourceforge.net/sflogo.php?group_id=1355&type=12&page=clisp-link" /></a></td></tr></table></div><hr /><form method="get" action="http://www.google.com/custom" target="_top"><table width="100%" border="0"><tr><td nowrap="nowrap" align="center"><input type="hidden" name="domains" value="clisp.org" /><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="50" maxlength="255" id="sbi" value="clisp-link" /><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb" /></td></tr><tr><td nowrap="nowrap" align="center"><input type="radio" name="sitesearch" value="" checked="1" id="ss0" /><label for="ss0" title="Search the Web"><small>Web</small></label><input type="radio" name="sitesearch" value="clisp.org" id="ss1" /><label for="ss1" title="Search clisp.org"><small>clisp.org</small></label><input type="hidden" name="client" value="pub-4445255502750357" /><input type="hidden" name="forid" value="1" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="oe" value="UTF-8" /><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:000000;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://clisp.cons.org/clisp.png;S:http://clisp.cons.org;FORID:1" /><input type="hidden" name="hl" value="en" /></td></tr></table></form><hr /></body></html> +\ No newline at end of file ++</p></div><div class="refsection"><a id="see-also"></a><h2>See also</h2><table border="0" summary="Simple list" class="simplelist"><tr><td><a href="impnotes.html#impnotes-top" class="olink"><span class="command"><strong>CLISP</strong></span> impnotes</a></td></tr><tr><td><a href="clisp.html#clisp" class="olink"><span class="refentrytitle">clisp</span>(1)</a></td></tr></table></div></div><div class="refentryinfo"><hr /><table width="100%" summary="man page meta info"><th><td align="left"><span class="command"><strong><a href="clisp-link.html#clisp-link" class="olink">clisp-link</a></strong></span> version 2.49.50+</td><td align="center">Platform: @PLATFORM@</td><td align="right">Last modified: 2017-05-30</td></th></table></div><div class="custom-footer"><hr /><table width="100%"><tr><td align="left"><a href="http://clisp.org"><img src="clisp.png" width="48" height="48" alt="[CLISP home]" /></a></td><td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source=clisp-link"><img src="" width="88" height="32" alt="[Support CLISP]" /></a></td><td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="" /></a></td></tr></table></div><hr /><form method="get" action="http://www.google.com/custom" target="_top"><table width="100%" border="0"><tr><td nowrap="nowrap" align="center"><input type="hidden" name="domains" value="clisp.org" /><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="50" maxlength="255" id="sbi" value="clisp-link" /><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb" /></td></tr><tr><td nowrap="nowrap" align="center"><input type="radio" name="sitesearch" value="" checked="1" id="ss0" /><label for="ss0" title="Search the Web"><small>Web</small></label><input type="radio" name="sitesearch" value="clisp.org" id="ss1" /><label for="ss1" title="Search clisp.org"><small>clisp.org</small></label><input type="hidden" name="client" value="pub-4445255502750357" /><input type="hidden" name="forid" value="1" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="oe" value="UTF-8" /><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:000000;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://clisp.cons.org/clisp.png;S:http://clisp.cons.org;FORID:1" /><input type="hidden" name="hl" value="en" /></td></tr></table></form><hr /></body></html> +--- clisp.orig/doc/_clisp.html ++++ clisp/doc/_clisp.html +@@ -340,4 +340,4 @@ + --version</a></strong></span>?</li><li class="listitem">Please supply the full output (copy and paste) of + all the error messages, as well as detailed instructions on how to + reproduce them.</li></ol></div></div><div class="refsection"><a id="projects"></a><h2>Projects</h2><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">Enhance the compiler so that it can inline local +- functions.</li><li class="listitem">Embed <a class="ulink" href="http://clisp.org" target="_top"><span class="command"><strong>CLISP</strong></span></a> in <a class="ulink" href="http://www.vim.org" target="_top">VIM</a>.</li></ul></div></div></div><div class="refentryinfo"><hr /><table width="100%" summary="man page meta info"><th><td align="left"><a class="ulink" href="http://clisp.org" target="_top"><span class="command"><strong>CLISP</strong></span></a> version 2.49.50+</td><td align="center">Platform: @PLATFORM@</td><td align="right">Last modified: 2017-05-30</td></th></table></div><div class="custom-footer"><hr /><table width="100%"><tr><td align="left"><a href="http://clisp.org"><img src="clisp.png" width="48" height="48" alt="[CLISP home]" /></a></td><td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source=clisp"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" alt="[Support CLISP]" /></a></td><td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="http://sflogo.sourceforge.net/sflogo.php?group_id=1355&type=12&page=clisp" /></a></td></tr></table></div><hr /><form method="get" action="http://www.google.com/custom" target="_top"><table width="100%" border="0"><tr><td nowrap="nowrap" align="center"><input type="hidden" name="domains" value="clisp.org" /><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="50" maxlength="255" id="sbi" value="clisp" /><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb" /></td></tr><tr><td nowrap="nowrap" align="center"><input type="radio" name="sitesearch" value="" checked="1" id="ss0" /><label for="ss0" title="Search the Web"><small>Web</small></label><input type="radio" name="sitesearch" value="clisp.org" id="ss1" /><label for="ss1" title="Search clisp.org"><small>clisp.org</small></label><input type="hidden" name="client" value="pub-4445255502750357" /><input type="hidden" name="forid" value="1" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="oe" value="UTF-8" /><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:000000;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://clisp.cons.org/clisp.png;S:http://clisp.cons.org;FORID:1" /><input type="hidden" name="hl" value="en" /></td></tr></table></form><hr /></body></html> +\ No newline at end of file ++ functions.</li><li class="listitem">Embed <a class="ulink" href="http://clisp.org" target="_top"><span class="command"><strong>CLISP</strong></span></a> in <a class="ulink" href="http://www.vim.org" target="_top">VIM</a>.</li></ul></div></div></div><div class="refentryinfo"><hr /><table width="100%" summary="man page meta info"><th><td align="left"><a class="ulink" href="http://clisp.org" target="_top"><span class="command"><strong>CLISP</strong></span></a> version 2.49.50+</td><td align="center">Platform: @PLATFORM@</td><td align="right">Last modified: 2017-05-30</td></th></table></div><div class="custom-footer"><hr /><table width="100%"><tr><td align="left"><a href="http://clisp.org"><img src="clisp.png" width="48" height="48" alt="[CLISP home]" /></a></td><td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source=clisp"><img src="" width="88" height="32" alt="[Support CLISP]" /></a></td><td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="" /></a></td></tr></table></div><hr /><form method="get" action="http://www.google.com/custom" target="_top"><table width="100%" border="0"><tr><td nowrap="nowrap" align="center"><input type="hidden" name="domains" value="clisp.org" /><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="50" maxlength="255" id="sbi" value="clisp" /><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb" /></td></tr><tr><td nowrap="nowrap" align="center"><input type="radio" name="sitesearch" value="" checked="1" id="ss0" /><label for="ss0" title="Search the Web"><small>Web</small></label><input type="radio" name="sitesearch" value="clisp.org" id="ss1" /><label for="ss1" title="Search clisp.org"><small>clisp.org</small></label><input type="hidden" name="client" value="pub-4445255502750357" /><input type="hidden" name="forid" value="1" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="oe" value="UTF-8" /><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:000000;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://clisp.cons.org/clisp.png;S:http://clisp.cons.org;FORID:1" /><input type="hidden" name="hl" value="en" /></td></tr></table></form><hr /></body></html> +--- clisp.orig/doc/common.xsl ++++ clisp/doc/common.xsl +@@ -436,8 +436,8 @@ + <div class="custom-footer"><hr /><table width="100%"> + <tr><td align="left"><a href="http://clisp.org"> + <img src="clisp.png" width="48" height="48" alt="[CLISP home]"/></a></td> +- <td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source={@id}"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" alt="[Support CLISP]"/></a></td> +- <td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="http://sflogo.sourceforge.net/sflogo.php?group_id=1355&type=12&page={@id}"/></a></td> ++ <td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source={@id}"><img src="" width="88" height="32" alt="[Support CLISP]"/></a></td> ++ <td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src=""/></a></td> + </tr></table></div><hr /> + <!-- https://sourceforge.net/p/alexandria/support-requests/122850/ --> + <form method="get" action="http://www.google.com/custom" target="_top"> +--- clisp.orig/doc/impnotes.html ++++ clisp/doc/impnotes.html +@@ -13953,4 +13953,4 @@ + Protocol</a></em>. </span><span class="pubdate">1991. </span><span class="pagenums">335 pages. </span>ISBNÂ 0-262-61074-4. <span class="publisher"><span class="publishername"><a class="ulink" href="http://mitpress.mit.edu" target="_top">MIT + Press</a>. </span></span></p></div></div><div class="bibliodiv"><h3 class="title"><a id="ref-ansi"></a>ANSI standard documents</h3><div class="biblioentry"><a id="ansi-cl"></a><p>[<abbr class="abbrev">ANSI CL</abbr>] ANSI CL standard<span class="pubdate">1994. </span><span class="title"><em><a class="ulink" href="http://webstore.ansi.org" target="_top">ANSI</a> INCITS 226-1994 (R1999) + Information Technology - Programming Language - Common Lisp +- [formerly ANSI X3.226-1994 (R1999)]</em>. </span></p></div><div class="biblioentry"><a id="CLHS"></a><p>[<abbr class="abbrev">CLHS</abbr>] Common Lisp HyperSpec<span class="title"><em><a class="ulink" href="http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/" target="_top">Common Lisp HyperSpec</a></em>. </span></p></div></div></div></div><div class="bookinfo"><hr /><table width="100%" summary="impnotes meta info"><th><td align="left">These notes document <a class="ulink" href="http://clisp.org" target="_top"><span class="command"><strong>CLISP</strong></span></a> version 2.49.50+</td><td align="right">Last modified: 2017-05-30</td></th></table></div><div class="custom-footer"><hr /><table width="100%"><tr><td align="left"><a href="http://clisp.org"><img src="clisp.png" width="48" height="48" alt="[CLISP home]" /></a></td><td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source=impnotes-top"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" alt="[Support CLISP]" /></a></td><td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="http://sflogo.sourceforge.net/sflogo.php?group_id=1355&type=12&page=impnotes-top" /></a></td></tr></table></div><hr /><form method="get" action="http://www.google.com/custom" target="_top"><table width="100%" border="0"><tr><td nowrap="nowrap" align="center"><input type="hidden" name="domains" value="clisp.org" /><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="50" maxlength="255" id="sbi" value="Implementation Notes for GNU CLISP" /><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb" /></td></tr><tr><td nowrap="nowrap" align="center"><input type="radio" name="sitesearch" value="" checked="1" id="ss0" /><label for="ss0" title="Search the Web"><small>Web</small></label><input type="radio" name="sitesearch" value="clisp.org" id="ss1" /><label for="ss1" title="Search clisp.org"><small>clisp.org</small></label><input type="hidden" name="client" value="pub-4445255502750357" /><input type="hidden" name="forid" value="1" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="oe" value="UTF-8" /><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:000000;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://clisp.cons.org/clisp.png;S:http://clisp.cons.org;FORID:1" /><input type="hidden" name="hl" value="en" /></td></tr></table></form><hr /></body></html> +\ No newline at end of file ++ [formerly ANSI X3.226-1994 (R1999)]</em>. </span></p></div><div class="biblioentry"><a id="CLHS"></a><p>[<abbr class="abbrev">CLHS</abbr>] Common Lisp HyperSpec<span class="title"><em><a class="ulink" href="http://www.ai.mit.edu/projects/iiip/doc/CommonLISP/HyperSpec/FrontMatter/" target="_top">Common Lisp HyperSpec</a></em>. </span></p></div></div></div></div><div class="bookinfo"><hr /><table width="100%" summary="impnotes meta info"><th><td align="left">These notes document <a class="ulink" href="http://clisp.org" target="_top"><span class="command"><strong>CLISP</strong></span></a> version 2.49.50+</td><td align="right">Last modified: 2017-05-30</td></th></table></div><div class="custom-footer"><hr /><table width="100%"><tr><td align="left"><a href="http://clisp.org"><img src="clisp.png" width="48" height="48" alt="[CLISP home]" /></a></td><td align="center"><a href="https://sourceforge.net/p/clisp/donate/?source=impnotes-top"><img src="" width="88" height="32" alt="[Support CLISP]" /></a></td><td align="right"><a href="https://sourceforge.net/projects/clisp"><img width="120" height="30" alt="[SourceForge]" src="" /></a></td></tr></table></div><hr /><form method="get" action="http://www.google.com/custom" target="_top"><table width="100%" border="0"><tr><td nowrap="nowrap" align="center"><input type="hidden" name="domains" value="clisp.org" /><label for="sbi" style="display: none">Enter your search terms</label><input type="text" name="q" size="50" maxlength="255" id="sbi" value="Implementation Notes for GNU CLISP" /><label for="sbb" style="display: none">Submit search form</label><input type="submit" name="sa" value="Google Search" id="sbb" /></td></tr><tr><td nowrap="nowrap" align="center"><input type="radio" name="sitesearch" value="" checked="1" id="ss0" /><label for="ss0" title="Search the Web"><small>Web</small></label><input type="radio" name="sitesearch" value="clisp.org" id="ss1" /><label for="ss1" title="Search clisp.org"><small>clisp.org</small></label><input type="hidden" name="client" value="pub-4445255502750357" /><input type="hidden" name="forid" value="1" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="oe" value="UTF-8" /><input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:000000;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:48;LW:48;L:http://clisp.cons.org/clisp.png;S:http://clisp.cons.org;FORID:1" /><input type="hidden" name="hl" value="en" /></td></tr></table></form><hr /></body></html> diff --git a/debian/patches/s390x-workaround.patch b/debian/patches/s390x-workaround.patch new file mode 100644 index 0000000..7810976 --- /dev/null +++ b/debian/patches/s390x-workaround.patch @@ -0,0 +1,13 @@ +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 --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..9929a93 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,9 @@ +#ignore-directory-encoding-errors.patch +#clisp-link.patch +#clx-spelling.patch +#s390x-workaround.patch +kfreebsd-amd64.diff +#bdb-5.1.patch +#arm-sf.patch +remove-webbugs +clisp-hurd-einval-extra.patch |