Update to recent git snapshot.
Also: - License change: GPLv2 to GPLv2+. - Build with readline 6 due to the new license. - Drop upstreamed -arm, -libsvm, -alias, and -linux patches. - Build for all architectures. - Bring back the pari module.
This commit is contained in:
parent
6043f8d9a2
commit
38141c9c4c
|
@ -1,5 +1,5 @@
|
|||
/clisp-2.49-20130208hg.tar.bz2
|
||||
/clisp-2.49-20161111hg.tar.xz
|
||||
/clisp-2.49-20161113hg.tar.xz
|
||||
/clisp-2.49-20170224hg.tar.xz
|
||||
/clisp-2.49.93-20180224hg.tar.xz
|
||||
/clisp-d1310ad.tar.gz
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff -up clisp-2.49.93/src/record.d.alias clisp-2.49.93/src/record.d
|
||||
--- clisp-2.49.93/src/record.d.alias 2018-02-26 11:40:53.668845947 -0500
|
||||
+++ clisp-2.49.93/src/record.d 2018-02-26 11:41:22.225164509 -0500
|
||||
@@ -1539,7 +1539,7 @@ global maygc object update_instance (obj
|
||||
ptr->inst_class_version = obj;
|
||||
clr_break_sem_1(); /* permit interrupts again */
|
||||
}
|
||||
- ASSERT(Record_flags(STACK_(2+4+2*kept_slots)) & instflags_forwarded_B);
|
||||
+ ASSERT(record_flags(TheInstance(STACK_(2+4+2*kept_slots))) & instflags_forwarded_B);
|
||||
dotimesL(kept_slots,kept_slots, {
|
||||
var object new_slotinfo = popSTACK();
|
||||
ASSERT(atomp(new_slotinfo));
|
856
clisp-arm.patch
856
clisp-arm.patch
|
@ -1,856 +0,0 @@
|
|||
--- src/ariarm.d.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ src/ariarm.d 2017-02-24 10:41:46.898615218 -0700
|
||||
@@ -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
|
|
@ -1,16 +1,5 @@
|
|||
--- modules/berkeley-db/configure.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ modules/berkeley-db/configure 2017-02-24 10:42:31.636232558 -0700
|
||||
@@ -5297,7 +5297,7 @@ if ${ac_cv_dbe_set_errcall_accept_dbe+:}
|
||||
else
|
||||
|
||||
CFLAGS_save="$CFLAGS"
|
||||
-CFLAGS="$CFLAGS -Werror"
|
||||
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <db.h>
|
||||
--- modules/berkeley-db/configure.in.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ modules/berkeley-db/configure.in 2017-02-24 10:42:31.636232558 -0700
|
||||
--- modules/berkeley-db/configure.in.orig 2018-04-23 07:44:21.000000000 -0600
|
||||
+++ modules/berkeley-db/configure.in 2018-06-21 20:30:56.502368686 -0600
|
||||
@@ -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,[
|
||||
|
@ -20,3 +9,14 @@
|
|||
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 2018-04-23 07:44:21.000000000 -0600
|
||||
+++ modules/berkeley-db/configure 2018-06-21 20:30:56.504368682 -0600
|
||||
@@ -5814,7 +5814,7 @@ if ${ac_cv_dbe_set_errcall_accept_dbe+:}
|
||||
else
|
||||
|
||||
CFLAGS_save="$CFLAGS"
|
||||
-CFLAGS="$CFLAGS -Werror"
|
||||
+CFLAGS="$CFLAGS -Wno-uninitialized -Werror"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <db.h>
|
||||
|
|
|
@ -1,145 +1,33 @@
|
|||
--- src/errunix.d.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ src/errunix.d 2017-02-24 10:41:33.217732236 -0700
|
||||
@@ -94,7 +94,7 @@ global _Noreturn void OS_error_arg (obje
|
||||
> FILE: Filename (with quotation marks) as constant ASCIZ-String
|
||||
> LINE: line number */
|
||||
global void errno_out_low (int errorcode, const char* file, uintL line) {
|
||||
- fprintf(stderr,"\n[%s:%d] errno = %d", file, line, errorcode);
|
||||
+ fprintf(stderr,"\n[%s:%" PRIul "] errno = %d", file, line, errorcode);
|
||||
var object code = ANSIC_error_code_converter(errorcode);
|
||||
if (symbolp(code)) { /* known name? */
|
||||
fputs(" (",stderr);
|
||||
--- src/lispbibl.d.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ src/lispbibl.d 2017-02-24 10:41:33.223732185 -0700
|
||||
@@ -1013,7 +1013,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;
|
||||
@@ -1024,26 +1024,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
|
||||
@@ -1685,10 +1695,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 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ src/spvw_debug.d 2017-02-24 10:41:33.224732176 -0700
|
||||
@@ -81,7 +81,7 @@ local void nobject_out1 (FILE* out, obje
|
||||
fputc('"',out);
|
||||
} else if (charp(obj)) {
|
||||
object name = char_name(char_code(obj));
|
||||
- fprintf(out,"[%c]",as_cint(char_code(obj)));
|
||||
+ fprintf(out,"[%c]",(int)as_cint(char_code(obj)));
|
||||
if (!nullp(name)) {
|
||||
fputs("=#\\",out);
|
||||
string_out(out,name);
|
||||
@@ -120,8 +120,8 @@ local void nobject_out1 (FILE* out, obje
|
||||
fputc(')',out);
|
||||
} else if (arrayp(obj)) {
|
||||
fprintf(out,"#<array %d",Array_type(obj));
|
||||
- if (mdarrayp(obj)) fprintf(out," rank=%d",Iarray_rank(obj));
|
||||
- else fprintf(out," len=%d",vector_length(obj));
|
||||
+ if (mdarrayp(obj)) fprintf(out," rank=%" PRIul,Iarray_rank(obj));
|
||||
+ else fprintf(out," len=%" PRIul,vector_length(obj));
|
||||
fprintf(out," 0x%lx>",as_oint(obj));
|
||||
} else if (functionp(obj)) {
|
||||
fputs("#<",out);
|
||||
@@ -182,7 +182,7 @@ local void nobject_out1 (FILE* out, obje
|
||||
fputc(')',out);
|
||||
} else if (hash_table_p(obj)) {
|
||||
fputs("#(",out); XOUT(S(hash_table));
|
||||
- fprintf(out," size=%u maxcount=%u mincount=%u\n",
|
||||
+ fprintf(out," size=%" PRIul " maxcount=%" PRIul " mincount=%" PRIul "\n",
|
||||
TheHashtable(obj)->ht_size,
|
||||
(uintL)posfixnum_to_V(TheHashtable(obj)->ht_maxcount),
|
||||
(uintL)posfixnum_to_V(TheHashtable(obj)->ht_mincount));
|
||||
@@ -281,10 +281,10 @@ local void nobject_out1 (FILE* out, obje
|
||||
case DRIVER_frame_info: fputs("DRIVER",out); break;
|
||||
default: fputs("**UNKNOWN**",out);
|
||||
}
|
||||
- fprintf(out," %d>",STACK_item_count(uTheFramepointer(obj),
|
||||
+ fprintf(out," %" PRIul ">",STACK_item_count(uTheFramepointer(obj),
|
||||
(gcv_object_t*)STACK_start));
|
||||
} else if (builtin_stream_p(obj)) {
|
||||
- fprintf(out,"#<built-in-stream type=%d flags=%d len=%d xlen=%d slen=%ld",
|
||||
+ fprintf(out,"#<built-in-stream type=%d flags=%d len=%" PRIul " xlen=%" PRIul " slen=%zd",
|
||||
TheStream(obj)->strmtype,TheStream(obj)->strmflags,
|
||||
Stream_length(obj),Stream_xlength(obj),strm_len);
|
||||
switch (TheStream(obj)->strmtype) {
|
||||
@@ -358,13 +358,13 @@ local int back_trace_depth (const struct
|
||||
/* print a single struct backtrace_t object
|
||||
the caller must do begin_system_call()/end_system_call() ! */
|
||||
local void bt_out (FILE* out, const struct backtrace_t *bt, uintL bt_index) {
|
||||
- fprintf(out,"[%d/0x%lx]%s ",bt_index,(uintP)bt,
|
||||
+ fprintf(out,"[%" PRIul "/0x%lx]%s ",bt_index,(uintP)bt,
|
||||
bt_beyond_stack_p(bt,STACK)?"<":">");
|
||||
nobject_out(out,bt->bt_function);
|
||||
if (bt->bt_num_arg >= 0)
|
||||
fprintf(out," %d args",bt->bt_num_arg);
|
||||
if (bt->bt_next)
|
||||
- fprintf(out," delta: STACK=%ud; SP=%ld",
|
||||
+ fprintf(out," delta: STACK=%" PRIul "; SP=%lu",
|
||||
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/spvw_memfile.d.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ src/spvw_memfile.d 2017-02-24 10:41:33.225732167 -0700
|
||||
@@ -1817,7 +1817,7 @@ local void loadmem_from_handle (Handle h
|
||||
(uintL)posfixnum_to_V(header._dumptime.seconds));
|
||||
#endif
|
||||
char memdumptime[10+1];
|
||||
- sprintf(memdumptime,"%u",header._dumptime);
|
||||
+ sprintf(memdumptime,"%" PRIul,header._dumptime);
|
||||
O(memory_image_timestamp) = ascii_to_string(memdumptime);
|
||||
O(memory_image_host) = asciz_to_string(header._dumphost,
|
||||
Symbol_value(S(utf_8)));
|
||||
--- src/spvw_fault.d.orig 2017-10-08 11:45:53.000000000 -0600
|
||||
+++ src/spvw_fault.d 2018-02-18 12:41:32.934240135 -0700
|
||||
@@ -289,7 +289,7 @@ modexp bool handle_fault_range (int prot
|
||||
|
||||
local void xmprotect (aint addr, uintM len, int prot) {
|
||||
if (mprotect((void*)addr,len,prot) < 0) {
|
||||
- fprintf(stderr,GETTEXTL("mprotect(0x%lx,%d,%d) failed."),addr,len,prot);
|
||||
+ fprintf(stderr,GETTEXTL("mprotect(0x%lx,%lu,%d) failed."),addr,(unsigned long)len,prot);
|
||||
errno_out(OS_errno);
|
||||
abort();
|
||||
}
|
||||
--- src/spvw_language.d.orig 2017-05-25 09:49:04.000000000 -0600
|
||||
+++ src/spvw_language.d 2018-02-18 12:41:32.934240135 -0700
|
||||
@@ -172,7 +172,7 @@ global void init_language
|
||||
{ /* Invalidate the gettext internal caches. */
|
||||
char *td = textdomain(NULL);
|
||||
if (NULL == td) {
|
||||
- ANSIC_ERROR("textdomain",NULL);
|
||||
+ ANSIC_ERROR("textdomain","");
|
||||
}
|
||||
if (NULL == textdomain(td)) {
|
||||
ANSIC_ERROR("textdomain",td);
|
||||
--- src/spvw_sigsegv.d.orig 2018-01-09 16:04:26.000000000 -0700
|
||||
+++ src/spvw_sigsegv.d 2018-03-03 13:52:32.985798284 -0700
|
||||
@@ -62,7 +62,7 @@ local void print_mem_stats (void) {
|
||||
/* Put a breakpoint here if you want to catch CLISP just before it dies. */
|
||||
global void sigsegv_handler_failed (void* address) {
|
||||
fprint(stderr,"\n");
|
||||
- fprintf(stderr,GETTEXTL("SIGSEGV cannot be cured. Fault address = 0x%lx."),
|
||||
+ fprintf(stderr,GETTEXTL("SIGSEGV cannot be cured. Fault address = %p."),
|
||||
address);
|
||||
fprint(stderr,"\n");
|
||||
print_mem_stats();
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
--- modules/libsvm/libsvm.lisp.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ modules/libsvm/libsvm.lisp 2017-02-24 10:42:20.857324755 -0700
|
||||
@@ -31,7 +31,7 @@
|
||||
(c-lines "
|
||||
#if !defined(HAVE_SVM_DESTROY_MODEL)
|
||||
# if defined(HAVE_SVM_FREE_AND_DESTROY_MODEL)
|
||||
-void svm_destroy_model (svm_model *model){ svm_free_and_destroy_model(&model); }
|
||||
+void svm_destroy_model (struct svm_model *model){ svm_free_and_destroy_model(&model); }
|
||||
# else
|
||||
# error No svm_destroy_model and no svm_free_and_destroy_model!
|
||||
# endif
|
|
@ -1,11 +0,0 @@
|
|||
--- modules/bindings/glibc/linux.lisp.orig 2017-02-24 10:37:24.000000000 -0700
|
||||
+++ modules/bindings/glibc/linux.lisp 2017-02-24 10:42:45.491114052 -0700
|
||||
@@ -294,6 +294,8 @@
|
||||
;; for robust mutexes
|
||||
(def-c-const EOWNERDEAD (:documentation "Owner died")) ; 130
|
||||
(def-c-const ENOTRECOVERABLE (:documentation "State not recoverable")) ; 131
|
||||
+(def-c-const ERFKILL (:documentation "Operation not possible due to RF-kill")) ; 132
|
||||
+(def-c-const EHWPOISON (:documentation "Memory page has hardware error")) ; 133
|
||||
|
||||
; -------------------------- <bits/errno.h> -----------------------------------
|
||||
|
|
@ -1,124 +0,0 @@
|
|||
diff -up clisp-2.49.93/src/aridecl.d.negshift clisp-2.49.93/src/aridecl.d
|
||||
--- clisp-2.49.93/src/aridecl.d.negshift 2018-02-26 11:22:55.000000000 -0500
|
||||
+++ clisp-2.49.93/src/aridecl.d 2018-02-26 11:37:34.006610477 -0500
|
||||
@@ -163,9 +163,9 @@
|
||||
/* Creates a single float from sign (0 or -1), exponent and mantissa: */
|
||||
#define make_FF(sign,exp,mant) \
|
||||
type_data_object(FF_type | (bit(vorz_bit_t) & (sign)), \
|
||||
- (ffloat)((sign) << (FF_exp_len+FF_mant_len) \
|
||||
- | (((exp) & (bit(FF_exp_len)-1)) << FF_mant_len) \
|
||||
- | ((mant) & (bit(FF_mant_len)-1))))
|
||||
+ (ffloat)(((unsigned int)(sign)) << (FF_exp_len+FF_mant_len) \
|
||||
+ | ((((unsigned int)exp) & (bit(FF_exp_len)-1)) << FF_mant_len) \
|
||||
+ | (((unsigned int)mant) & (bit(FF_mant_len)-1))))
|
||||
/* Single Float 0.0 : */
|
||||
#define FF_0 make_FF(0,0,0)
|
||||
/* Single Float 1.0 : */
|
||||
diff -up clisp-2.49.93/src/lispbibl.d.negshift clisp-2.49.93/src/lispbibl.d
|
||||
--- clisp-2.49.93/src/lispbibl.d.negshift 2018-02-26 11:37:33.998610668 -0500
|
||||
+++ clisp-2.49.93/src/lispbibl.d 2018-02-26 11:37:34.008610429 -0500
|
||||
@@ -1360,9 +1360,9 @@ typedef signed int signean;
|
||||
#endif
|
||||
#endif
|
||||
/* Minus bit number n (0<=n<32) */
|
||||
-#define minus_bit(n) (-1L<<(n))
|
||||
+#define minus_bit(n) ((long)(((unsigned long)-1L)<<(n)))
|
||||
/* Minus bit number n (0<n<=32) mod 2^32 */
|
||||
-#define minus_bitm(n) (-2L<<((n)-1))
|
||||
+#define minus_bitm(n) ((long)(((unsigned long)-2L)<<((n)-1)))
|
||||
%% export_def(bit(n));
|
||||
%% #if notused
|
||||
%% export_def(bitm(n));
|
||||
@@ -5488,7 +5488,7 @@ typedef signed_int_with_n_bits(intVsize)
|
||||
#define vbit(n) (LL(1)<<(n))
|
||||
#define vbitm(n) (LL(2)<<((n)-1))
|
||||
#define vbit_test(x,n) ((x) & vbit(n))
|
||||
- #define minus_vbit(n) (-LL(1)<<(n))
|
||||
+ #define minus_vbit(n) ((long long)(((unsigned long long)-LL(1))<<(n)))
|
||||
#else
|
||||
#define vbit bit
|
||||
#define vbitm bitm
|
||||
@@ -8060,7 +8060,7 @@ typedef unsigned_int_with_n_bits(char_in
|
||||
> delta: a constant
|
||||
< result: incremented fixnum */
|
||||
#define fixnum_inc(obj,delta) \
|
||||
- objectplus(obj, (soint)(delta) << oint_data_shift)
|
||||
+ objectplus(obj, (oint)(delta) << oint_data_shift)
|
||||
%% export_def(fixnum_inc(obj,delta));
|
||||
|
||||
/* posfixnum(x) is a fixnum with value x>=0. */
|
||||
diff -up clisp-2.49.93/src/spvw_gcmark.d.negshift clisp-2.49.93/src/spvw_gcmark.d
|
||||
--- clisp-2.49.93/src/spvw_gcmark.d.negshift 2018-02-26 11:22:55.000000000 -0500
|
||||
+++ clisp-2.49.93/src/spvw_gcmark.d 2018-02-26 11:38:05.018870433 -0500
|
||||
@@ -43,7 +43,7 @@ local void gc_mark (object obj)
|
||||
goto down; /* and descent */ \
|
||||
}
|
||||
#define up_varobject(first_offset) \
|
||||
- { curr = objectplus(pred,-(soint)(first_offset)<<(oint_addr_shift-addr_shift)); /* becomes current object */ \
|
||||
+ { curr = objectplus(pred,((oint)-(soint)(first_offset))<<(oint_addr_shift-addr_shift)); /* becomes current object */ \
|
||||
pred = prepred; goto up; /* go further up */ \
|
||||
}
|
||||
#define down_nopointers(The) \
|
||||
@@ -68,7 +68,7 @@ local void gc_mark (object obj)
|
||||
goto down; /* and descent */ \
|
||||
}
|
||||
#define up_iarray() \
|
||||
- { curr = objectplus(pred,-(soint)iarray_data_offset<<(oint_addr_shift-addr_shift)); /* array becomes current object */ \
|
||||
+ { curr = objectplus(pred,((oint)-(soint)iarray_data_offset)<<(oint_addr_shift-addr_shift)); /* array becomes current object */ \
|
||||
pred = prepred; goto up; /* go further up */ \
|
||||
}
|
||||
#define down_sistring() \
|
||||
@@ -88,7 +88,7 @@ local void gc_mark (object obj)
|
||||
goto down; /* and descent */ \
|
||||
}
|
||||
#define up_sistring() \
|
||||
- { curr = objectplus(pred,-(soint)sistring_data_offset<<(oint_addr_shift-addr_shift)); /* array becomes current object */ \
|
||||
+ { curr = objectplus(pred,((oint)-(soint)sistring_data_offset)<<(oint_addr_shift-addr_shift)); /* array becomes current object */ \
|
||||
pred = prepred; goto up; /* go further up */ \
|
||||
}
|
||||
#define down_svector() \
|
||||
@@ -114,7 +114,7 @@ local void gc_mark (object obj)
|
||||
goto down; /* and descent */ \
|
||||
}}
|
||||
#define up_svector() \
|
||||
- { curr = objectplus(pred,-(soint)offsetofa(svector_,data)<<(oint_addr_shift-addr_shift)); /* Svector becomes current object */ \
|
||||
+ { curr = objectplus(pred,((oint)-(soint)offsetofa(svector_,data))<<(oint_addr_shift-addr_shift)); /* Svector becomes current object */ \
|
||||
pred = prepred; goto up; /* go further up */ \
|
||||
}
|
||||
#define down_lrecord() \
|
||||
@@ -140,7 +140,7 @@ local void gc_mark (object obj)
|
||||
goto down; /* and descent */ \
|
||||
}}
|
||||
#define up_lrecord() \
|
||||
- { curr = objectplus(pred,-(soint)offsetofa(record_,recdata)<<(oint_addr_shift-addr_shift)); /* Lrecord becomes current object */ \
|
||||
+ { curr = objectplus(pred,((oint)-(soint)offsetofa(record_,recdata))<<(oint_addr_shift-addr_shift)); /* Lrecord becomes current object */ \
|
||||
pred = prepred; goto up; /* go further up */ \
|
||||
}
|
||||
#define down_sxrecord() \
|
||||
@@ -177,7 +177,7 @@ local void gc_mark (object obj)
|
||||
#define down_cclosure()
|
||||
#endif
|
||||
#define up_sxrecord() \
|
||||
- { curr = objectplus(pred,-(soint)offsetofa(record_,recdata)<<(oint_addr_shift-addr_shift)); /* record becomes current object */ \
|
||||
+ { curr = objectplus(pred,((oint)-(soint)offsetofa(record_,recdata))<<(oint_addr_shift-addr_shift)); /* record becomes current object */ \
|
||||
pred = prepred; goto up; /* go further up */ \
|
||||
}
|
||||
#ifdef ONE_FREE_BIT_HEAPCODES
|
||||
@@ -348,7 +348,7 @@ local void gc_mark (object obj)
|
||||
curr = currently marked object, store in *pred */
|
||||
var object prepred = *(gcv_object_t*)ThePointer(pred); /* old predecessor */
|
||||
*(gcv_object_t*)ThePointer(pred) = curr; /* write back component */
|
||||
- pred = objectplus(pred,-(soint)(sizeof(gcv_object_t))<<(oint_addr_shift-addr_shift)); /* go to next component */
|
||||
+ pred = objectplus(pred,((oint)-(soint)sizeof(gcv_object_t))<<(oint_addr_shift-addr_shift)); /* go to next component */
|
||||
if (marked(ThePointer(pred))) { /* already marked? */
|
||||
curr = /* next component, without mark */
|
||||
without_mark_bit(*(gcv_object_t*)ThePointer(pred));
|
||||
@@ -383,7 +383,7 @@ local void gc_mark (object obj)
|
||||
case_subr: /* SUBR */
|
||||
up_sxrecord();
|
||||
case_sstring: /* simple-string */
|
||||
- { var object pred_ = objectplus(pred,-(soint)sistring_data_offset<<(oint_addr_shift-addr_shift));
|
||||
+ { var object pred_ = objectplus(pred,((oint)-(soint)sistring_data_offset)<<(oint_addr_shift-addr_shift));
|
||||
if (sstring_reallocatedp(TheSstring(pred_)))
|
||||
up_sistring();
|
||||
}
|
|
@ -1,199 +0,0 @@
|
|||
diff -up clisp-2.49.93/src/control.d.volatile clisp-2.49.93/src/control.d
|
||||
--- clisp-2.49.93/src/control.d.volatile 2018-02-26 11:22:55.000000000 -0500
|
||||
+++ clisp-2.49.93/src/control.d 2018-02-26 11:31:38.737088256 -0500
|
||||
@@ -1602,7 +1602,7 @@ LISPFUN(maplap,seclass_default,2,0,rest,
|
||||
|
||||
LISPSPECFORM(tagbody, 0,0,body)
|
||||
{ /* (TAGBODY {tag | statement}), CLTL p. 130 */
|
||||
- var object body = popSTACK();
|
||||
+ var volatile object body = popSTACK();
|
||||
{ /* build GENV-frame: */
|
||||
var gcv_object_t* top_of_frame = STACK; /* pointer to frame */
|
||||
pushSTACK(aktenv.go_env);
|
||||
diff -up clisp-2.49.93/src/eval.d.volatile clisp-2.49.93/src/eval.d
|
||||
--- clisp-2.49.93/src/eval.d.volatile 2018-02-26 11:22:55.000000000 -0500
|
||||
+++ clisp-2.49.93/src/eval.d 2018-02-26 11:32:25.995960520 -0500
|
||||
@@ -708,10 +708,10 @@ global void throw_to (object tag) {
|
||||
global maygc void invoke_handlers (object cond) {
|
||||
/* Also deactivates the handler being called, and all newer handlers.
|
||||
the handler-ranges, which are screened off: */
|
||||
- var stack_range_t* other_ranges = inactive_handlers;
|
||||
+ var stack_range_t* volatile other_ranges = inactive_handlers;
|
||||
var stack_range_t new_range;
|
||||
/* Search for Handler-Frame, that handles a Type with (TYPEP cond type): */
|
||||
- var gcv_object_t* FRAME = STACK;
|
||||
+ var gcv_object_t* volatile FRAME = STACK;
|
||||
while (1) {
|
||||
/* search in Stack starting at FRAME for a suitable HANDLER-Frame: */
|
||||
if (!(other_ranges == NULL) && (FRAME == other_ranges->low_limit)) {
|
||||
@@ -725,7 +725,7 @@ global maygc void invoke_handlers (objec
|
||||
if (frame_info == HANDLER_frame_info || frame_info == C_HANDLER_frame_info) { /* Handler-Frame? */
|
||||
/* loop over types of the vectors #(type1 label1 ... typem labelm): */
|
||||
var uintL m2 = Svector_length(Car(FRAME_(frame_handlers))); /* 2*m */
|
||||
- var uintL i = 0;
|
||||
+ var volatile uintL i = 0;
|
||||
do {
|
||||
pushSTACK(cond); /* save cond */
|
||||
pushSTACK(cond);
|
||||
@@ -2432,7 +2432,7 @@ local maygc void trace_call (object fun,
|
||||
/* But ':ALLOW-OTHER-KEYS NIL' hides a subsequent ':ALLOW-OTHER-KEYS T' \
|
||||
(see CLHS 3.4.1.4.1.1). */ \
|
||||
var bool allow_hidden = false; /* true if seen ':ALLOW-OTHER-KEYS NIL' */ \
|
||||
- var uintC check_count=argcount; \
|
||||
+ var volatile uintC check_count=argcount; \
|
||||
while (check_count--) { \
|
||||
var object kw = NEXT(argptr); /* next Argument */ \
|
||||
var object val = NEXT(argptr); /* and value for it */ \
|
||||
@@ -2475,7 +2475,7 @@ local maygc void trace_call (object fun,
|
||||
> found_statement: what is to be done, if value found */
|
||||
#define find_keyword_value(notfound_statement,found_statement) \
|
||||
{ var gcv_object_t* argptr = rest_args_pointer; \
|
||||
- var uintC find_count; \
|
||||
+ var volatile uintC find_count; \
|
||||
dotimesC(find_count,argcount, { \
|
||||
if (eq(NEXT(argptr),keyword)) goto kw_found; /* right keyword? */ \
|
||||
argptr skipSTACKop -1; /* NEXT */ \
|
||||
@@ -2494,8 +2494,9 @@ local maygc void trace_call (object fun,
|
||||
< mv_count/mv_space: values
|
||||
< STACK: cleaned up, = args_pointer
|
||||
can trigger GC */
|
||||
-local maygc Values funcall_iclosure (object closure, gcv_object_t* args_pointer,
|
||||
- uintC argcount)
|
||||
+local maygc Values funcall_iclosure (volatile object closure,
|
||||
+ gcv_object_t* args_pointer,
|
||||
+ volatile uintC argcount)
|
||||
{
|
||||
/* 1st step: finish building of APPLY-frame: */
|
||||
var sp_jmp_buf my_jmp_buf;
|
||||
@@ -2683,7 +2684,7 @@ local maygc Values funcall_iclosure (obj
|
||||
pushSTACK(NIL); /* start of list */
|
||||
if (argcount>0) {
|
||||
var gcv_object_t* ptr = args_pointer STACKop -(uintP)argcount;
|
||||
- var uintC count;
|
||||
+ var volatile uintC count;
|
||||
dotimespC(count,argcount, {
|
||||
var object new_cons = allocate_cons();
|
||||
Car(new_cons) = BEFORE(ptr);
|
||||
@@ -2698,7 +2699,7 @@ local maygc Values funcall_iclosure (obj
|
||||
/* process &KEY-parameters: */
|
||||
if (!numberp(TheIclosure(closure)->clos_keywords)) {
|
||||
/* Keyword-parameters present */
|
||||
- var gcv_object_t* rest_args_pointer = args_pointer;
|
||||
+ var gcv_object_t* volatile rest_args_pointer = args_pointer;
|
||||
/* argcount = number of remaining arguments */
|
||||
/* halve argcount --> number of pairs Key.Value: */
|
||||
if (argcount%2) { /* number was odd -> not paired: */
|
||||
@@ -2970,7 +2971,7 @@ local Values eval_ffunction (object fun)
|
||||
> form: form
|
||||
< mv_count/mv_space: values
|
||||
can trigger GC */
|
||||
-modexp maygc Values eval (object form)
|
||||
+modexp maygc Values eval (volatile object form)
|
||||
{
|
||||
start:
|
||||
/* Test for Keyboard-Interrupt: */
|
||||
@@ -3025,7 +3026,7 @@ modexp maygc Values eval (object form)
|
||||
> form: Form
|
||||
< mv_count/mv_space: values
|
||||
can trigger GC */
|
||||
-global maygc Values eval_no_hooks (object form) {
|
||||
+global maygc Values eval_no_hooks (volatile object form) {
|
||||
var sp_jmp_buf my_jmp_buf;
|
||||
/* build EVAL-Frame: */
|
||||
{
|
||||
@@ -5769,7 +5770,8 @@ local maygc Values funcall_closure (obje
|
||||
#define GOTO_ERROR(label) goto label
|
||||
#define DEBUG_CHECK_BYTEPTR(b) do{}while(0)
|
||||
#endif
|
||||
-local /*maygc*/ Values interpret_bytecode_ (object closure_in, Sbvector codeptr,
|
||||
+local /*maygc*/ Values interpret_bytecode_ (volatile object closure_in,
|
||||
+ volatile Sbvector codeptr,
|
||||
const uintB* byteptr_in)
|
||||
{
|
||||
GCTRIGGER_IF(true, {
|
||||
@@ -5798,7 +5800,7 @@ local /*maygc*/ Values interpret_bytecod
|
||||
#endif
|
||||
TRACE_CALL(closure,'B','C');
|
||||
/* situate closure in STACK, below the arguments: */
|
||||
- var gcv_object_t* closureptr = (pushSTACK(closure), &STACK_0);
|
||||
+ var gcv_object_t* volatile closureptr = (pushSTACK(closure), &STACK_0);
|
||||
#ifndef FAST_SP
|
||||
/* If there is no fast SP-Access, one has to introduce
|
||||
an extra pointer: */
|
||||
diff -up clisp-2.49.93/src/lispbibl.d.volatile clisp-2.49.93/src/lispbibl.d
|
||||
--- clisp-2.49.93/src/lispbibl.d.volatile 2018-02-26 11:22:55.000000000 -0500
|
||||
+++ clisp-2.49.93/src/lispbibl.d 2018-02-26 11:31:38.742088137 -0500
|
||||
@@ -11836,7 +11836,7 @@ All other long words on the LISP-Stack a
|
||||
#define FAST_SP
|
||||
#endif
|
||||
#elif defined(GNU) && defined(SP_register)
|
||||
- register __volatile__ aint __SP __asm__(SP_register);
|
||||
+ register aint __SP __asm__(SP_register);
|
||||
#ifdef SPARC64
|
||||
#define SP() (__SP+2048)
|
||||
#else
|
||||
diff -up clisp-2.49.93/src/record.d.volatile clisp-2.49.93/src/record.d
|
||||
--- clisp-2.49.93/src/record.d.volatile 2018-02-26 11:22:56.000000000 -0500
|
||||
+++ clisp-2.49.93/src/record.d 2018-02-26 11:31:38.743088113 -0500
|
||||
@@ -1406,7 +1406,7 @@ LISPFUNNR(punbound,0) { /* not Foldable
|
||||
> obj: the same CLOS instance, not a forward pointer
|
||||
< result: the same CLOS instance, not a forward pointer
|
||||
can trigger GC */
|
||||
-global maygc object update_instance (object user_obj, object obj) {
|
||||
+global maygc object update_instance (object user_obj, volatile object obj) {
|
||||
/* Note about the handling of multiple consecutive class redefinitions:
|
||||
When there are multiple class redefinitions before an instance gets to
|
||||
be updated, we call UPDATE-INSTANCE-FOR-REDEFINED-CLASS once for each
|
||||
diff -up clisp-2.49.93/src/spvw.d.volatile clisp-2.49.93/src/spvw.d
|
||||
--- clisp-2.49.93/src/spvw.d.volatile 2018-02-26 11:22:55.000000000 -0500
|
||||
+++ clisp-2.49.93/src/spvw.d 2018-02-26 11:31:38.743088113 -0500
|
||||
@@ -3888,7 +3888,7 @@ local inline void main_actions (struct a
|
||||
var gcv_object_t* top_of_frame = STACK; /* pointer over frame */
|
||||
var sp_jmp_buf returner; /* return point */
|
||||
var const char* const* fileptr = &p->argv_init_files[0];
|
||||
- var uintL count = p->argv_init_filecount;
|
||||
+ var volatile uintL count = p->argv_init_filecount;
|
||||
finish_entry_frame(DRIVER,returner,,goto done_driver_init_files;);
|
||||
do {
|
||||
pushSTACK(asciz_to_string(*fileptr++,O(misc_encoding)));
|
||||
@@ -3906,8 +3906,8 @@ local inline void main_actions (struct a
|
||||
if (p->argv_compile_filecount > 0) {
|
||||
var gcv_object_t* top_of_frame = STACK; /* pointer over frame */
|
||||
var sp_jmp_buf returner; /* return point */
|
||||
- var const argv_compile_file_t* fileptr = &p->argv_compile_files[0];
|
||||
- var uintL count = p->argv_compile_filecount;
|
||||
+ var const argv_compile_file_t* volatile fileptr = &p->argv_compile_files[0];
|
||||
+ var volatile uintL count = p->argv_compile_filecount;
|
||||
finish_entry_frame(DRIVER,returner,,goto done_driver_compile_files;);
|
||||
do {
|
||||
var uintC argcount = 1;
|
||||
diff -up clisp-2.49.93/src/stream.d.volatile clisp-2.49.93/src/stream.d
|
||||
--- clisp-2.49.93/src/stream.d.volatile 2018-02-26 11:22:56.000000000 -0500
|
||||
+++ clisp-2.49.93/src/stream.d 2018-02-26 11:31:38.746088041 -0500
|
||||
@@ -5875,7 +5875,7 @@ local maygc void clear_output_unbuffered
|
||||
close_ochannel(stream, abort);
|
||||
> stream : Channel-Stream
|
||||
> abort: flag: non-0 => ignore errors */
|
||||
-local maygc void close_ochannel (object stream, uintB abort) {
|
||||
+local maygc void close_ochannel (volatile object stream, uintB abort) {
|
||||
pushSTACK(stream);
|
||||
MAYBE_IGNORE_ERRORS(abort,oconv_unshift_output_unbuffered(stream));
|
||||
stream = STACK_0;
|
||||
@@ -8358,7 +8358,7 @@ local void closed_buffered (object strea
|
||||
> stream : File-Stream.
|
||||
> abort: flag: non-0 => ignore errors
|
||||
changed in stream: all Components except name and truename */
|
||||
-local maygc void close_buffered (object stream, uintB abort) {
|
||||
+local maygc void close_buffered (volatile object stream, uintB abort) {
|
||||
/* Handle=NIL (Stream already closed) -> finished: */
|
||||
if (nullp(BufferedStream_channel(stream)))
|
||||
return;
|
||||
@@ -9326,7 +9326,7 @@ local maygc char** lisp_completion (char
|
||||
}
|
||||
sstring_un_realloc(m);
|
||||
var uintL charcount = Sstring_length(m);
|
||||
- var const chart* ptr1;
|
||||
+ var const chart* volatile ptr1;
|
||||
unpack_sstring_alloca(m,charcount,0, ptr1=);
|
||||
{ /* (CATCH 'SYS::CONVERSION-FAILURE ...) */
|
||||
var gcv_object_t* top_of_frame = STACK;
|
371
clisp.spec
371
clisp.spec
|
@ -1,37 +1,23 @@
|
|||
# Mercurial snapshot
|
||||
%global hgver 20180224hg
|
||||
%global commit d1310adc5aa7bb3610cd4c44c96b134bba75d405
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
# There is a plus on the end for unreleased versions, not for released versions
|
||||
%global instdir %{name}-%{version}+
|
||||
|
||||
Name: clisp
|
||||
Summary: ANSI Common Lisp implementation
|
||||
Version: 2.49.93
|
||||
Release: 0.1.%{hgver}%{?dist}
|
||||
License: GPLv2
|
||||
Release: 1.%{shortcommit}git%{?dist}
|
||||
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 b55b8196c9f2 http://hg.code.sf.net/p/clisp/clisp clisp-2.49.93
|
||||
# rm -fr clisp-2.49.93/.hg*
|
||||
# tar cvJf clisp-2.49.93-20180224hg.tar.xz clisp-2.49.93
|
||||
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
|
||||
# http://sourceforge.net/tracker/?func=detail&aid=3529615&group_id=1355&atid=301355
|
||||
# Patch1: %%{name}-arm.patch
|
||||
# http://sourceforge.net/tracker/?func=detail&aid=3572511&group_id=1355&atid=301355
|
||||
# Patch2: %%{name}-libsvm.patch
|
||||
# http://sourceforge.net/tracker/?func=detail&aid=3572516&group_id=1355&atid=301355
|
||||
Patch3: %{name}-db.patch
|
||||
# Linux-specific fixes. Sent upstream 25 Jul 2012.
|
||||
Patch4: %{name}-linux.patch
|
||||
# Add missing volatile keywords.
|
||||
Patch5: %{name}-volatile.patch
|
||||
# Left shift of a signed value invokes undefined behabvior.
|
||||
Patch6: %{name}-negshift.patch
|
||||
# Fix an aliasing issue, causes a build failure on ARM.
|
||||
Patch7: %{name}-alias.patch
|
||||
# The source for this package was pulled from upstream's git repository.
|
||||
Source0: https://gitlab.com/gnu-clisp/%{name}/repository/archive.tar.gz?ref=%{commit}#/%{name}-%{shortcommit}.tar.gz
|
||||
# https://sourceforge.net/p/clisp/patches/35/
|
||||
Patch0: %{name}-db.patch
|
||||
# https://sourceforge.net/p/clisp/patches/32/
|
||||
Patch1: %{name}-format.patch
|
||||
|
||||
|
||||
BuildRequires: compat-readline5-devel
|
||||
BuildRequires: dbus-devel
|
||||
BuildRequires: emacs
|
||||
BuildRequires: fcgi-devel
|
||||
|
@ -48,9 +34,12 @@ BuildRequires: libdb-devel
|
|||
BuildRequires: libglade2-devel
|
||||
BuildRequires: libsigsegv-devel
|
||||
BuildRequires: libsvm-devel
|
||||
#BuildRequires: pari-devel
|
||||
BuildRequires: libxcrypt-devel
|
||||
BuildRequires: pari-devel
|
||||
BuildRequires: pari-gp
|
||||
BuildRequires: pcre-devel
|
||||
BuildRequires: postgresql-devel
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: zlib-devel
|
||||
|
||||
# 2018-02-26
|
||||
|
@ -99,25 +88,9 @@ Files necessary for linking CLISP programs.
|
|||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
# %%patch0
|
||||
# %%patch1
|
||||
# %%patch2
|
||||
%patch3
|
||||
%patch4
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
|
||||
# Convince CLisp to build against compat-readline5 instead of readline.
|
||||
# This is to avoid pulling the GPLv3 readline 6 into a GPLv2 CLisp binary.
|
||||
# See Red Hat bug #511303.
|
||||
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
|
||||
%setup -q -n %{name}-%{commit}-%{commit}
|
||||
%patch0
|
||||
%patch1
|
||||
|
||||
# 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|' \
|
||||
|
@ -148,12 +121,12 @@ chmod a-x modules/clx/clx-manual/html/doc-index.cgi
|
|||
|
||||
%build
|
||||
ulimit -s unlimited
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
# Do not need to specify base modules: i18n, readline, regexp, syscalls.
|
||||
# The dirkey module currently can only be built on Windows/Cygwin/MinGW.
|
||||
# The editor module is not in good enough shape to use.
|
||||
# The matlab, netica, and oracle modules require proprietary code to build.
|
||||
# The pari module only works with pari 2.3. Fedora currently has pari 2.7.
|
||||
# The queens module is intended as an example only, not for actual use.
|
||||
./configure --prefix=%{_prefix} \
|
||||
--libdir=%{_libdir} \
|
||||
|
@ -171,6 +144,7 @@ ulimit -s unlimited
|
|||
--with-module=gdbm \
|
||||
--with-module=gtk2 \
|
||||
--with-module=libsvm \
|
||||
--with-module=pari \
|
||||
--with-module=pcre \
|
||||
--with-module=postgresql \
|
||||
--with-module=rawsock \
|
||||
|
@ -179,18 +153,14 @@ ulimit -s unlimited
|
|||
--with-ffcall \
|
||||
--cbcx \
|
||||
build \
|
||||
%ifarch ppc %{power64}
|
||||
CPPFLAGS="-DNO_GENERATIONAL_GC -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -I/usr/include/readline5 -I/usr/include/libsvm" \
|
||||
%else
|
||||
CPPFLAGS="-I/usr/include/readline5 -I/usr/include/libsvm" \
|
||||
%endif
|
||||
CFLAGS="%{optflags} -Wa,--noexecstack -L%{_libdir}/readline5" \
|
||||
LDFLAGS="-Wl,-z,relro -L%{_libdir}/readline5 -Wl,-z,noexecstack"
|
||||
CPPFLAGS="-I/usr/include/libsvm" \
|
||||
CFLAGS="%{optflags} -Wa,--noexecstack" \
|
||||
LDFLAGS="-Wl,--as-needed -Wl,-z,relro -Wl,-z,noexecstack"
|
||||
|
||||
%install
|
||||
ulimit -s unlimited
|
||||
make -C build DESTDIR=%{buildroot} install
|
||||
cp -a build/full %{buildroot}%{_libdir}/%{name}-%{version}+
|
||||
cp -a build/full %{buildroot}%{_libdir}/%{instdir}
|
||||
rm -f %{buildroot}%{_pkgdocdir}/doc/clisp.{dvi,1,ps}
|
||||
rm -f %{buildroot}%{_pkgdocdir}/{COPYRIGHT,GNU-GPL}
|
||||
cp -p doc/mop-spec.pdf %{buildroot}%{_pkgdocdir}/doc
|
||||
|
@ -208,41 +178,39 @@ pushd %{buildroot}%{_datadir}/emacs/site-lisp
|
|||
popd
|
||||
|
||||
# Put back the original config.rpath, and fix executable bits
|
||||
cp -p config.rpath.orig %{buildroot}/%{_libdir}/%{name}-%{version}+/build-aux/config.rpath
|
||||
cp -p config.rpath.orig %{buildroot}%{_libdir}/%{instdir}/build-aux/config.rpath
|
||||
chmod a+x \
|
||||
%{buildroot}/%{_libdir}/%{name}-%{version}+/build-aux/config.guess \
|
||||
%{buildroot}/%{_libdir}/%{name}-%{version}+/build-aux/config.sub \
|
||||
%{buildroot}/%{_libdir}/%{name}-%{version}+/build-aux/depcomp \
|
||||
%{buildroot}/%{_libdir}/%{name}-%{version}+/build-aux/install-sh \
|
||||
|
||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/config.guess \
|
||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/config.sub \
|
||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/depcomp \
|
||||
%{buildroot}%{_libdir}/%{instdir}/build-aux/install-sh \
|
||||
# Fix paths in the Makefiles
|
||||
for mk in $(find %{buildroot}%{_libdir} -name Makefile); do
|
||||
sed -e "s,$PWD/modules,%{_libdir}/%{name}-%{version}+," \
|
||||
sed -e "s,$PWD/modules,%{_libdir}/%{instdir}," \
|
||||
-e "s,$PWD/build/clisp,%{_bindir}/clisp," \
|
||||
-e "s,$PWD/build/linkkit,%{_libdir}/%{name}-%{version}+/linkkit," \
|
||||
-e "s,$PWD/build/linkkit,%{_libdir}/%{instdir}/linkkit," \
|
||||
-i $mk
|
||||
done
|
||||
for mk in %{buildroot}%{_libdir}/%{name}-%{version}+/{base,full}/makevars; do
|
||||
for mk in %{buildroot}%{_libdir}/%{instdir}/{base,full}/makevars; do
|
||||
sed -e "s, -I$PWD[^']*,," \
|
||||
-e "s,$PWD/readline.*readline/lib[[:digit:]]*,-L%{_libdir}/readline5 -lreadline," \
|
||||
-e "s,%{_libdir}/lib\([[:alnum:]]*\)\.so,-l\1,g" \
|
||||
-i $mk
|
||||
done
|
||||
|
||||
# Install config.h, which is needed in some cases
|
||||
for dir in %{buildroot}%{_libdir}/%{name}-%{version}+/*; do
|
||||
for dir in %{buildroot}%{_libdir}/%{instdir}/*; do
|
||||
cp -p build/$(basename $dir)/config.h $dir || :
|
||||
done
|
||||
cp -p build/config.h %{buildroot}%{_libdir}/%{name}-%{version}+
|
||||
cp -p build/config.h %{buildroot}%{_libdir}/%{instdir}
|
||||
cp -p build/clx/new-clx/config.h \
|
||||
%{buildroot}%{_libdir}/%{name}-%{version}+/clx/new-clx
|
||||
%{buildroot}%{_libdir}/%{instdir}/clx/new-clx
|
||||
|
||||
# Fix permissions
|
||||
chmod 0755 %{buildroot}%{_bindir}/%{name}
|
||||
chmod 0755 %{buildroot}%{_libdir}/%{name}-%{version}+/full/lisp.run
|
||||
chmod 0755 %{buildroot}%{_libdir}/%{instdir}/full/lisp.run
|
||||
|
||||
# Fix broken symlinks in the full set
|
||||
pushd %{buildroot}%{_libdir}/%{name}-%{version}+/full
|
||||
pushd %{buildroot}%{_libdir}/%{instdir}/full
|
||||
for obj in bogomips calls gettext readline regexi; do
|
||||
rm -f ${obj}.o
|
||||
ln -s ../base/${obj}.o ${obj}.o
|
||||
|
@ -288,45 +256,45 @@ ln -s ../../src/modules.c build/full/modules.c
|
|||
%{_bindir}/clisp
|
||||
%{_mandir}/man1/clisp.1*
|
||||
%{_pkgdocdir}/
|
||||
%dir %{_libdir}/%{name}-%{version}+/
|
||||
%dir %{_libdir}/%{name}-%{version}+/asdf/
|
||||
%{_libdir}/%{name}-%{version}+/asdf/asdf.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/base/
|
||||
%{_libdir}/%{name}-%{version}+/base/lispinit.mem
|
||||
%{_libdir}/%{name}-%{version}+/base/lisp.run
|
||||
%dir %{_libdir}/%{name}-%{version}+/berkeley-db/
|
||||
%{_libdir}/%{name}-%{version}+/berkeley-db/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/bindings/
|
||||
%dir %{_libdir}/%{name}-%{version}+/bindings/glibc/
|
||||
%{_libdir}/%{name}-%{version}+/bindings/glibc/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/clx/
|
||||
%dir %{_libdir}/%{name}-%{version}+/clx/new-clx/
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/*.fas
|
||||
%{_libdir}/%{name}-%{version}+/data/
|
||||
%dir %{_libdir}/%{name}-%{version}+/dbus/
|
||||
%{_libdir}/%{name}-%{version}+/dbus/*.fas
|
||||
%{_libdir}/%{name}-%{version}+/dynmod/
|
||||
%dir %{_libdir}/%{name}-%{version}+/fastcgi/
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/full/
|
||||
%{_libdir}/%{name}-%{version}+/full/lispinit.mem
|
||||
%{_libdir}/%{name}-%{version}+/full/lisp.run
|
||||
%dir %{_libdir}/%{name}-%{version}+/gdbm/
|
||||
%{_libdir}/%{name}-%{version}+/gdbm/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/gtk2/
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/libsvm/
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/*.fas
|
||||
#%%dir %%{_libdir}/%%{name}-%%{version}/pari/
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/pcre/
|
||||
%{_libdir}/%{name}-%{version}+/pcre/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/postgresql/
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/rawsock/
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/*.fas
|
||||
%dir %{_libdir}/%{name}-%{version}+/zlib/
|
||||
%{_libdir}/%{name}-%{version}+/zlib/*.fas
|
||||
%dir %{_libdir}/%{instdir}/
|
||||
%dir %{_libdir}/%{instdir}/asdf/
|
||||
%{_libdir}/%{instdir}/asdf/asdf.fas
|
||||
%dir %{_libdir}/%{instdir}/base/
|
||||
%{_libdir}/%{instdir}/base/lispinit.mem
|
||||
%{_libdir}/%{instdir}/base/lisp.run
|
||||
%dir %{_libdir}/%{instdir}/berkeley-db/
|
||||
%{_libdir}/%{instdir}/berkeley-db/*.fas
|
||||
%dir %{_libdir}/%{instdir}/bindings/
|
||||
%dir %{_libdir}/%{instdir}/bindings/glibc/
|
||||
%{_libdir}/%{instdir}/bindings/glibc/*.fas
|
||||
%dir %{_libdir}/%{instdir}/clx/
|
||||
%dir %{_libdir}/%{instdir}/clx/new-clx/
|
||||
%{_libdir}/%{instdir}/clx/new-clx/*.fas
|
||||
%{_libdir}/%{instdir}/data/
|
||||
%dir %{_libdir}/%{instdir}/dbus/
|
||||
%{_libdir}/%{instdir}/dbus/*.fas
|
||||
%{_libdir}/%{instdir}/dynmod/
|
||||
%dir %{_libdir}/%{instdir}/fastcgi/
|
||||
%{_libdir}/%{instdir}/fastcgi/*.fas
|
||||
%dir %{_libdir}/%{instdir}/full/
|
||||
%{_libdir}/%{instdir}/full/lispinit.mem
|
||||
%{_libdir}/%{instdir}/full/lisp.run
|
||||
%dir %{_libdir}/%{instdir}/gdbm/
|
||||
%{_libdir}/%{instdir}/gdbm/*.fas
|
||||
%dir %{_libdir}/%{instdir}/gtk2/
|
||||
%{_libdir}/%{instdir}/gtk2/*.fas
|
||||
%dir %{_libdir}/%{instdir}/libsvm/
|
||||
%{_libdir}/%{instdir}/libsvm/*.fas
|
||||
%dir %{_libdir}/%{instdir}/pari/
|
||||
%{_libdir}/%{instdir}/pari/*.fas
|
||||
%dir %{_libdir}/%{instdir}/pcre/
|
||||
%{_libdir}/%{instdir}/pcre/*.fas
|
||||
%dir %{_libdir}/%{instdir}/postgresql/
|
||||
%{_libdir}/%{instdir}/postgresql/*.fas
|
||||
%dir %{_libdir}/%{instdir}/rawsock/
|
||||
%{_libdir}/%{instdir}/rawsock/*.fas
|
||||
%dir %{_libdir}/%{instdir}/zlib/
|
||||
%{_libdir}/%{instdir}/zlib/*.fas
|
||||
%{_datadir}/emacs/site-lisp/*
|
||||
%{_datadir}/vim/vimfiles/after/syntax/*
|
||||
|
||||
|
@ -334,97 +302,104 @@ ln -s ../../src/modules.c build/full/modules.c
|
|||
%doc modules/clx/clx-manual
|
||||
%{_bindir}/clisp-link
|
||||
%{_mandir}/man1/clisp-link.1*
|
||||
%{_libdir}/%{name}-%{version}+/asdf/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/asdf/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/asdf/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/base/*.a
|
||||
%{_libdir}/%{name}-%{version}+/base/*.h
|
||||
%{_libdir}/%{name}-%{version}+/base/*.o
|
||||
%{_libdir}/%{name}-%{version}+/base/makevars
|
||||
%{_libdir}/%{name}-%{version}+/berkeley-db/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/berkeley-db/*.h
|
||||
%{_libdir}/%{name}-%{version}+/berkeley-db/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/berkeley-db/*.o
|
||||
%{_libdir}/%{name}-%{version}+/berkeley-db/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/bindings/glibc/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/bindings/glibc/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/bindings/glibc/*.o
|
||||
%{_libdir}/%{name}-%{version}+/bindings/glibc/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/build-aux/
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/demos/
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/README
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/*.h
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/*.o
|
||||
%{_libdir}/%{name}-%{version}+/clx/new-clx/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/config.h
|
||||
%{_libdir}/%{name}-%{version}+/dbus/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/dbus/*.h
|
||||
%{_libdir}/%{name}-%{version}+/dbus/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/dbus/*.o
|
||||
%{_libdir}/%{name}-%{version}+/dbus/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/README
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/*.h
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/*.o
|
||||
%{_libdir}/%{name}-%{version}+/fastcgi/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/full/*.a
|
||||
%{_libdir}/%{name}-%{version}+/full/*.h
|
||||
%{_libdir}/%{name}-%{version}+/full/*.o
|
||||
%{_libdir}/%{name}-%{version}+/full/makevars
|
||||
%{_libdir}/%{name}-%{version}+/gdbm/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/gdbm/*.h
|
||||
%{_libdir}/%{name}-%{version}+/gdbm/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/gdbm/*.o
|
||||
%{_libdir}/%{name}-%{version}+/gdbm/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.cfg
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.glade
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.h
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.o
|
||||
%{_libdir}/%{name}-%{version}+/gtk2/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/README
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/*.h
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/*.o
|
||||
%{_libdir}/%{name}-%{version}+/libsvm/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/linkkit/
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/README
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/Makefile
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/*.h
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/*.lisp
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/*.o
|
||||
#%%{_libdir}/%%{name}-%%{version}/pari/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/pcre/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/pcre/*.h
|
||||
%{_libdir}/%{name}-%{version}+/pcre/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/pcre/*.o
|
||||
%{_libdir}/%{name}-%{version}+/pcre/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/README
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/*.h
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/*.o
|
||||
%{_libdir}/%{name}-%{version}+/postgresql/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/demos/
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/*.h
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/*.o
|
||||
%{_libdir}/%{name}-%{version}+/rawsock/*.sh
|
||||
%{_libdir}/%{name}-%{version}+/zlib/Makefile
|
||||
%{_libdir}/%{name}-%{version}+/zlib/*.h
|
||||
%{_libdir}/%{name}-%{version}+/zlib/*.lisp
|
||||
%{_libdir}/%{name}-%{version}+/zlib/*.o
|
||||
%{_libdir}/%{name}-%{version}+/zlib/*.sh
|
||||
%{_libdir}/%{instdir}/asdf/Makefile
|
||||
%{_libdir}/%{instdir}/asdf/*.lisp
|
||||
%{_libdir}/%{instdir}/asdf/*.sh
|
||||
%{_libdir}/%{instdir}/base/*.a
|
||||
%{_libdir}/%{instdir}/base/*.h
|
||||
%{_libdir}/%{instdir}/base/*.o
|
||||
%{_libdir}/%{instdir}/base/makevars
|
||||
%{_libdir}/%{instdir}/berkeley-db/Makefile
|
||||
%{_libdir}/%{instdir}/berkeley-db/*.h
|
||||
%{_libdir}/%{instdir}/berkeley-db/*.lisp
|
||||
%{_libdir}/%{instdir}/berkeley-db/*.o
|
||||
%{_libdir}/%{instdir}/berkeley-db/*.sh
|
||||
%{_libdir}/%{instdir}/bindings/glibc/Makefile
|
||||
%{_libdir}/%{instdir}/bindings/glibc/*.lisp
|
||||
%{_libdir}/%{instdir}/bindings/glibc/*.o
|
||||
%{_libdir}/%{instdir}/bindings/glibc/*.sh
|
||||
%{_libdir}/%{instdir}/build-aux/
|
||||
%{_libdir}/%{instdir}/clx/new-clx/demos/
|
||||
%{_libdir}/%{instdir}/clx/new-clx/README
|
||||
%{_libdir}/%{instdir}/clx/new-clx/Makefile
|
||||
%{_libdir}/%{instdir}/clx/new-clx/*.h
|
||||
%{_libdir}/%{instdir}/clx/new-clx/*.lisp
|
||||
%{_libdir}/%{instdir}/clx/new-clx/*.o
|
||||
%{_libdir}/%{instdir}/clx/new-clx/*.sh
|
||||
%{_libdir}/%{instdir}/config.h
|
||||
%{_libdir}/%{instdir}/dbus/Makefile
|
||||
%{_libdir}/%{instdir}/dbus/*.h
|
||||
%{_libdir}/%{instdir}/dbus/*.lisp
|
||||
%{_libdir}/%{instdir}/dbus/*.o
|
||||
%{_libdir}/%{instdir}/dbus/*.sh
|
||||
%{_libdir}/%{instdir}/fastcgi/README
|
||||
%{_libdir}/%{instdir}/fastcgi/Makefile
|
||||
%{_libdir}/%{instdir}/fastcgi/*.h
|
||||
%{_libdir}/%{instdir}/fastcgi/*.lisp
|
||||
%{_libdir}/%{instdir}/fastcgi/*.o
|
||||
%{_libdir}/%{instdir}/fastcgi/*.sh
|
||||
%{_libdir}/%{instdir}/full/*.a
|
||||
%{_libdir}/%{instdir}/full/*.h
|
||||
%{_libdir}/%{instdir}/full/*.o
|
||||
%{_libdir}/%{instdir}/full/makevars
|
||||
%{_libdir}/%{instdir}/gdbm/Makefile
|
||||
%{_libdir}/%{instdir}/gdbm/*.h
|
||||
%{_libdir}/%{instdir}/gdbm/*.lisp
|
||||
%{_libdir}/%{instdir}/gdbm/*.o
|
||||
%{_libdir}/%{instdir}/gdbm/*.sh
|
||||
%{_libdir}/%{instdir}/gtk2/Makefile
|
||||
%{_libdir}/%{instdir}/gtk2/*.cfg
|
||||
%{_libdir}/%{instdir}/gtk2/*.glade
|
||||
%{_libdir}/%{instdir}/gtk2/*.h
|
||||
%{_libdir}/%{instdir}/gtk2/*.lisp
|
||||
%{_libdir}/%{instdir}/gtk2/*.o
|
||||
%{_libdir}/%{instdir}/gtk2/*.sh
|
||||
%{_libdir}/%{instdir}/libsvm/README
|
||||
%{_libdir}/%{instdir}/libsvm/Makefile
|
||||
%{_libdir}/%{instdir}/libsvm/*.h
|
||||
%{_libdir}/%{instdir}/libsvm/*.lisp
|
||||
%{_libdir}/%{instdir}/libsvm/*.o
|
||||
%{_libdir}/%{instdir}/libsvm/*.sh
|
||||
%{_libdir}/%{instdir}/linkkit/
|
||||
%{_libdir}/%{instdir}/pari/README
|
||||
%{_libdir}/%{instdir}/pari/Makefile
|
||||
%{_libdir}/%{instdir}/pari/*.h
|
||||
%{_libdir}/%{instdir}/pari/*.lisp
|
||||
%{_libdir}/%{instdir}/pari/*.o
|
||||
%{_libdir}/%{instdir}/pari/*.sh
|
||||
%{_libdir}/%{instdir}/pcre/Makefile
|
||||
%{_libdir}/%{instdir}/pcre/*.h
|
||||
%{_libdir}/%{instdir}/pcre/*.lisp
|
||||
%{_libdir}/%{instdir}/pcre/*.o
|
||||
%{_libdir}/%{instdir}/pcre/*.sh
|
||||
%{_libdir}/%{instdir}/postgresql/README
|
||||
%{_libdir}/%{instdir}/postgresql/Makefile
|
||||
%{_libdir}/%{instdir}/postgresql/*.h
|
||||
%{_libdir}/%{instdir}/postgresql/*.lisp
|
||||
%{_libdir}/%{instdir}/postgresql/*.o
|
||||
%{_libdir}/%{instdir}/postgresql/*.sh
|
||||
%{_libdir}/%{instdir}/rawsock/demos/
|
||||
%{_libdir}/%{instdir}/rawsock/Makefile
|
||||
%{_libdir}/%{instdir}/rawsock/*.h
|
||||
%{_libdir}/%{instdir}/rawsock/*.lisp
|
||||
%{_libdir}/%{instdir}/rawsock/*.o
|
||||
%{_libdir}/%{instdir}/rawsock/*.sh
|
||||
%{_libdir}/%{instdir}/zlib/Makefile
|
||||
%{_libdir}/%{instdir}/zlib/*.h
|
||||
%{_libdir}/%{instdir}/zlib/*.lisp
|
||||
%{_libdir}/%{instdir}/zlib/*.o
|
||||
%{_libdir}/%{instdir}/zlib/*.sh
|
||||
%{_datadir}/aclocal/clisp.m4
|
||||
|
||||
|
||||
%changelog
|
||||
* Thu Jun 21 2018 Jerry James <loganjerry@gmail.com> - 2.49.93-1.d1310adgit
|
||||
- License change: GPLv2 to GPLv2+
|
||||
- Build with readline 6 due to the new license
|
||||
- Drop upstreamed -arm, -libsvm, -alias, and -linux patches
|
||||
- Build for all architectures
|
||||
- Bring back the pari module
|
||||
|
||||
* Mon Feb 26 2018 Tom Callaway <spot@fedoraproject.org> - 2.49.93-0.1.20180224hg
|
||||
- update to latest in mercurial (lots of fixes)
|
||||
- re-enable ppc64, aarch64
|
||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (clisp-2.49.93-20180224hg.tar.xz) = 61465a5b148b2bbea431407d41c00bbaaa473e01e5d29e2218421222b829ee8f1d9b91b3609af1d4a8b90f953dee5891379072a677251dc1fbead87065a02770
|
||||
SHA512 (clisp-d1310ad.tar.gz) = be315220e63c4996fc761caca36f0f3db2a3538e842449257628c988da90bce4d1b7a5561f065e33e17eb8b434f90da508c664d9e3d31b158d58ca54e8a6de38
|
||||
|
|
Loading…
Reference in New Issue