Update to latest mercurial snapshot (bz 1392563).
Also: - Drop upstreamed -gcc5 patch. - Rebase all other patches. - Update config.guess and config.sub.
This commit is contained in:
parent
d40616d90b
commit
a8542e9dba
|
@ -1 +1,2 @@
|
|||
/clisp-2.49-20130208hg.tar.bz2
|
||||
/clisp-2.49-20161111hg.tar.xz
|
||||
|
|
180
clisp-arm.patch
180
clisp-arm.patch
|
@ -1,6 +1,6 @@
|
|||
--- src/ariarm.d.orig Fri May 04 01:04:01 2012 -0400
|
||||
+++ src/ariarm.d Thu May 24 16:48:47 2012 -0600
|
||||
@@ -86,7 +86,7 @@
|
||||
--- src/ariarm.d.orig 2016-11-11 08:56:50.449685288 -0700
|
||||
+++ src/ariarm.d 2016-11-11 09:04:26.686805266 -0700
|
||||
@@ -86,7 +86,7 @@ pc .req r15
|
||||
|
||||
#define C(x) x
|
||||
#define EXPORT(x) .global x
|
||||
|
@ -9,7 +9,7 @@
|
|||
#define LABEL(x) x:
|
||||
#define RRX rrx
|
||||
#define END
|
||||
@@ -187,7 +187,7 @@
|
||||
@@ -187,7 +187,7 @@ GLABEL(mulu32_)
|
||||
LDR a3,[pc,#ptr_mulu32_high-.-8]
|
||||
STR a2,[a3,#0]
|
||||
#endif
|
||||
|
@ -18,7 +18,7 @@
|
|||
|
||||
/* extern uint16 divu_3216_1616_ (uint32 x, uint16 y);
|
||||
entry
|
||||
@@ -243,7 +243,7 @@
|
||||
@@ -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
|
||||
|
@ -27,7 +27,7 @@
|
|||
|
||||
/* extern uint32 divu_6432_3232_ (uint32 xhi, uint32 xlo, uint32 y); | -> Quotient q
|
||||
extern uint32 divu_32_rest; | -> Rest r
|
||||
@@ -278,7 +278,7 @@
|
||||
@@ -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
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
LABEL(divu_6432_3232_l1)
|
||||
MOV v3, #0 /* s = 0 */
|
||||
@@ -346,7 +346,7 @@
|
||||
@@ -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
|
||||
|
@ -45,7 +45,7 @@
|
|||
|
||||
/* extern uintD* copy_loop_up (uintD* sourceptr, uintD* destptr, uintC count);
|
||||
entry
|
||||
@@ -370,7 +370,7 @@
|
||||
@@ -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 */
|
||||
|
@ -54,7 +54,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -63,7 +63,7 @@
|
|||
|
||||
/* extern uintD* copy_loop_down (uintD* sourceptr, uintD* destptr, uintC count);
|
||||
entry
|
||||
@@ -404,7 +404,7 @@
|
||||
@@ -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 */
|
||||
|
@ -72,7 +72,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -81,7 +81,7 @@
|
|||
|
||||
/* extern uintD* clear_loop_up (uintD* destptr, uintC count);
|
||||
entry
|
||||
@@ -446,7 +446,7 @@
|
||||
@@ -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 */
|
||||
|
@ -90,7 +90,7 @@
|
|||
STMFD sp!,{v1,lr} /* save work regs */
|
||||
MOV v1,a3 /* copy filler to three other */
|
||||
MOV ip,a3 /* registers */
|
||||
@@ -456,7 +456,7 @@
|
||||
@@ -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 */
|
||||
|
@ -99,7 +99,7 @@
|
|||
|
||||
|
||||
/* extern uintD* clear_loop_down (uintD* destptr, uintC count);
|
||||
@@ -489,7 +489,7 @@
|
||||
@@ -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 */
|
||||
|
@ -108,7 +108,7 @@
|
|||
STMFD sp!,{v1,lr} /* save work regs */
|
||||
MOV v1,a3 /* copy filler to three other */
|
||||
MOV ip,a3 /* registers */
|
||||
@@ -499,7 +499,7 @@
|
||||
@@ -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 */
|
||||
|
@ -117,7 +117,7 @@
|
|||
|
||||
/* extern void or_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -529,7 +529,7 @@
|
||||
@@ -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 */
|
||||
|
@ -126,7 +126,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -135,7 +135,7 @@
|
|||
|
||||
/* extern void xor_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -571,7 +571,7 @@
|
||||
@@ -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 */
|
||||
|
@ -144,7 +144,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -153,7 +153,7 @@
|
|||
|
||||
/* extern void and_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -613,7 +613,7 @@
|
||||
@@ -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 */
|
||||
|
@ -162,7 +162,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -171,7 +171,7 @@
|
|||
|
||||
/* extern void eqv_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -659,7 +659,7 @@
|
||||
@@ -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 */
|
||||
|
@ -180,7 +180,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -189,7 +189,7 @@
|
|||
|
||||
/* extern void nand_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -709,7 +709,7 @@
|
||||
@@ -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 */
|
||||
|
@ -198,7 +198,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -207,7 +207,7 @@
|
|||
|
||||
/* extern void nor_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -759,7 +759,7 @@
|
||||
@@ -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 */
|
||||
|
@ -216,7 +216,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -225,7 +225,7 @@
|
|||
|
||||
/* extern void andc2_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -805,7 +805,7 @@
|
||||
@@ -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 */
|
||||
|
@ -234,7 +234,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -243,7 +243,7 @@
|
|||
|
||||
/* extern void orc2_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -851,7 +851,7 @@
|
||||
@@ -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 */
|
||||
|
@ -252,7 +252,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -261,7 +261,7 @@
|
|||
|
||||
/* extern void not_loop_up (uintD* xptr, uintC count);
|
||||
entry
|
||||
@@ -893,7 +893,7 @@
|
||||
@@ -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 */
|
||||
|
@ -270,7 +270,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -279,7 +279,7 @@
|
|||
|
||||
/* extern void and_test_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -923,13 +923,13 @@
|
||||
@@ -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 */
|
||||
|
@ -295,7 +295,7 @@
|
|||
ANDS a4,a3,#3
|
||||
CMP a4,#2
|
||||
BLE and_test_loop_up_l1 /* better to branch than skip instrs. */
|
||||
@@ -937,11 +937,11 @@
|
||||
@@ -937,11 +937,11 @@ GLABEL(and_test_loop_up)
|
||||
LDRGT ip,[a1],#4
|
||||
TSTGT ip,a4
|
||||
MOVNE a1,#1
|
||||
|
@ -309,7 +309,7 @@
|
|||
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 @@
|
||||
@@ -952,11 +952,11 @@ LABEL(and_test_loop_up_l2)
|
||||
TSTEQ v4,v1
|
||||
TSTEQ v5,v2
|
||||
TSTEQ lr,ip
|
||||
|
@ -323,7 +323,7 @@
|
|||
|
||||
/* extern void test_loop_up (uintD* xptr, uintC count);
|
||||
entry
|
||||
@@ -973,21 +973,21 @@
|
||||
@@ -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 */
|
||||
|
@ -349,7 +349,7 @@
|
|||
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 @@
|
||||
@@ -995,11 +995,11 @@ LABEL(test_loop_up_l2)
|
||||
TEQEQ a3,#0
|
||||
TEQEQ v1,#0
|
||||
TEQEQ lr,#0
|
||||
|
@ -363,7 +363,7 @@
|
|||
|
||||
/* extern void compare_loop_up (uintD* xptr, uintD* yptr, uintC count);
|
||||
entry
|
||||
@@ -1021,7 +1021,7 @@
|
||||
@@ -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 */
|
||||
|
@ -372,7 +372,7 @@
|
|||
ANDS a4,a3,#3
|
||||
CMP a4,#2
|
||||
BLT compare_loop_up_l1 /* need to branch 'cos PSR used */
|
||||
@@ -1030,7 +1030,7 @@
|
||||
@@ -1030,7 +1030,7 @@ GLABEL(compare_loop_up)
|
||||
CMP ip,a4
|
||||
MVNLO a1,#0
|
||||
MOVHI a1,#1
|
||||
|
@ -381,7 +381,7 @@
|
|||
ANDS a4,a3,#3
|
||||
CMP a4,#2
|
||||
BLE compare_loop_up_l1 /* need to branch 'cos PSR used */
|
||||
@@ -1039,11 +1039,11 @@
|
||||
@@ -1039,11 +1039,11 @@ GLABEL(compare_loop_up)
|
||||
CMP ip,a4
|
||||
MVNLO a1,#0
|
||||
MOVHI a1,#1
|
||||
|
@ -395,7 +395,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -409,7 +409,7 @@
|
|||
|
||||
/* extern uintD addto_loop_down (uintD* sourceptr, uintD* destptr, uintC count);
|
||||
entry
|
||||
@@ -1111,11 +1111,11 @@
|
||||
@@ -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) */
|
||||
|
@ -423,7 +423,7 @@
|
|||
CMN a4,#0 /* clear carry bit */
|
||||
STMFD sp!,{v6,lr}
|
||||
LABEL(add_loop_down_l3)
|
||||
@@ -1132,7 +1132,7 @@
|
||||
@@ -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) */
|
||||
|
@ -432,7 +432,7 @@
|
|||
|
||||
/* extern uintD inc_loop_down (uintD* ptr, uintC count);
|
||||
entry
|
||||
@@ -1150,11 +1150,11 @@
|
||||
@@ -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 */
|
||||
|
@ -446,7 +446,7 @@
|
|||
MOV ip,a1 /* move ptr to ip */
|
||||
MOV a1,#0 /* set result to 0 */
|
||||
ANDS a3,a4,#3
|
||||
@@ -1163,10 +1163,10 @@
|
||||
@@ -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 */
|
||||
|
@ -459,7 +459,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -473,7 +473,7 @@
|
|||
|
||||
/* extern uintD sub_loop_down (uintD* sourceptr1, uintD* sourceptr2, uintD* destptr, uintC count);
|
||||
entry
|
||||
@@ -1206,7 +1206,7 @@
|
||||
@@ -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) */
|
||||
|
@ -482,7 +482,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -491,7 +491,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -500,7 +500,7 @@
|
|||
|
||||
/* extern uintD subx_loop_down (uintD* sourceptr1, uintD* sourceptr2, uintD* destptr, uintC count, uintD carry);
|
||||
entry
|
||||
@@ -1269,7 +1269,7 @@
|
||||
@@ -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) */
|
||||
|
@ -509,7 +509,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -518,7 +518,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -527,7 +527,7 @@
|
|||
|
||||
/* extern uintD subfrom_loop_down (uintD* sourceptr, uintD* destptr, uintC count);
|
||||
entry
|
||||
@@ -1326,7 +1326,7 @@
|
||||
@@ -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) */
|
||||
|
@ -536,7 +536,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -545,7 +545,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -554,7 +554,7 @@
|
|||
|
||||
/* extern uintD dec_loop_down (uintD* ptr, uintC count);
|
||||
entry
|
||||
@@ -1377,11 +1377,11 @@
|
||||
@@ -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 */
|
||||
|
@ -568,7 +568,7 @@
|
|||
MOV ip,a1 /* move ptr to ip */
|
||||
MOV a1,#0 /* set result to 0 */
|
||||
ANDS a3,a4,#3
|
||||
@@ -1390,10 +1390,10 @@
|
||||
@@ -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 */
|
||||
|
@ -581,7 +581,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -595,7 +595,7 @@
|
|||
|
||||
/* extern void neg_loop_down (uintD* ptr, uintC count);
|
||||
entry
|
||||
@@ -1421,7 +1421,7 @@
|
||||
@@ -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 */
|
||||
|
@ -604,7 +604,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -620,7 +620,7 @@
|
|||
/* 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 @@
|
||||
@@ -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 */
|
||||
|
@ -629,7 +629,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -638,7 +638,7 @@
|
|||
|
||||
/* extern uintD shift1left_loop_down (uintD* ptr, uintC count);
|
||||
entry
|
||||
@@ -1485,7 +1485,7 @@
|
||||
@@ -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) */
|
||||
|
@ -647,7 +647,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -656,7 +656,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -665,7 +665,7 @@
|
|||
|
||||
/* extern uintD shiftleft_loop_down (uintD* ptr, uintC count, uintC i, uintD carry);
|
||||
entry
|
||||
@@ -1542,7 +1542,7 @@
|
||||
@@ -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 */
|
||||
|
@ -674,7 +674,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -683,7 +683,7 @@
|
|||
|
||||
/* extern uintD shiftleftcopy_loop_down (uintD* sourceptr, uintD* destptr, uintC count, uintC i);
|
||||
entry
|
||||
@@ -1593,7 +1593,7 @@
|
||||
@@ -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 */
|
||||
|
@ -692,7 +692,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -701,7 +701,7 @@
|
|||
|
||||
/* extern uintD shift1right_loop_up (uintD* ptr, uintC count, uintD carry);
|
||||
entry
|
||||
@@ -1630,7 +1630,7 @@
|
||||
@@ -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) */
|
||||
|
@ -710,7 +710,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -719,7 +719,7 @@
|
|||
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 @@
|
||||
@@ -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) */
|
||||
|
@ -728,7 +728,7 @@
|
|||
|
||||
/* extern uintD shiftright_loop_up (uintD* ptr, uintC count, uintC i);
|
||||
entry
|
||||
@@ -1688,7 +1688,7 @@
|
||||
@@ -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 */
|
||||
|
@ -737,7 +737,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -746,7 +746,7 @@
|
|||
|
||||
/* extern uintD shiftrightsigned_loop_up (uintD* ptr, uintC count, uintC i);
|
||||
entry
|
||||
@@ -1759,7 +1759,7 @@
|
||||
@@ -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 */
|
||||
|
@ -755,7 +755,7 @@
|
|||
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 @@
|
||||
@@ -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 */
|
||||
|
@ -764,7 +764,7 @@
|
|||
|
||||
#ifndef HAVE_umull
|
||||
/* mulu32_64_vregs
|
||||
@@ -1800,7 +1800,7 @@
|
||||
@@ -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 */
|
||||
|
@ -773,7 +773,7 @@
|
|||
#endif /* HAVE_umull */
|
||||
|
||||
/* extern uintD mulusmall_loop_down (uintD digit, uintD* ptr, uintC len, uintD newdigit);
|
||||
@@ -1816,7 +1816,7 @@
|
||||
@@ -1816,7 +1816,7 @@ LABEL(mulu32_64_vregs)
|
||||
GLABEL(mulusmall_loop_down)
|
||||
CMP a3,#0
|
||||
MOVEQ a1,a4
|
||||
|
@ -782,7 +782,7 @@
|
|||
#ifdef HAVE_umull
|
||||
STMFD sp!,{v1,lr}
|
||||
LABEL(mulusmall_loop_down_l1)
|
||||
@@ -1828,7 +1828,7 @@
|
||||
@@ -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 */
|
||||
|
@ -791,7 +791,7 @@
|
|||
#else
|
||||
STMFD sp!,{v1-v2,lr}
|
||||
LABEL(mulusmall_loop_down_l1)
|
||||
@@ -1850,7 +1850,7 @@
|
||||
@@ -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 */
|
||||
|
@ -800,7 +800,7 @@
|
|||
#endif
|
||||
|
||||
/* extern void mulu_loop_down (uintD digit, uintD* sourceptr, uintD* destptr, uintC len);
|
||||
@@ -1875,7 +1875,7 @@
|
||||
@@ -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 */
|
||||
|
@ -809,7 +809,7 @@
|
|||
#else
|
||||
STMFD sp!,{v1-v5,lr}
|
||||
MOV v5,#0
|
||||
@@ -1888,7 +1888,7 @@
|
||||
@@ -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 */
|
||||
|
@ -818,7 +818,7 @@
|
|||
#endif
|
||||
|
||||
/* extern void muluadd_loop_down (uintD digit, uintD* sourceptr, uintD* destptr, uintC len);
|
||||
@@ -1916,7 +1916,7 @@
|
||||
@@ -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 */
|
||||
|
@ -827,7 +827,7 @@
|
|||
#else
|
||||
STMFD sp!,{v1-v5,lr}
|
||||
MOV v5,#0
|
||||
@@ -1932,7 +1932,7 @@
|
||||
@@ -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 */
|
||||
|
@ -836,7 +836,7 @@
|
|||
#endif
|
||||
|
||||
/* extern void mulusub_loop_down (uintD digit, uintD* sourceptr, uintD* destptr, uintC len);
|
||||
@@ -1960,7 +1960,7 @@
|
||||
@@ -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 */
|
||||
|
@ -845,7 +845,7 @@
|
|||
#else
|
||||
STMFD sp!,{v1-v5,lr}
|
||||
MOV v5,#0
|
||||
@@ -1976,7 +1976,7 @@
|
||||
@@ -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 */
|
||||
|
@ -854,9 +854,9 @@
|
|||
#endif
|
||||
|
||||
END
|
||||
--- src/makemake.in.orig 2013-02-16 15:26:28.000000000 -0700
|
||||
+++ src/makemake.in 2013-08-03 14:55:30.000000000 -0600
|
||||
@@ -1673,7 +1673,7 @@
|
||||
--- src/makemake.in.orig 2016-11-11 08:56:50.424687309 -0700
|
||||
+++ src/makemake.in 2016-11-11 09:04:26.688805105 -0700
|
||||
@@ -1677,7 +1677,7 @@ if [ "$cpu" = hppa ] ; then
|
||||
ARI_ASMD=$ARI_ASMD' arihppa'
|
||||
ARI_ASMS=$ARI_ASMS' arihppa'
|
||||
fi
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
--- ./modules/berkeley-db/configure.in.orig 2012-06-20 11:05:05.000000000 -0600
|
||||
+++ ./modules/berkeley-db/configure.in 2012-09-25 14:45:22.950718201 -0600
|
||||
--- modules/berkeley-db/configure.in.orig 2016-11-11 08:56:50.543677690 -0700
|
||||
+++ modules/berkeley-db/configure.in 2016-11-11 09:07:47.419640845 -0700
|
||||
@@ -48,7 +48,7 @@ dnl <http://www.sleepycat.com/docs/ref/u
|
||||
AC_CACHE_CHECK([whether DB_ENV->set_errcall() accepts DBE],
|
||||
ac_cv_dbe_set_errcall_accept_dbe,[
|
||||
|
@ -9,8 +9,8 @@
|
|||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <db.h>
|
||||
void my_callback (const DB_ENV* dbe, const char *errpfx, const char *msg) {}],
|
||||
[[DB_ENV dbe; dbe.set_errcall(&dbe,&my_callback);]])],
|
||||
--- ./modules/berkeley-db/configure.orig 2012-06-20 11:05:05.000000000 -0600
|
||||
+++ ./modules/berkeley-db/configure 2012-09-25 14:45:22.961717778 -0600
|
||||
--- modules/berkeley-db/configure.orig 2016-11-11 08:56:50.543677690 -0700
|
||||
+++ modules/berkeley-db/configure 2016-11-11 09:07:47.422640603 -0700
|
||||
@@ -5055,7 +5055,7 @@ if test "${ac_cv_dbe_set_errcall_accept_
|
||||
else
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
--- ./src/errunix.d.orig 2012-06-20 11:05:06.000000000 -0600
|
||||
+++ ./src/errunix.d 2012-09-25 16:24:17.001096856 -0600
|
||||
--- src/errunix.d.orig 2016-11-11 08:56:50.620671466 -0700
|
||||
+++ src/errunix.d 2016-11-11 08:59:22.737375082 -0700
|
||||
@@ -94,7 +94,7 @@ global _Noreturn void OS_error_arg (obje
|
||||
> FILE: Filename (with quotation marks) as constant ASCIZ-String
|
||||
> LINE: line number */
|
||||
|
@ -9,8 +9,71 @@
|
|||
var object code = ANSIC_error_code_converter(errorcode);
|
||||
if (symbolp(code)) { /* known name? */
|
||||
fputs(" (",stderr);
|
||||
--- ./src/spvw_debug.d.orig 2012-06-20 11:05:06.000000000 -0600
|
||||
+++ ./src/spvw_debug.d 2012-09-25 16:24:58.284080691 -0600
|
||||
--- src/lispbibl.d.orig 2016-11-11 08:56:50.378691027 -0700
|
||||
+++ src/lispbibl.d 2016-11-11 09:03:14.631629862 -0700
|
||||
@@ -1092,7 +1092,7 @@
|
||||
#endif
|
||||
typedef unsigned char UBYTE;
|
||||
#else
|
||||
- #error No 8 bit integer type? -- Which Interger-type has 8 Bit?
|
||||
+ #error No 8 bit integer type? -- Which Integer-type has 8 Bit?
|
||||
#endif
|
||||
#if (short_bitsize==16)
|
||||
typedef short SWORD;
|
||||
@@ -1103,26 +1103,36 @@
|
||||
#if (long_bitsize==32)
|
||||
typedef long SLONG;
|
||||
typedef unsigned long ULONG;
|
||||
+ #define PRIsl "ld"
|
||||
+ #define PRIul "lu"
|
||||
#elif (int_bitsize==32)
|
||||
typedef int SLONG;
|
||||
typedef unsigned int ULONG;
|
||||
+ #define PRIsl "d"
|
||||
+ #define PRIul "u"
|
||||
#else
|
||||
#error No 32 bit integer type? -- Which Integer-type has 32 Bit?
|
||||
#endif
|
||||
#if (long_bitsize==64) && !defined(UNIX_CYGWIN32)
|
||||
typedef long SLONGLONG;
|
||||
typedef unsigned long ULONGLONG;
|
||||
+ #define PRIsll "ld"
|
||||
+ #define PRIull "lu"
|
||||
#ifndef HAVE_LONG_LONG_INT
|
||||
#define HAVE_LONG_LONG_INT
|
||||
#endif
|
||||
#elif defined(MICROSOFT)
|
||||
typedef __int64 SLONGLONG;
|
||||
typedef unsigned __int64 ULONGLONG;
|
||||
+ #define PRIsll "I64d"
|
||||
+ #define PRIull "I64u"
|
||||
#define HAVE_LONG_LONG_INT
|
||||
#elif defined(HAVE_LONG_LONG_INT)
|
||||
#if defined(long_long_bitsize) && (long_long_bitsize==64)
|
||||
typedef long long SLONGLONG;
|
||||
typedef unsigned long long ULONGLONG;
|
||||
+ #define PRIsll "lld"
|
||||
+ #define PRIull "llu"
|
||||
#else /* useless type */
|
||||
#undef HAVE_LONG_LONG_INT
|
||||
#endif
|
||||
@@ -1752,10 +1762,14 @@ typedef unsigned_int_with_n_bits(intBWLs
|
||||
#if (intCsize==intWsize)
|
||||
#define dotimesC dotimesW
|
||||
#define dotimespC dotimespW
|
||||
+ #define PRIuintC "hu"
|
||||
+ #define PRIsintC "hd"
|
||||
#endif
|
||||
#if (intCsize==intLsize)
|
||||
#define dotimesC dotimesL
|
||||
#define dotimespC dotimespL
|
||||
+ #define PRIuintC PRIul
|
||||
+ #define PRIsintC PRIsl
|
||||
#endif
|
||||
/* Use 'uintC' for counters, which are small most of the time. */
|
||||
%% export_def(uintC);
|
||||
--- src/spvw_debug.d.orig 2016-11-11 08:56:50.407688683 -0700
|
||||
+++ src/spvw_debug.d 2016-11-11 08:59:22.743374597 -0700
|
||||
@@ -81,7 +81,7 @@ local void nobject_out1 (FILE* out, obje
|
||||
fputc('"',out);
|
||||
} else if (charp(obj)) {
|
||||
|
@ -69,71 +132,8 @@
|
|||
STACK_item_count(top_of_back_trace_frame(bt),
|
||||
top_of_back_trace_frame(bt->bt_next)),
|
||||
(((long)((char*)(bt->bt_next) - (char*)bt) ^ SPoffset) - SPoffset)
|
||||
--- ./src/lispbibl.d.orig 2012-08-27 12:05:48.000000000 -0600
|
||||
+++ ./src/lispbibl.d 2012-09-25 16:24:17.006096854 -0600
|
||||
@@ -1079,7 +1079,7 @@
|
||||
#endif
|
||||
typedef unsigned char UBYTE;
|
||||
#else
|
||||
- #error No 8 bit integer type? -- Which Interger-type has 8 Bit?
|
||||
+ #error No 8 bit integer type? -- Which Integer-type has 8 Bit?
|
||||
#endif
|
||||
#if (short_bitsize==16)
|
||||
typedef short SWORD;
|
||||
@@ -1090,26 +1090,36 @@
|
||||
#if (long_bitsize==32)
|
||||
typedef long SLONG;
|
||||
typedef unsigned long ULONG;
|
||||
+ #define PRIsl "ld"
|
||||
+ #define PRIul "lu"
|
||||
#elif (int_bitsize==32)
|
||||
typedef int SLONG;
|
||||
typedef unsigned int ULONG;
|
||||
+ #define PRIsl "d"
|
||||
+ #define PRIul "u"
|
||||
#else
|
||||
#error No 32 bit integer type? -- Which Integer-type has 32 Bit?
|
||||
#endif
|
||||
#if (long_bitsize==64)
|
||||
typedef long SLONGLONG;
|
||||
typedef unsigned long ULONGLONG;
|
||||
+ #define PRIsll "ld"
|
||||
+ #define PRIull "lu"
|
||||
#ifndef HAVE_LONG_LONG_INT
|
||||
#define HAVE_LONG_LONG_INT
|
||||
#endif
|
||||
#elif defined(MICROSOFT)
|
||||
typedef __int64 SLONGLONG;
|
||||
typedef unsigned __int64 ULONGLONG;
|
||||
+ #define PRIsll "I64d"
|
||||
+ #define PRIull "I64u"
|
||||
#define HAVE_LONG_LONG_INT
|
||||
#elif defined(HAVE_LONG_LONG_INT)
|
||||
#if defined(long_long_bitsize) && (long_long_bitsize==64)
|
||||
typedef long long SLONGLONG;
|
||||
typedef unsigned long long ULONGLONG;
|
||||
+ #define PRIsll "lld"
|
||||
+ #define PRIull "llu"
|
||||
#else /* useless type */
|
||||
#undef HAVE_LONG_LONG_INT
|
||||
#endif
|
||||
@@ -1739,10 +1749,14 @@ typedef unsigned_int_with_n_bits(intBWLs
|
||||
#if (intCsize==intWsize)
|
||||
#define dotimesC dotimesW
|
||||
#define dotimespC dotimespW
|
||||
+ #define PRIuintC "hu"
|
||||
+ #define PRIsintC "hd"
|
||||
#endif
|
||||
#if (intCsize==intLsize)
|
||||
#define dotimesC dotimesL
|
||||
#define dotimespC dotimespL
|
||||
+ #define PRIuintC PRIul
|
||||
+ #define PRIsintC PRIsl
|
||||
#endif
|
||||
/* Use 'uintC' for counters, which are small most of the time. */
|
||||
%% export_def(uintC);
|
||||
--- ./src/spvw_memfile.d.orig 2012-06-20 11:05:06.000000000 -0600
|
||||
+++ ./src/spvw_memfile.d 2012-09-25 16:24:17.009096853 -0600
|
||||
--- src/spvw_memfile.d.orig 2016-11-11 08:56:50.426687147 -0700
|
||||
+++ src/spvw_memfile.d 2016-11-11 08:59:22.753373789 -0700
|
||||
@@ -1817,7 +1817,7 @@ local void loadmem_from_handle (Handle h
|
||||
(uintL)posfixnum_to_V(header._dumptime.seconds));
|
||||
#endif
|
||||
|
|
|
@ -1,38 +0,0 @@
|
|||
--- ./src/makemake.in.orig 2013-02-16 15:26:28.000000000 -0700
|
||||
+++ ./src/makemake.in 2016-02-04 17:10:00.000000000 -0700
|
||||
@@ -1217,7 +1217,7 @@ if [ $XCC_GCC = true ] ; then
|
||||
if [ $CROSS = false ] ; then
|
||||
case "$XCC_GCC_VERSION" in
|
||||
# gcc 2.7 introduced an annoying warning, but gcc 2.8 has a workaround:
|
||||
- 2.[8-9]* | 3.* | 4.* | egcs-2.*)
|
||||
+ 2.[8-9]* | [3-9].* | egcs-2.*)
|
||||
XCFLAGS=$XCFLAGS' -Wno-sign-compare -Wno-format-nonliteral'
|
||||
;;
|
||||
* ) ;;
|
||||
@@ -1226,7 +1226,7 @@ if [ $XCC_GCC = true ] ; then
|
||||
if [ $CROSS = false -a $CC_CPLUSPLUS = true ] ; then
|
||||
case "$XCC_GCC_VERSION" in
|
||||
# g++ 3.4 introduced an annoying warning, but has a workaround:
|
||||
- 3.[4-9]* | 4.*)
|
||||
+ 3.[4-9]* | [4-9].*)
|
||||
XCFLAGS=$XCFLAGS' -Wno-invalid-offsetof'
|
||||
;;
|
||||
* ) ;;
|
||||
@@ -1241,7 +1241,7 @@ if [ $XCC_GCC = true ] ; then
|
||||
# gcc-2.7.2 has a strength-reduction bug (fixed in gcc-2.7.2.1,
|
||||
# also fixed through the specs file of some Linux distributions).
|
||||
XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations -fno-strength-reduce' ;;
|
||||
- 2.3.[2-9]* | 2.[4-9]* | 3.* | 4.* | egcs-2.*)
|
||||
+ 2.3.[2-9]* | 2.[4-9]* | [3-9].* | egcs-2.*)
|
||||
XCFLAGS=$XCFLAGS' -O2 -fexpensive-optimizations' ;;
|
||||
* )
|
||||
XCFLAGS=$XCFLAGS' -O' ;;
|
||||
@@ -1295,7 +1295,7 @@ if [ $XCC_GCC = true ] ; then
|
||||
esac
|
||||
fi # with_debug
|
||||
case "$XCC_GCC_VERSION" in
|
||||
- 3* | 4*)
|
||||
+ [3-9]*)
|
||||
# When not optimizing on linux, or with Apple's gcc 4 on MacOS X,
|
||||
# or with GCC 4 when "gcc -Os" is used:
|
||||
# C_CODE_ALIGNMENT is wrong. &EVAL-WHEN = 0x806D512
|
|
@ -1,5 +1,5 @@
|
|||
--- modules/libsvm/libsvm.lisp.orig 2013-02-16 15:26:27.998509298 -0700
|
||||
+++ modules/libsvm/libsvm.lisp 2013-02-16 22:03:50.576190194 -0700
|
||||
--- modules/libsvm/libsvm.lisp.orig 2016-11-11 08:56:50.341694018 -0700
|
||||
+++ modules/libsvm/libsvm.lisp 2016-11-11 09:05:19.341553889 -0700
|
||||
@@ -31,7 +31,7 @@
|
||||
(c-lines "
|
||||
#if !defined(HAVE_SVM_DESTROY_MODEL)
|
||||
|
|
|
@ -1,14 +1,5 @@
|
|||
--- ./modules/bindings/glibc/linux.lisp.orig 2013-02-16 15:26:27.868519829 -0700
|
||||
+++ ./modules/bindings/glibc/linux.lisp 2013-02-16 16:54:18.702524668 -0700
|
||||
@@ -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> -----------------------------------
|
||||
--- modules/bindings/glibc/linux.lisp.orig 2016-11-11 08:56:50.548677286 -0700
|
||||
+++ modules/bindings/glibc/linux.lisp 2016-11-11 09:08:51.751465279 -0700
|
||||
@@ -294,6 +294,8 @@
|
||||
;; for robust mutexes
|
||||
(def-c-const EOWNERDEAD (:documentation "Owner died")) ; 130
|
||||
|
|
29
clisp.spec
29
clisp.spec
|
@ -1,21 +1,19 @@
|
|||
# Mercurial snapshot
|
||||
%global hgver 20130208hg
|
||||
%global hgver 20161111hg
|
||||
|
||||
Name: clisp
|
||||
Summary: ANSI Common Lisp implementation
|
||||
Version: 2.49
|
||||
Release: 19.%{hgver}%{?dist}
|
||||
Release: 20.%{hgver}%{?dist}
|
||||
|
||||
Group: Development/Languages
|
||||
License: GPLv2
|
||||
URL: http://www.clisp.org/
|
||||
# The source for this package was pulled from upstream's mercurial repository.
|
||||
# Use the following commands to generate the tarball:
|
||||
# hg clone -u 6c160a19948d \
|
||||
# http://clisp.hg.sourceforge.net:8000/hgroot/clisp/clisp clisp-2.49
|
||||
# hg clone -u 7f50c9d7b9ac http://hg.code.sf.net/p/clisp/clisp clisp-2.49
|
||||
# rm -fr clisp-2.49/.hg*
|
||||
# tar cvjf clisp-2.49-20130208hg.tar.bz2 clisp-2.49
|
||||
Source0: %{name}-%{version}-%{hgver}.tar.bz2
|
||||
# tar cvJf clisp-2.49-20161111hg.tar.xz clisp-2.49
|
||||
Source0: %{name}-%{version}-%{hgver}.tar.xz
|
||||
#Source0: http://downloads.sourceforge.net/clisp/%%{name}-%%{version}.tar.bz2
|
||||
# http://sourceforge.net/tracker/?func=detail&aid=3529607&group_id=1355&atid=301355
|
||||
Patch0: %{name}-format.patch
|
||||
|
@ -27,13 +25,13 @@ Patch2: %{name}-libsvm.patch
|
|||
Patch3: %{name}-db.patch
|
||||
# Linux-specific fixes. Sent upstream 25 Jul 2012.
|
||||
Patch4: %{name}-linux.patch
|
||||
# Adapt to GCC 5.x
|
||||
Patch5: %{name}-gcc5.patch
|
||||
|
||||
BuildRequires: compat-readline5-devel
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: emacs
|
||||
BuildRequires: emacs
|
||||
BuildRequires: fcgi-devel
|
||||
BuildRequires: ffcall
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gdbm-devel
|
||||
BuildRequires: gettext-devel
|
||||
BuildRequires: ghostscript
|
||||
|
@ -84,7 +82,6 @@ Maxima, ACL2 and many other Common Lisp packages.
|
|||
|
||||
%package devel
|
||||
Summary: Development files for CLISP
|
||||
Group: Development/Languages
|
||||
Provides: %{name}-static = %{version}-%{release}
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: libsigsegv-devel%{?_isa}
|
||||
|
@ -100,7 +97,6 @@ Files necessary for linking CLISP programs.
|
|||
%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
%patch5
|
||||
|
||||
# Convince CLisp to build against compat-readline5 instead of readline.
|
||||
# This is to avoid pulling the GPLv3 readline 6 into a GPLv2 CLisp binary.
|
||||
|
@ -109,6 +105,9 @@ mkdir -p readline/include
|
|||
ln -s %{_includedir}/readline5/readline readline/include/readline
|
||||
ln -s %{_libdir}/readline5 readline/%{_lib}
|
||||
|
||||
# Update config.guess and config.sub
|
||||
cp -p /usr/lib/rpm/redhat/config.{guess,sub} src/build-aux
|
||||
|
||||
# Change URLs not affected by the --hyperspec argument to configure
|
||||
sed -i.orig 's|lisp.org/HyperSpec/Body/chap-7.html|lispworks.com/documentation/HyperSpec/Body/07_.htm|' \
|
||||
src/clos-package.lisp
|
||||
|
@ -414,6 +413,12 @@ ln -s ../../src/modules.c build/full/modules.c
|
|||
|
||||
|
||||
%changelog
|
||||
* Fri Nov 11 2016 Jerry James <loganjerry@gmail.com> - 2.49-20.20161111hg
|
||||
- Update to latest mercurial snapshot (bz 1392563)
|
||||
- Drop upstreamed -gcc5 patch
|
||||
- Rebase all other patches
|
||||
- Update config.guess and config.sub
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.49-19.20130208hg
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
|
|
Loading…
Reference in New Issue