From f1624bdea7b5a6b6205047525ecefabe38e752dee268fe95381b2d2b621baa65 Mon Sep 17 00:00:00 2001 From: "Dr. Werner Fink" Date: Mon, 12 Feb 2018 09:08:26 +0000 Subject: [PATCH] Update tp 2.49.90, the pre-release of 2.50 OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/clisp?expand=0&rev=81 --- clisp-2.39-clx.dif | 37 -- clisp-2.39-ia64-wooh.dif | 3 +- clisp-2.49-configure.dif | 83 ++-- clisp-2.49-personality.patch | 3 +- clisp-2.49-rpath.dif | 6 +- clisp-2.49.90.tar.bz2 | 3 + clisp-9c43d428.tar.bz2 | 3 - clisp-arm.patch | 860 ----------------------------------- clisp-link.dif | 10 +- clisp-linux.patch | 13 +- clisp.changes | 119 +++++ clisp.spec | 47 +- 12 files changed, 201 insertions(+), 986 deletions(-) delete mode 100644 clisp-2.39-clx.dif create mode 100644 clisp-2.49.90.tar.bz2 delete mode 100644 clisp-9c43d428.tar.bz2 delete mode 100644 clisp-arm.patch diff --git a/clisp-2.39-clx.dif b/clisp-2.39-clx.dif deleted file mode 100644 index bb3a4af..0000000 --- a/clisp-2.39-clx.dif +++ /dev/null @@ -1,37 +0,0 @@ ---- - modules/clx/new-clx/clx.f | 6 ++++-- - modules/clx/new-clx/clx.lisp | 1 + - 2 files changed, 5 insertions(+), 2 deletions(-) - ---- a/modules/clx/new-clx/clx.f -+++ b/modules/clx/new-clx/clx.f -@@ -1723,7 +1723,8 @@ static void general_lookup (object type) - DEFUN(XLIB:##L##-ID,xxx) \ - { VALUES1(make_uint29((XID)get_##c (popSTACK()))); } \ - DEFUN(XLIB:##L##-EQUAL,xxx yyy) \ -- { VALUES_IF(get_##c (popSTACK()) == get_##c (popSTACK())); } \ -+ { object _last = popSTACK(); \ -+ VALUES_IF(get_##c (popSTACK()) == get_##c (_last)); } \ - DEFUN(XLIB:LOOKUP-##L,display xxx) \ - { general_lookup (`XLIB::##L##`); } - -@@ -1740,7 +1741,8 @@ static void general_lookup (object type) - DEFUN(XLIB:##L##-P,xxx) \ - { VALUES_IF(c##_p (popSTACK())); } \ - DEFUN(XLIB:##L##-EQUAL,xxx yyy) \ -- { VALUES_IF(get_##c (popSTACK()) == get_##c (popSTACK())); } -+ { object _last = popSTACK(); \ -+ VALUES_IF(get_##c (popSTACK()) == get_##c (_last)); } - - - /* ----------------------------------------------------------------------- ---- a/modules/clx/new-clx/clx.lisp -+++ b/modules/clx/new-clx/clx.lisp -@@ -22,6 +22,7 @@ - ;;;; -------------------------------------------------------------------------- - ;;;; Exports - ;;;; -------------------------------------------------------------------------- -+(export '*displays*) - (export - '(*version* access-control access-error access-hosts activate-screen-saver - add-access-host add-resource add-to-save-set alist alloc-color diff --git a/clisp-2.39-ia64-wooh.dif b/clisp-2.39-ia64-wooh.dif index d80f275..91f8af2 100644 --- a/clisp-2.39-ia64-wooh.dif +++ b/clisp-2.39-ia64-wooh.dif @@ -2,9 +2,10 @@ tests/streams.tst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) +diff --git a/tests/streams.tst b/tests/streams.tst --- a/tests/streams.tst +++ b/tests/streams.tst -@@ -1036,8 +1036,8 @@ T +@@ -1043,8 +1043,8 @@ T (describe (make-array nil :element-type nil) s))) T diff --git a/clisp-2.49-configure.dif b/clisp-2.49-configure.dif index 148e0a1..7c1b270 100644 --- a/clisp-2.49-configure.dif +++ b/clisp-2.49-configure.dif @@ -1,13 +1,13 @@ --- - clisp-9c43d428/configure | 4 ++-- - clisp-9c43d428/src/lispbibl.d | 16 +++++++++++----- - clisp-9c43d428/src/makemake.in | 15 ++++++++++++--- - clisp-9c43d428/utils/modprep.lisp | 2 +- - 4 files changed, 26 insertions(+), 11 deletions(-) + clisp-2.49.90/configure | 4 ++-- + clisp-2.49.90/src/lispbibl.d | 16 +++++++++++----- + clisp-2.49.90/src/makemake.in | 17 +++++++++++++---- + clisp-2.49.90/utils/modprep.lisp | 2 +- + 4 files changed, 27 insertions(+), 12 deletions(-) ---- clisp-9c43d428/configure -+++ clisp-9c43d428/configure 2017-07-27 12:30:20.772795623 +0000 -@@ -405,11 +405,11 @@ do +--- clisp-2.49.90/configure ++++ clisp-2.49.90/configure 2018-02-12 08:20:34.280915654 +0000 +@@ -429,11 +429,11 @@ do passnext=makemake ;; --vimdir=* | --vimdi=* | --vimd=* | --vim=* | --vi=*) @@ -21,9 +21,9 @@ makemake_args="$makemake_args --vimdir=" prev=vimdir passnext=both ;; ---- clisp-9c43d428/src/lispbibl.d -+++ clisp-9c43d428/src/lispbibl.d 2017-07-27 12:22:29.421471307 +0000 -@@ -175,7 +175,7 @@ +--- clisp-2.49.90/src/lispbibl.d ++++ clisp-2.49.90/src/lispbibl.d 2018-02-12 08:20:34.284915577 +0000 +@@ -178,7 +178,7 @@ #define PC386 /* IBMPC-compatible with 80386/80486-processor */ #endif #ifdef GENERIC_UNIX @@ -32,7 +32,7 @@ #define PC386 #endif #if (defined(sun) && defined(unix) && defined(sparc)) -@@ -278,8 +278,14 @@ +@@ -270,8 +270,14 @@ #endif #ifdef GENERIC_UNIX #define UNIX @@ -48,7 +48,7 @@ #endif #ifdef __GNU__ #define UNIX_HURD /* the GNU system (Hurd + glibc) */ -@@ -1231,7 +1237,7 @@ typedef signed int signean; +@@ -1281,7 +1287,7 @@ typedef signed int signean; address of its component 'ident' and return it as number: */ #include #ifndef offsetof @@ -57,7 +57,7 @@ #endif /* Determine the offset of an array 'ident' in a struct of the type 'type': */ #if defined(__cplusplus) || defined(MICROSOFT) -@@ -3433,9 +3439,9 @@ typedef signed_int_with_n_bits(intVsize) +@@ -5520,9 +5526,9 @@ typedef signed_int_with_n_bits(intVsize) type_data_object(type,data) */ #if defined(WIDE) && defined(WIDE_STRUCT) #if BIG_ENDIAN_P==WIDE_ENDIANNESS @@ -69,8 +69,8 @@ #endif #elif !(oint_addr_shift==0) #define type_data_object(type,data) \ ---- clisp-9c43d428/src/makemake.in -+++ clisp-9c43d428/src/makemake.in 2017-07-27 12:29:06.778157626 +0000 +--- clisp-2.49.90/src/makemake.in ++++ clisp-2.49.90/src/makemake.in 2018-02-12 08:24:54.275897762 +0000 @@ -250,6 +250,9 @@ verbose=${CLISP_MAKEMAKE_VERBOSE:-false} # Handle --with-... arguments while test -z "$endofargs"; do @@ -81,32 +81,30 @@ -verb* | --verb* ) verbose=`echol "$1"|sed 's/-*v[^=]*=*//'` test -n "${verbose}" || verbose=true -@@ -1147,6 +1150,7 @@ else +@@ -1183,11 +1186,13 @@ else fi # Main cpu dependencies: +set -x - cpu=$host_cpu_c_abi + cpu="${host_cpu_c_abi}" if test -z "$cpu"; then echo "$0: WARNING: host_cpu_c_abi is void; using host_cpu=${host_cpu}" >&2 -@@ -1157,6 +1161,7 @@ if test -z "$cpu"; then - * ) cpu=${host_cpu} ;; - esac + cpu="${host_cpu}" fi +set +x test "${verbose}" = true -o "${verbose}" = yes && \ cat <&2 -@@ -1293,7 +1298,7 @@ if [ $XCC_GCC = true ] ; then +@@ -1337,7 +1342,7 @@ if [ $XCC_GCC = true ] ; then fi # For platforms that use global register variables... case "$cpu" in -- m68k | i386 | sparc | sparc64 | hppa | m88k | arm | alpha* | convex | s390*) -+ m68k | i386 | sparc | sparc64 | hppa | m88k | arm* | alpha* | convex | s390*) +- m68k | i386 | sparc | sparc64 | hppa | arm | armhf | alpha | s390*) ++ m68k | i386 | sparc | sparc64 | hppa | arm | armhf | armel | alpha | s390*) if [ $CROSS = false ] ; then case "$XCC_GCC_VERSION" in 3.1*) -@@ -1333,6 +1338,9 @@ if [ $XCC_GCC = true ] ; then +@@ -1384,6 +1389,9 @@ if [ $XCC_GCC = true ] ; then XCFLAGS=${XCFLAGS}" -pthread" fi @@ -116,16 +114,25 @@ else if [ $CROSS = false ] ; then -@@ -1714,7 +1722,7 @@ if [ "${enable_portability}" = no ] ; th - ARI_ASMD=$ARI_ASMD' arihppa' - ARI_ASMS=$ARI_ASMS' arihppa' - fi -- if [ "$cpu" = arm -o "$cpu" = armhf ] ; then -+ if [ "$cpu" = arm -o "$cpu" = armhf -o "$cpu" = armel ] ; then - ARI_ASMD=$ARI_ASMD' ariarm' - ARI_ASMS=$ARI_ASMS' ariarm' - fi -@@ -3559,8 +3567,9 @@ if [ $CROSS = false ] ; then +@@ -1605,7 +1613,7 @@ else + ;; + + # Linux/arm +- linux*--arm | linux*--armhf) ++ linux*--arm | linux*--armhf | linux*--armel) + XCFLAGS="$XCFLAGS -DNO_ASM" + ;; + +@@ -2109,7 +2117,7 @@ case " ${XCPPFLAGS} ${XCFLAGS} " in + ARI_ASMD=$ARI_ASMD' ari_asm_hppa' + ARI_ASMS=$ARI_ASMS' ari_asm_hppa' + fi +- if [ "$cpu" = arm -o "$cpu" = armhf ] ; then ++ if [ "$cpu" = arm -o "$cpu" = armhf -o "$cpu" = armel ] ; then + ARI_ASMD=$ARI_ASMD' ari_asm_arm' + ARI_ASMS=$ARI_ASMS' ari_asm_arm' + fi +@@ -4105,8 +4113,9 @@ if [ $CROSS = false ] ; then echol if [ "${with_dynamic_modules}" != no ]; then depends="full install-modules force" @@ -136,9 +143,9 @@ echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/dynmod" echotab "DESTDIR=\`cd \"\$(DESTDIR)\$(lisplibdir)\"; pwd\` CLISP='./clisp -q -norc' ./clisp-link install \$(MODULES)" echol ---- clisp-9c43d428/utils/modprep.lisp -+++ clisp-9c43d428/utils/modprep.lisp 2017-07-27 12:22:29.421471307 +0000 -@@ -327,7 +327,7 @@ FOO(bar,baz,zot) ==> FOO; (bar baz zot); +--- clisp-2.49.90/utils/modprep.lisp ++++ clisp-2.49.90/utils/modprep.lisp 2018-02-12 08:20:34.288915500 +0000 +@@ -328,7 +328,7 @@ FOO(bar,baz,zot) ==> FOO; (bar baz zot); ((or (char= cc #\_) (char= cc #\-)) (write-char #\_ out)) (t (format out "_~2,'0x" (char-code cc)))))) diff --git a/clisp-2.49-personality.patch b/clisp-2.49-personality.patch index baae881..a97bb07 100644 --- a/clisp-2.49-personality.patch +++ b/clisp-2.49-personality.patch @@ -2,6 +2,7 @@ src/_clisp.c | 11 +++++++++++ 1 file changed, 11 insertions(+) +diff --git a/src/_clisp.c b/src/_clisp.c --- a/src/_clisp.c +++ b/src/_clisp.c @@ -48,6 +48,11 @@ @@ -16,7 +17,7 @@ #if defined(WIN32_NATIVE) # include int shell_quote (char * dest, const char * source); -@@ -429,6 +434,12 @@ int main (int argc, char* argv[]) +@@ -435,6 +440,12 @@ int main (int argc, char* argv[]) } #undef W32ERR #else diff --git a/clisp-2.49-rpath.dif b/clisp-2.49-rpath.dif index 6b527e3..4440ef6 100644 --- a/clisp-2.49-rpath.dif +++ b/clisp-2.49-rpath.dif @@ -1,9 +1,11 @@ - +--- + src/aclocal.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/aclocal.m4 b/src/aclocal.m4 --- a/src/aclocal.m4 +++ b/src/aclocal.m4 -@@ -7517,7 +7517,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], +@@ -7723,7 +7723,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_BODY], dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do diff --git a/clisp-2.49.90.tar.bz2 b/clisp-2.49.90.tar.bz2 new file mode 100644 index 0000000..e7394f9 --- /dev/null +++ b/clisp-2.49.90.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:47efb9275171a4a469da00bab4935d9d9c9af6892b5c1951cd7d111a4e37e7fa +size 8921458 diff --git a/clisp-9c43d428.tar.bz2 b/clisp-9c43d428.tar.bz2 deleted file mode 100644 index 6fbe170..0000000 --- a/clisp-9c43d428.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2b2f97c69b2800887fe6773c7f27e958c927bb1f2747d4603973cf3dab9dd062 -size 8659436 diff --git a/clisp-arm.patch b/clisp-arm.patch deleted file mode 100644 index 08e5a19..0000000 --- a/clisp-arm.patch +++ /dev/null @@ -1,860 +0,0 @@ ---- - src/ariarm.d | 204 +++++++++++++++++++++++++++++------------------------------ - 1 file changed, 102 insertions(+), 102 deletions(-) - ---- src/ariarm.d -+++ src/ariarm.d 2017-07-27 12:37:05.517339862 +0000 -@@ -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 - - #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__ diff --git a/clisp-link.dif b/clisp-link.dif index 39d0344..6088bb7 100644 --- a/clisp-link.dif +++ b/clisp-link.dif @@ -4,8 +4,8 @@ 2 files changed, 4 insertions(+), 2 deletions(-) --- src/clisp-link.in -+++ src/clisp-link.in 2017-07-27 12:34:06.144647126 +0000 -@@ -578,7 +578,7 @@ case "$1" in ++++ src/clisp-link.in 2018-02-12 08:31:51.215851048 +0000 +@@ -579,7 +579,7 @@ case "$1" in # when running "CLISP=./clisp ./clisp-link install " # in the build directory, avoid "cp: `...' and `...' are the same file" if [ "${absolute_moduledir}" != "${absdestdir}/$moduledir" ]; then @@ -15,8 +15,8 @@ for f in ${DYNDIR_FILES}; do cp ${f} ${absdestdir}/${DYNMOD}/ --- src/lispbibl.d -+++ src/lispbibl.d 2017-07-27 12:34:06.152646979 +0000 -@@ -1571,6 +1571,8 @@ typedef SLONG sint32; /* signed 32 bi ++++ src/lispbibl.d 2018-02-12 08:31:51.219850972 +0000 +@@ -1621,6 +1621,8 @@ typedef SLONG sint32; /* signed 32 bi /* Emulate 64-Bit-numbers using two 32-Bit-numbers. */ typedef struct { sintL hi; uintL lo; } sintL2; /* signed 64 Bit integer */ typedef struct { uintL hi; uintL lo; } uintL2; /* unsigned 64 Bit integer */ @@ -25,7 +25,7 @@ #endif /* Use 'uintX' and 'sintX' for Integers with approximately given width and a minumum of storage space. */ -@@ -11973,7 +11975,7 @@ re-enters the corresponding top-level lo +@@ -14278,7 +14280,7 @@ re-enters the corresponding top-level lo #define pushSTACK(obj) (STACK_(-1) = (obj), STACK skipSTACKop -1) /* Almost equivalent with *--STACK = obj resp. *STACK++ = obj , but Careful: first enter the object into STACK_(-1), THEN modify the STACK! */ diff --git a/clisp-linux.patch b/clisp-linux.patch index 01f4696..e79112e 100644 --- a/clisp-linux.patch +++ b/clisp-linux.patch @@ -1,3 +1,8 @@ +--- + modules/bindings/glibc/linux.lisp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp --- a/modules/bindings/glibc/linux.lisp +++ b/modules/bindings/glibc/linux.lisp @@ -294,6 +294,8 @@ @@ -9,11 +14,3 @@ ; -------------------------- ----------------------------------- -@@ -649,7 +651,6 @@ - (def-call-out calloc (:arguments (nmemb size_t) (size size_t)) - (:return-type c-pointer)) - (def-call-out free (:arguments (ptr c-pointer)) (:return-type nil)) --(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil)) - (def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer)) - - (def-call-out abort (:arguments) (:return-type nil)) diff --git a/clisp.changes b/clisp.changes index ed71b7d..431d2c9 100644 --- a/clisp.changes +++ b/clisp.changes @@ -1,3 +1,122 @@ +------------------------------------------------------------------- +Mon Feb 12 09:02:18 UTC 2018 - werner@suse.de + +- Update 2.49.90 (pre-release 2.50) + * Module WILDCARD has been removed. + Functions WILDCARD:MATCH and WILDCARD:WILDCARD-MATCHER are deprecated + in favor of POSIX:FNMATCH and POSIX:FNMATCH-MATCHER. + See for details. + * Module REGEXP: + + Function REGEXP:REGEXP-EXEC no longer accepts :BOOLEAN argument; use + :RETURN-TYPE 'BOOLEAN instead. + See for details. + * Module RAWSOCK: + + Function RAWSOCK:CONVERT-ADDRESS now returns byte vectors instead of + integers. + See + for details. + * Mixing &OPTIONAL and &KEY in the same lambda list is a bad design + and now triggers a STYLE-WARNING during compilation. + See for details. + * Redefinition warnings are now of type STYLE-WARNING. + Some CLOS warnings are now of type STYLE-WARNING. + See + and + for details. + * FFI now converts REALs to FLOATs automatically as necessary. + * New user variable CUSTOM:*MODULE-PROVIDER-FUNCTIONS* allows user to + influence behavior of REQUIRE. + See for details. + * The readline-based completion facility is now more customizable. + See for details. + * New declaration DYNAMICALLY-MODIFIABLE disables GF-ALREADY-CALLED-WARNING. + See + for details. + * Function EXT:STREAM-HANDLES returns the OS file handles for the stream. + It has been present since 2.36 in package SOCKET but was not documented. + See for details. + * To help distributors distribute memory images of clisp applications in + package repositories, clisp has three new command-line options: + $ clisp [-K linking-set] -memfile-hash + Prints the hash code of the mem file binary interface. + $ clisp [-K linking-set] -memfile-hash-of mem-file + Prints the hash code of the mem file binary interface that was used to + create this mem-file. + $ clisp [-K linking-set] -memfile-compatible mem-file + Returns 0 or 1, depending whether this mem-file is compatible with the + linking-set or not. + See for how to use + these options. + * Module SYSCALLS: + + New function POSIX:FILE-TREE-WALK calls nftw(). + See for details. + + New function POSIX:GETDATE calls getdate(). + See for details. + + New macro POSIX:WITH-SUBPROCESSES temporarily enables SIGCLD so that + functions POSIX:WAIT, LINUX:wait and LINUX:waitpid work (bug#592). + See for details. + + Function POSIX:USAGE now accept an optional argument and returns a + single value. + See for details. + * Module berkeley-db now supports Berkeley-DB 5.1. + (Older versions are, of course, still supported). + See for details. + * Module pari now supports PARI 2.9.3 and most of the interface + functions are generated automatically. + See for details. + * Fix documentation strings handling for structs (bug#561). + * Fix SCREEN behavior when the window is resized. + * Pass the top-level configure arguments --build= & --host= + to the module configures (bug#566). + * Fix PROBE-PATHNAME behavior on win32 and on open file streams (bug#570). + * Fix handling of huge byte arrays on 64-bit platforms (bug#571). + * Fix LOADing corrupt FAS files (bug#578). + * Fix interaction of *DEFAULT-PATHNAME-DEFAULTS* with REQUIRE (bug#579). + * Correctly bind *LOAD-PATHNAME* in LOAD (bug#584). + * Fix OS:FILE-INFO on files with corrupt times (bug#581). + * Make wrong keyword argument a STYLE-WARNING in the presence of + :ALLOW-OTHER-KEYS T (bug#588). + * Fix LOOP mixing WITH & Hash Table FOR (bug#585); + avoid destructuring null patterns (bug#414); + detect incomplete FOR clauses (bug#572); + check whether DO clauses are compound forms (bug#711); + warn on REPEAT before FOR (bug#604). + * Fix SOCKET-CONNECT with non-0 timeout (bug#587). + * Reduce consing in HANDLER-BIND et al (bug#582). + * Implement :NO-HANG and :INTERACTIVE in WRITE-BYTE-SEQUENCE for all + sequences, not just byte vectors (bug#586). + * Fix protocol argument handling in POSIX:SERVICE (bug#596). + * Fix (SETF (VALUES (VALUES) ...) ...) (bug#597). + * Fix handling properties with "format=32" in NEW-CLX on 64-bit + machines (bug#598); handle more host families in XLIB:ACCESS-HOSTS. + * Do not ignore user-supplied print methods for user-defined + SIMPLE-CONDITIONs (bug#605). + * Better argument checking of FUNCALL on LAMBDA (bug#603). + * All truenames now have non-NIL version component (bug#606). + * Fix OS:FILE-STAT on very large files (bug#626). + * Fix error that occurred when constructing the dispatch code of generic + functions with a method that specializes on SEQUENCE (bug#628). + * Improve dotted list detection in APPLY (bug#636). + * Signal TYPE-ERROR in LOGICAL-PATHNAME-TRANSLATIONS on invalid + logical host as per ANSI (bug#638). + * Fix run-time error reporting in compiled FORMAT calls (bug#631). + * Fix symlink to directory handling (bug#625). + * PCRE-EXEC returns character positions instead of byte positions. + * Fix COMPILE-FILE-PATHNAME logical pathname handling (bug#677). + * Streams returned by MAKE-STREAM may be passed to TRUENAME (bug#679). + * Do not signal the CLOS:GF-ALREADY-CALLED-WARNING on Gray streams. + * Improve consistency in declaration handling (bug#702). + * Package locks are checked by DECLARATION and DEFTYPE (bug#701). + * Allow spaces in file names of clisp scripts (bug#699). +- Remove obsolete patches clisp-2.39-clx.dif and clisp-arm.patch +- Modify patches + * clisp-2.39-ia64-wooh.dif + * clisp-2.49-configure.dif + * clisp-2.49-personality.patch + * clisp-2.49-rpath.dif + * clisp-link.dif + * clisp-linux.patch + ------------------------------------------------------------------- Thu Dec 7 11:04:09 UTC 2017 - dimstar@opensuse.org diff --git a/clisp.spec b/clisp.spec index dd8bbd1..137b369 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # # spec file for package clisp # -# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -16,11 +16,8 @@ # -# minimum suse version where the full featured package builds -%define uuid 9c43d428 - Name: clisp -Version: 2.49.60+ +Version: 2.49.90 Release: 0 Summary: A Common Lisp Interpreter License: GPL-2.0+ @@ -28,15 +25,13 @@ Group: Development/Languages/Other Url: http://clisp.cons.org #Source: http://downloads.sf.net/clisp/%name-%version.tar.bz2 -Source: %name-%uuid.tar.bz2 +Source: %name-%version.tar.bz2 Source3: clisp-rpmlintrc Source4: README.SUSE # PATCH-EXTEND-OPENSUSE Set the process execution domain Patch1: clisp-2.49-personality.patch # PATCH-FIX-OPENSUSE Fix crash on Ia64 Patch2: clisp-2.39-ia64-wooh.dif -# PATCH-EXTEND-OPENSUSE Help (new) CLX to work out of the box -Patch3: clisp-2.39-clx.dif # PATCH-EXTEND-OPENSUSE Make sure to be able to use MYCLFAGS Patch4: clisp-2.49-configure.dif # PATCH-FIX-OPENSUSE Make sure to use initialized token on garbage collection @@ -49,8 +44,6 @@ Patch7: clisp-2.49-postgresql.dif Patch8: clisp-2.49-rpath.dif # PATCH-FIX-OPENSUSE Correct path for header for System V IPC system calls Patch12: clisp-linux.patch -# PATCH-EXTEND-UPSTREAM Make armv7l work -Patch15: clisp-arm.patch Patch14: clisp-link.dif Patch16: clisp-db6.diff @@ -121,10 +114,9 @@ with the file README. The subdirectory contains two nice applications. %prep -%setup -qT -b0 -n clisp-%uuid +%setup -qT -b0 %patch1 -p1 -b .sel %patch2 -p1 -b .wooh -%patch3 -p1 -b .clx %patch4 -p1 -b .conf %patch5 -p1 -b .gc %patch6 -p1 -b .demos @@ -132,7 +124,6 @@ contains two nice applications. %patch8 -p1 -b .rpath %patch12 -p1 -b .p12 %patch14 -p0 -b .p14 -%patch15 -p0 -b .p15 %patch16 -p1 -b .p16 %build @@ -174,9 +165,7 @@ case "$(uname -m)" in axp|alpha) CC="${CC}" ;; esac -noexec='-DKERNELVOID32A_HEAPCODES' -nommap='-DNO_MULTIMAP_SHM -DNO_MULTIMAP_FILE -DNO_SINGLEMAP -DNO_TRIVIALMAP' -safety='-DSAFETY=3 -O' +safety='-O' MYCFLAGS="$(getconf LFS_CFLAGS)" if grep -q _DEFAULT_SOURCE /usr/include/features.h then @@ -184,27 +173,23 @@ then else MYCFLAGS="${MYCFLAGS} -D_GNU_SOURCE" fi -MYCFLAGS="${MYCFLAGS} -Wno-unused -Wno-uninitialized" +MYCFLAGS="${MYCFLAGS} -Wno-unused -Wno-uninitialized -Wno-implicit-fallthrough -Wno-volatile-register-var" port='' case "$(uname -m)" in i[0-9]86) MYCFLAGS="${MYCFLAGS}" ;; - arm*) MYCFLAGS="${MYCFLAGS} ${noexec}" ;; - aarch64)MYCFLAGS="${MYCFLAGS}" - port=--enable-portability ;; - ppc) MYCFLAGS="${MYCFLAGS} ${noexec}" ;; - s390) MYCFLAGS="${MYCFLAGS} ${noexec}" ;; + arm*) MYCFLAGS="${MYCFLAGS}" ;; + aarch64)MYCFLAGS="${MYCFLAGS}" ;; + ppc) MYCFLAGS="${MYCFLAGS}" ;; + s390) MYCFLAGS="${MYCFLAGS}" ;; x86_64) MYCFLAGS="${MYCFLAGS}" ;; - sparc*) MYCFLAGS="${MYCFLAGS} ${nommap} ${safety}" ;; - ppc64) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" - port=--enable-portability ;; - ppc64le)MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" - port=--enable-portability ;; - s390x) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" - port=--enable-portability ;; - ia64) MYCFLAGS="${MYCFLAGS} ${nommap} ${safety}" ;; + sparc*) MYCFLAGS="${MYCFLAGS} ${safety}" ;; + ppc64) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;; + ppc64le)MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;; + s390x) MYCFLAGS="${MYCFLAGS} ${safety} -DWIDE_HARD" ;; + ia64) MYCFLAGS="${MYCFLAGS} ${safety}" ;; axp|alpha) - MYCFLAGS="${MYCFLAGS} ${nommap}" ;; + MYCFLAGS="${MYCFLAGS}" ;; esac export CC export MYCFLAGS