diff --git a/README.SuSE b/README.SuSE new file mode 100644 index 0000000..01031d0 --- /dev/null +++ b/README.SuSE @@ -0,0 +1,34 @@ +# +# (C) 1997-99, SuSE GmbH, Nürnberg +# + +Call of CLX + + + Please call clisp with the option '-K full' to use clx. The +X Window System is required for the usage of clx. Therefore the clisp +version under /usr/lib/clisp/full/ is used. +For some examples of clx try out in the directory demos/ + + clisp -K full -q -i sokoban + +and + + clisp -K full -q -i qix + +---------------------------------------------------------------------------- + +Aufruf von CLX + + + Bitte rufen Sie clisp mit der Option '-K full' auf. CLX erfordert ein +installiertes X-Window-System. Daher wird die entsprechende clisp-Version +aus /usr/lib/clisp/full/ benutzt. +Sie finden zwei Beispiele für clx im Verzeichnis demos/ + + clisp -K full -q -i sokoban + +und + + clisp -K full -q -i qix + diff --git a/clisp-2.36-alloca.patch b/clisp-2.36-alloca.patch deleted file mode 100644 index bef35ff..0000000 --- a/clisp-2.36-alloca.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: src/spvw.d -=================================================================== ---- src/spvw.d.orig -+++ src/spvw.d -@@ -3632,7 +3632,7 @@ nonreturning_function(local, error_dlerr - returns: non-NULL pointer to the symbol in the library */ - local void* get_module_symbol (const char* format, const char* modname, - void* libhandle) { -- var char * symbolbuf = alloca(strlen(format)+strlen(modname)); -+ var char * symbolbuf = (char *)alloca(strlen(format)+strlen(modname)); - sprintf(symbolbuf,format,modname); - var void * ret = find_name(libhandle,symbolbuf); - if (ret == NULL) error_dlerror("dlsym",symbolbuf,dlerror()); diff --git a/clisp-2.39-ia64-wooh.dif b/clisp-2.39-ia64-wooh.dif index a7cabb8..134e5be 100644 --- a/clisp-2.39-ia64-wooh.dif +++ b/clisp-2.39-ia64-wooh.dif @@ -1,7 +1,5 @@ -Index: tests/streams.tst -=================================================================== ---- tests/streams.tst.orig -+++ tests/streams.tst +--- tests/streams.tst ++++ tests/streams.tst 2006-07-25 15:58:55.000000000 +0000 @@ -1031,8 +1031,8 @@ T (describe (make-array nil :element-type nil) s))) T diff --git a/clisp-2.44.1-map_variable.patch b/clisp-2.44.1-map_variable.patch index 24af498..d95e30b 100644 --- a/clisp-2.44.1-map_variable.patch +++ b/clisp-2.44.1-map_variable.patch @@ -1,7 +1,5 @@ -Index: ffcall-1.10+2.43/callback/trampoline_r/trampoline_r.h.in -=================================================================== ---- ffcall-1.10+2.43/callback/trampoline_r/trampoline_r.h.in.orig -+++ ffcall-1.10+2.43/callback/trampoline_r/trampoline_r.h.in +--- ffcall-1.10+2.43/callback/trampoline_r/trampoline_r.h.in ++++ ffcall-1.10+2.43/callback/trampoline_r/trampoline_r.h.in 2003-12-10 22:04:30.000000000 -0800 @@ -22,4 +22,9 @@ extern __TR_function trampoline_r_addres extern void* trampoline_r_data0 (void*); extern void* trampoline_r_data1 (void*); diff --git a/clisp-2.44.1.tar.bz2 b/clisp-2.44.1.tar.bz2 deleted file mode 100644 index 4c70abf..0000000 --- a/clisp-2.44.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:6b5bab580ec467771048210faf5482d71aa5b2d50e7b014d521b9ea98ec30f95 -size 7285170 diff --git a/clisp-2.39-berkeley-db.dif b/clisp-2.49-berkeley-db.dif similarity index 56% rename from clisp-2.39-berkeley-db.dif rename to clisp-2.49-berkeley-db.dif index c30cfaa..87ce50b 100644 --- a/clisp-2.39-berkeley-db.dif +++ b/clisp-2.49-berkeley-db.dif @@ -1,13 +1,16 @@ --- modules/berkeley-db/configure -+++ modules/berkeley-db/configure 2007-01-24 14:52:14.000000000 +0100 -@@ -3161,6 +3161,10 @@ fi; ++++ modules/berkeley-db/configure 2010-07-14 13:16:42.458924990 +0000 +@@ -4665,10 +4665,9 @@ fi done fi +- +- +- +- + LIBDB=-ldb-4 +LTLIBDB= + INCDB=-I/usr/include/db4 -+ + ac_cv_libdb_libs="$LIBDB" ac_cv_libdb_ltlibs="$LTLIBDB" - ac_cv_libdb_cppflags="$INCDB" diff --git a/clisp-2.31-personality.patch b/clisp-2.49-personality.patch similarity index 71% rename from clisp-2.31-personality.patch rename to clisp-2.49-personality.patch index ab52255..5b78233 100644 --- a/clisp-2.31-personality.patch +++ b/clisp-2.49-personality.patch @@ -1,7 +1,7 @@ --- src/_clisp.c -+++ src/_clisp.c 2003-12-11 22:22:29.000000000 -0800 -@@ -45,6 +45,11 @@ - /* Declare stderr. */ ++++ src/_clisp.c 2010-07-14 13:14:48.983463701 +0000 +@@ -46,6 +46,11 @@ + /* Declare stderr, perror(). */ # include +#if defined(HAS_PERSONALITY) && (HAS_PERSONALITY > 0) @@ -10,9 +10,9 @@ +#endif + #if defined(WIN32_NATIVE) - # undef UNICODE # include -@@ -347,6 +353,12 @@ + int shell_quote (char * dest, const char * source); +@@ -417,6 +422,12 @@ int main (int argc, char* argv[]) return 1; } #else diff --git a/clisp-2.44.1.dif b/clisp-2.49.dif similarity index 60% rename from clisp-2.44.1.dif rename to clisp-2.49.dif index cb1eab6..3b651f2 100644 --- a/clisp-2.44.1.dif +++ b/clisp-2.49.dif @@ -1,19 +1,7 @@ ---- .pkgextract -+++ .pkgextract 2008-02-25 14:00:17.898813972 +0100 -@@ -0,0 +1,9 @@ -+patch -p0 -s --suffix=.mappriv < ../clisp-2.31-map_private.patch -+patch -p0 -s --suffix=.mapvar < ../clisp-2.31-map_variable.patch -+patch -p0 -s --suffix=.sel < ../clisp-2.31-personality.patch -+patch -p0 -s --suffix=.ia64 < ../clisp-2.39-ia64.dif -+patch -p0 -s --suffix=.alloca < ../clisp-2.36-alloca.patch -+patch -p0 -s --suffix=.wooh < ../clisp-2.39-ia64-wooh.dif -+patch -p0 -s --suffix=.clx < ../clisp-2.39-clx.dif -+patch -p0 -s --suffix=.bdb < ../clisp-2.39-berkeley-db.dif -+patch -p1 -s --suffix=.ffcall < ../ffcall_1.10+2.41-3.diff --- configure -+++ configure 2008-02-25 14:01:29.307946002 +0100 -@@ -391,11 +391,11 @@ do - passnextm=yes ;; ++++ configure 2010-07-15 08:38:16.978924992 +0000 +@@ -393,11 +393,11 @@ do + passnext=both ;; --vimdir=* | --vimdi=* | --vimd=* | --vim=* | --vi=*) - subdir_configure_args="$subdir_configure_args $arg" @@ -25,9 +13,21 @@ +# subdir_configure_args="$subdir_configure_args $arg" makemake_args="$makemake_args --vimdir=" prev=vimdir - passnext=yes + passnext=both ;; +@@ -430,11 +430,9 @@ do + passnext=configure ;; + + --build=* | --buil=* | --bui=* | --bu=*) +- target=cross + subdir_configure_args="$subdir_configure_args $arg" ;; + + --build | --buil | --bui | --bu) +- target=cross + subdir_configure_args="$subdir_configure_args $arg" + prev=host + passnext=configure ;; --- ffcall-1.10+2.43/build-aux/config.guess -+++ ffcall-1.10+2.43/build-aux/config.guess 2008-02-25 14:00:17.902814484 +0100 ++++ ffcall-1.10+2.43/build-aux/config.guess 2008-02-25 13:00:18.000000000 +0000 @@ -985,6 +985,7 @@ EOF exit ;; esac @@ -37,7 +37,7 @@ sed 's/^ //' << EOF >$dummy.c #include --- ffcall-1.10+2.43/callback/trampoline_r/trampoline.c -+++ ffcall-1.10+2.43/callback/trampoline_r/trampoline.c 2008-02-25 14:00:17.938819088 +0100 ++++ ffcall-1.10+2.43/callback/trampoline_r/trampoline.c 2008-02-25 13:00:18.000000000 +0000 @@ -191,15 +191,11 @@ extern RETGETPAGESIZETYPE getpagesize (v #ifdef ultrix #include @@ -54,57 +54,8 @@ #ifdef __m88k__ #include #endif ---- modules/clx/new-clx/README.SuSE -+++ modules/clx/new-clx/README.SuSE 2008-02-25 14:00:17.978824204 +0100 -@@ -1,35 +1,34 @@ -- - # --# (C) 1998, S.u.S.E. GmbH, Nürnberg -+# (C) 1997-99, SuSE GmbH, Nürnberg - # - - Call of CLX - - -- Please call clisp with the option -F to use clx. The X Window System --is required for the usage of clx. Therefore the clisp version under --/usr/lib/clisp/clx/ is used. -+ Please call clisp with the option '-K full' to use clx. The -+X Window System is required for the usage of clx. Therefore the clisp -+version under /usr/lib/clisp/full/ is used. - For some examples of clx try out in the directory demos/ - -- clisp -X -q -i sokoban -+ clisp -K full -q -i sokoban - - and - -- clisp -X -q -i qix -+ clisp -K full -q -i qix - - ---------------------------------------------------------------------------- - - Aufruf von CLX - - -- Bitte rufen Sie clisp mit der Option -X auf. Clx erfordert ein -+ Bitte rufen Sie clisp mit der Option '-K full' auf. CLX erfordert ein - installiertes X-Window-System. Daher wird die entsprechende clisp-Version --aus /usr/lib/clisp/clx/ benutzt. --Sie finden zwei Beispiele für clx im Verzeichnis demos/ -+aus /usr/lib/clisp/full/ benutzt. -+Sie finden zwei Beispiele für clx im Verzeichnis demos/ - -- clisp -X -q -i sokoban -+ clisp -K full -q -i sokoban - - und - -- clisp -X -q -i qix -+ clisp -K full -q -i qix - --- modules/clx/new-clx/clx.lisp -+++ modules/clx/new-clx/clx.lisp 2008-02-25 14:00:18.006827785 +0100 ++++ modules/clx/new-clx/clx.lisp 2008-02-25 13:00:18.000000000 +0000 @@ -22,6 +22,7 @@ ;;;; -------------------------------------------------------------------------- ;;;; Exports @@ -114,20 +65,20 @@ '(*version* access-control access-error access-hosts activate-screen-saver add-access-host add-resource add-to-save-set alist alloc-color --- modules/clx/new-clx/demos/clx-demos.lisp -+++ modules/clx/new-clx/demos/clx-demos.lisp 2008-02-25 14:00:18.050833413 +0100 ++++ modules/clx/new-clx/demos/clx-demos.lisp 2010-07-14 12:49:25.000000000 +0000 @@ -11,7 +11,7 @@ (defparameter *demos* ;; (demo-name [package requirements]) -- '((koch) (qix) (sokoban #:xpm) (greynetic #:broken!) (petal) (hanoi) -+ '((greynetic #:broken!) (petal) (hanoi) - (recurrence) (plaid) (clclock) (bball #:broken!) (bwindow))) +- '((koch) (qix) (sokoban #:xpm) (greynetic) (petal) (hanoi) ++ '((greynetic) (petal) (hanoi) + (recurrence) (plaid) (clclock) (bball) (bwindow))) (defmacro do-demos ((fun-var) &body body) --- modules/clx/new-clx/demos/koch.lisp -+++ modules/clx/new-clx/demos/koch.lisp 2008-02-25 14:00:18.078836994 +0100 ++++ modules/clx/new-clx/demos/koch.lisp 2008-02-25 13:00:18.000000000 +0000 @@ -7,7 +7,30 @@ - ;;; $Id: koch.lisp,v 1.4 2007/10/08 00:43:32 sds Exp $ + ;;; $Id: koch.lisp,v 1.5 2008/06/25 23:05:28 sds Exp $ ;;; $Source: /cvsroot/clisp/clisp/modules/clx/new-clx/demos/koch.lisp,v $ -(in-package :clx-demos) @@ -158,9 +109,9 @@ (defun koch-point (cx width/2 height/2 scale) (list (round (+ width/2 (* scale width/2 (realpart cx)))) -@@ -119,4 +142,8 @@ Returns the new list and an indicator of - (xlib:display-finish-output dpy) - (xlib:close-display dpy))) +@@ -123,4 +146,8 @@ Returns the new list and an indicator of + (xlib:unmap-window win) + (xlib:display-finish-output dpy)))) +(format t "~& Koch snoflake:~% + (koch:koch :width :height :delay :x :y :scale :font) @@ -168,7 +119,7 @@ + (provide "koch") --- modules/clx/new-clx/demos/qix.lisp -+++ modules/clx/new-clx/demos/qix.lisp 2008-02-25 14:00:18.114841598 +0100 ++++ modules/clx/new-clx/demos/qix.lisp 2008-02-25 13:00:18.000000000 +0000 @@ -14,7 +14,30 @@ ;;;; o or a spline option?! ;;;; @@ -201,9 +152,9 @@ (defvar *offset* 3) (defvar *delta* 6) -@@ -88,4 +111,9 @@ - (xlib:display-finish-output dpy) - (xlib:close-display dpy))) +@@ -87,4 +110,9 @@ + (xlib:unmap-window win) + (xlib:display-finish-output dpy)))) +;; since we have no herald, simply dump it: +(format t "~& The famous swirling vectors.~% @@ -212,7 +163,7 @@ + (provide "qix") --- modules/clx/new-clx/demos/sokoban.lisp -+++ modules/clx/new-clx/demos/sokoban.lisp 2008-02-25 14:00:18.146845691 +0100 ++++ modules/clx/new-clx/demos/sokoban.lisp 2008-02-25 13:00:18.000000000 +0000 @@ -41,7 +41,30 @@ ;;;; - maximum field size is hard wired to 20x20. (This is not in the LISP spirit!) ;;;; - sometimes the programm could not count correctly ... @@ -259,47 +210,25 @@ (= (field nnx nny) %goal)) (decf *n-objects*)) (incf (field nx ny) 4) ;remove object and add man -@@ -471,4 +499,6 @@ If you quit sokoban using 'q' the curren +@@ -475,4 +503,6 @@ If you quit sokoban using 'q' the curren (setq *level* 1) (init-field))) ) +(format t "~&~% Call (sokoban:sokoban)~%~%") + (provide "sokoban") ---- modules/postgresql/configure -+++ modules/postgresql/configure 2008-02-25 14:00:18.182850296 +0100 -@@ -4557,7 +4557,7 @@ done - - if test "$ac_cv_header_postgres_ext_h" = "no" \ - -a "$ac_cv_header_postgresql_postgres_ext_h" = "no" \ -- -a "$ac_cv_header_pgsql_postgres_ext_h"; then -+ -a "$ac_cv_header_pgsql_postgres_ext_h" = "no" ; then - { { echo "$as_me:$LINENO: error: cannot find PostgreSQL headers" >&5 - echo "$as_me: error: cannot find PostgreSQL headers" >&2;} - { (exit 1); exit 1; }; } ---- modules/postgresql/configure.in -+++ modules/postgresql/configure.in 2008-02-25 14:00:18.218854900 +0100 -@@ -22,7 +22,7 @@ BOLD_MSG([PostgreSQL (Headers)]) - AC_CHECK_HEADERS(postgres_ext.h postgresql/postgres_ext.h pgsql/postgres_ext.h) - if test "$ac_cv_header_postgres_ext_h" = "no" \ - -a "$ac_cv_header_postgresql_postgres_ext_h" = "no" \ -- -a "$ac_cv_header_pgsql_postgres_ext_h"; then -+ -a "$ac_cv_header_pgsql_postgres_ext_h" = "no" ; then - AC_MSG_ERROR([cannot find PostgreSQL headers]) - fi - --- modules/postgresql/link.sh.in -+++ modules/postgresql/link.sh.in 2008-02-25 14:00:18.258860016 +0100 -@@ -4,5 +4,5 @@ make clisp-module \ - INCLUDES="$absolute_linkkitdir" ++++ modules/postgresql/link.sh.in 2008-02-25 13:00:18.000000000 +0000 +@@ -4,5 +4,5 @@ ${MAKE-make} clisp-module \ + NEW_MODULES='postgresql' NEW_FILES='' for f in ${NEW_MODULES}; do NEW_FILES=${NEW_FILES}" ${f}.o"; done -NEW_LIBS="${NEW_FILES} @LIBS@" +NEW_LIBS="${NEW_FILES} @LIBS@ -lcrypt -lssl" TO_LOAD='postgresql sql' --- src/aclocal.m4 -+++ src/aclocal.m4 2008-02-25 14:00:18.270861551 +0100 -@@ -9877,7 +9877,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_SEARCH],[dnl ++++ src/aclocal.m4 2008-02-25 13:00:18.000000000 +0000 +@@ -6668,7 +6668,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 @@ -307,19 +236,19 @@ + LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-Wl,-rpath-link$found_dir" done fi - ]) + popdef([P_A_C_K]) --- src/lispbibl.d -+++ src/lispbibl.d 2008-02-25 14:00:18.302865644 +0100 ++++ src/lispbibl.d 2010-07-14 12:53:05.000000000 +0000 @@ -121,7 +121,7 @@ - #if (defined(sun) && defined(unix) && defined(sun386)) - #define SUN386 - #endif + #define PC386 /* IBMPC-compatible with 80386/80486-processor */ + #endif + #ifdef GENERIC_UNIX - #if (defined(unix) && (defined(linux) || defined(__CYGWIN32__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)) && (defined(i386) || defined(__i386__) || defined(__x86_64__) || defined(__amd64__))) + #if (defined(unix) && ((defined(linux) || defined(__linux__)) || defined(__CYGWIN32__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)) && (defined(i386) || defined(__i386__) || defined(__x86_64__) || defined(__amd64__))) #define PC386 #endif - #if (defined(sun) && defined(unix) && defined(mc68020)) -@@ -222,8 +222,14 @@ + #if (defined(sun) && defined(unix) && defined(sparc)) +@@ -218,8 +218,14 @@ #endif #ifdef GENERIC_UNIX #define UNIX @@ -336,15 +265,15 @@ #ifdef __GNU__ #define UNIX_HURD /* the GNU system (Hurd + glibc) */ @@ -1245,7 +1251,7 @@ typedef signed int signean; - #include - #else - #undef offsetof + address of its component 'ident' and return it as number: */ + #include + #ifndef offsetof - #define offsetof(type,ident) ((ULONG)&(((type*)0)->ident)) + #define offsetof(type,ident) ((size_t)&(((type*)0)->ident)) #endif /* Determine the offset of an array 'ident' in a struct of the type 'type': */ #if defined(__cplusplus) || defined(MICROSOFT) -@@ -3316,9 +3322,9 @@ typedef signed_int_with_n_bits(intVsize) +@@ -3312,9 +3318,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 @@ -357,8 +286,8 @@ #elif !(oint_addr_shift==0) #define type_data_object(type,data) \ --- src/makemake.in -+++ src/makemake.in 2008-02-25 14:00:18.306866155 +0100 -@@ -226,6 +226,9 @@ verbose=${CLISP_MAKEMAKE_VERBOSE:-false} ++++ src/makemake.in 2010-07-16 09:24:56.183425374 +0000 +@@ -228,6 +228,9 @@ verbose=${CLISP_MAKEMAKE_VERBOSE:-false} # Handle --with-... arguments while test -z "$endofargs"; do case "$1" in @@ -368,18 +297,7 @@ -verb* | --verb* ) verbose=`echol "$1"|sed 's/-*v[^=]*=*//'` test -n "${verbose}" || verbose=true -@@ -825,8 +828,8 @@ fi - # and the implied value from fsstnd overrides the default. - if [ -z "$docdir" ] ; then - if [ $HOS = unix ] ; then -- docdir='@docdir@' # usually '${datarootdir}/doc/${PACKAGE}' -- if [ "$docdir" = '${datarootdir}/doc/${PACKAGE}' ] ; then -+ docdir='@docdir@' # usually '${datarootdir}/doc/${PACKAGE_TARNAME}' -+ if [ "$docdir" = '${datarootdir}/doc/${PACKAGE_TARNAME}' ] ; then - docdir= - else - PACKAGE=clisp ; eval docdir=\"$docdir\" -@@ -1213,6 +1216,10 @@ if [ $XCC_GCC = true ] ; then +@@ -1335,6 +1338,10 @@ if [ $XCC_GCC = true ] ; then XCFLAGS=${XCFLAGS}" -pthread" fi @@ -390,18 +308,146 @@ else if [ $TSYS = sun4 -a $CROSS = false ] ; then +@@ -3593,7 +3600,8 @@ if [ $CROSS = false ] ; then + echotab " mkdir -p \"\$\$absdest/\$\$m\"; \\" + echotab " cd \$\$m; \$(MAKE) clisp-module-distrib LN=\"\$(INSTALL_DATA)\" distribdir=\"\$\$absdest/\$\$m\" ; cd \"\$\$here\"; \\" + echotab " done; fi" +- line='linkkit/* base/*' ++ echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/full" ++ line='linkkit/* base/* full/*' + else + echotab "mkdir -p \$(DESTDIR)\$(lisplibdir)/full" + line='linkkit/* base/* full/*' --- src/build-aux/config.guess -+++ src/build-aux/config.guess 2008-02-25 14:00:18.342870760 +0100 -@@ -985,6 +985,7 @@ EOF - exit ;; - esac - # Determine whether the default compiler is a.out or elf -+ test -e /etc/SuSE-release && VENDOR=suse ++++ src/build-aux/config.guess 2010-07-14 13:01:48.000000000 +0000 +@@ -870,29 +870,29 @@ EOF + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi +- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} ++ echo ${UNAME_MACHINE}-suse-linux-gnu${LIBC} + exit ;; + arm*:Linux:*:*) eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + else +- echo ${UNAME_MACHINE}-unknown-linux-gnueabi ++ echo ${UNAME_MACHINE}-suse-linux-gnueabi + fi + exit ;; + avr32*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + cris:Linux:*:*) +- echo cris-axis-linux-gnu ++ echo cris-suse-linux-gnu + exit ;; + crisv32:Linux:*:*) +- echo crisv32-axis-linux-gnu ++ echo crisv32-suse-linux-gnu + exit ;; + frv:Linux:*:*) +- echo frv-unknown-linux-gnu ++ echo frv-suse-linux-gnu + exit ;; + i*86:Linux:*:*) + LIBC=gnu +@@ -903,16 +903,16 @@ EOF + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` +- echo "${UNAME_MACHINE}-pc-linux-${LIBC}" ++ echo "${UNAME_MACHINE}-suse-linux-${LIBC}" + exit ;; + ia64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + m32r*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + m68*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + mips:Linux:*:* | mips64:Linux:*:*) + eval $set_cc_for_build +@@ -931,51 +931,51 @@ EOF + #endif + EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` +- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ++ test x"${CPU}" != x && { echo "${CPU}-suse-linux-gnu"; exit; } + ;; + or32:Linux:*:*) +- echo or32-unknown-linux-gnu ++ echo or32-suse-linux-gnu + exit ;; + padre:Linux:*:*) +- echo sparc-unknown-linux-gnu ++ echo sparc-suse-linux-gnu + exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) +- echo hppa64-unknown-linux-gnu ++ echo hppa64-suse-linux-gnu + exit ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in +- PA7*) echo hppa1.1-unknown-linux-gnu ;; +- PA8*) echo hppa2.0-unknown-linux-gnu ;; +- *) echo hppa-unknown-linux-gnu ;; ++ PA7*) echo hppa1.1-suse-linux-gnu ;; ++ PA8*) echo hppa2.0-suse-linux-gnu ;; ++ *) echo hppa-suse-linux-gnu ;; + esac + exit ;; + ppc64:Linux:*:*) +- echo powerpc64-unknown-linux-gnu ++ echo powerpc64-suse-linux-gnu + exit ;; + ppc:Linux:*:*) +- echo powerpc-unknown-linux-gnu ++ echo powerpc-suse-linux-gnu + exit ;; + s390:Linux:*:* | s390x:Linux:*:*) +- echo ${UNAME_MACHINE}-ibm-linux ++ echo ${UNAME_MACHINE}-suse-linux + exit ;; + sh64*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + sh*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + sparc:Linux:*:* | sparc64:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + vax:Linux:*:*) +- echo ${UNAME_MACHINE}-dec-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + x86_64:Linux:*:*) +- echo x86_64-unknown-linux-gnu ++ echo x86_64-suse-linux-gnu + exit ;; + xtensa*:Linux:*:*) +- echo ${UNAME_MACHINE}-unknown-linux-gnu ++ echo ${UNAME_MACHINE}-suse-linux-gnu + exit ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. --- utils/gctrigger.c -+++ utils/gctrigger.c 2008-02-25 14:00:18.374874853 +0100 ++++ utils/gctrigger.c 2008-02-25 13:00:18.000000000 +0000 @@ -599,6 +599,7 @@ static inline void VectorToken_delete (V static Token nexttoken (boolean within_prep_directive) { @@ -411,8 +457,8 @@ { int c = next_char(); switch (c) { --- utils/modprep.lisp -+++ utils/modprep.lisp 2008-02-25 14:00:18.418880480 +0100 -@@ -313,7 +313,7 @@ FOO(bar,baz,zot) ==> FOO; (bar baz zot); ++++ utils/modprep.lisp 2008-02-25 13:00:18.000000000 +0000 +@@ -345,7 +345,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.tar.bz2 b/clisp-2.49.tar.bz2 new file mode 100644 index 0000000..f6e4582 --- /dev/null +++ b/clisp-2.49.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8132ff353afaa70e6b19367a25ae3d5a43627279c25647c220641fed00f8e890 +size 8091011 diff --git a/clisp-rpmlintrc b/clisp-rpmlintrc index 28af753..8373160 100644 --- a/clisp-rpmlintrc +++ b/clisp-rpmlintrc @@ -1,3 +1,5 @@ addFilter(".*devel-file-in-non-devel-package.*/usr/lib/clisp-.*/.*") addFilter(".*files-duplicate.*/usr/lib/clisp-.*/.*") addFilter(".*make-check-outside-check-section.*make\ check.*") +addFilter(".*executable-stack.*/usr/lib/clisp-2.49/.*") +addFilter(".*binary-or-shlib-calls-gethostbyname.*/usr/lib/clisp-2.49/.*") diff --git a/clisp.changes b/clisp.changes index e693830..3d8119f 100644 --- a/clisp.changes +++ b/clisp.changes @@ -1,3 +1,147 @@ +------------------------------------------------------------------- +Thu Jul 15 15:09:10 CEST 2010 - werner@suse.de + +- Update 2.49 + * FFI:OPEN-FOREIGN-LIBRARY now accepts the :REQUIRE argument. + * New user variable CUSTOM:*USER-LIB-DIRECTORY* is respected by REQUIRE + and used by "clisp-link install". + Dynamic modules are now the default build option. + * Function RENAME-FILE now accepts :IF-EXISTS argument which determines + the action when the destination exists, unless, of course, *ANSI* is T. + * The replacement value entered by the user in STORE-VALUE and USE-VALUE + restarts is now EVALuated. + * The old user variable CUSTOM:*PRINT-CLOSURE* now controls interpreted + closure output too (RFE#3001956). This is a tricky feature, read up! + * Module readline now supports readline 6.1. + * Module pcre now supports pcre 8.01. + * Module libsvm does not come with the upstream sources anymore, install + locally and pass --with-libsvm-prefix to the top-level configure instead. + All upstream versions up to 2.91 are supported. + * Module berkeley-db now supports Berkeley-DB 4.8. + * Module postgresql now supports PostgreSQL 8.4. + * Module pari has been updated to support both 64 & 32 bit platforms + with and without GMP. + * New functions OS:VERSION-COMPARE et al call strverscmp. + * Multiple threads of execution are now experimentally supported + (not ready for prime time yet). + * Module libsvm has been upgraded to the upstream version 2.89. + * Module Berkeley-DB now supports Berkeley DB 4.7. + (older versions 4.* are, of course, still supported). + * Module readline now supports readline 6.0. + (older versions 5.* are, of course, still supported). + * Passing :EXECUTABLE 0 to EXT:SAVEINITMEM results in an executable + image which delegates processing of all the usual CLISP command line + options to the :INIT-FUNCTION. + * Driver clisp accepts "-b" to print the installation directory. + * Add file clisp.m4 so that the packages which use CLISP can check + whether it is properly installed and has the required version. + * POSIX:COPY-FILE now accepts :METHOD :HARDLINK-OR-COPY. + * New function POSIX:WAIT calls waitpid or wait4. + * New function EXT:TRIM-IF removes leading and trailing matches. + * New user command "LocalSymbols" (abbreviated ":ls"). + * Commands "add" and "create" replace "add-module-set", "add-module-sets" and + "create-module-set" in clisp-link. + * New module DBUS interfaces to the D-Bus message bus system. + * New function EXT:PROBE-PATHNAME can figure out whether the existing + pathname refers to a file or a directory. + * New function EXT:CANONICALIZE lets you easily canonicalize a value + before processing it. + * New user variable CUSTOM:*REOPEN-OPEN-FILE* controls CLISP behavior + when opening an already open file. + * New SETFable function OS:FILE-SIZE extends FILE-LENGTH to pathname + designators and lets you change file size. + New function OS:USER-SHELLS returns the list of legal user shells. + New SETFable functions OS:HOSTID and OS:DOMAINNAME. + * LOAD now uses DIRECTORY only for wild *LOAD-PATHS* components, thus + speeding up the most common cases and preventing the denial-of-service + attack whereas CLISP would not start if a file with a name + incompatible with *PATHNAME-ENCODING* is present in USER-HOMEDIR-PATHNAME. + * ROOM now prints some GC statistics and returns the same values as GC. + * New user variable CUSTOM:*HTTP-LOG-STREAM* controls EXT:OPEN-HTTP logging. + * CLISP built natively on 64-bit platforms (i.e., with 64-bit pointers) + now has :WORD-SIZE=64 in *FEATURES*. + * Module syscalls now offers OS:ERRNO and OS:STRERROR (for the sake of + FFI modules). + * Modules MIT-CLX and NEW-CLX export a new macro XLIB:WITH-OPEN-DISPLAY. + * Module netica has been upgraded to the Netica C API version 3.25 (from 2.15). + * Module libsvm has been upgraded to the upstream version 2.86. + * The top-level configure option --build has been replaced by --cbc + (Configure/Build/Check) to avoid conflict with the standard autoconf option. + * Experimental Just-In-Time Compilation of byte-compiled closures is now + done using GNU lightning (this is a configure-time option). + * New command-line option -lp adds directories to *LOAD-PATHS*. + * New function FFI:OPEN-FOREIGN-LIBRARY allows pre-opening of shared libraries. + * New macro EXT:COMPILE-TIME-VALUE allows computing values at file compilation. + * New function FFI:FOREIGN-POINTER-INFO allows some introspection. + * Versioned library symbols are now accessible via the :VERSION argument of + DEF-CALL-OUT and DEF-C-VAR. + * New functions GRAY:STREAM-READ-SEQUENCE and GRAY:STREAM-WRITE-SEQUENCE have + been added for portability reasons. + * New user variable CUSTOM:*SUPPRESS-SIMILAR-CONSTANT-REDEFINITION-WARNING* + controls whether the redefinition warning is issues when the new + constant value is visually similar to the old one. + * REPL commands can now accept arguments. + * Bug fixes: + + Do not eliminate function calls which are advertised to have + exceptional situation in unsafe code (bug#2868166). + + Fix an internal error in DECLAIM on bad OPTIMIZE quality (bug#2868147). + + CLEAR-INPUT now clears the EOF condition on file streams (bug#2902716). + + When quitting on a signal, never enter the debugger (bug#2795278). + + Respect :FULL T in DIRECTORY :WILD-INFERIORS (bug#3009966). + + Handle TWO-WAY-STREAM and ECHO-STREAM correctly by + (SETF STREAM-EXTERNAL-FORMAT) (bug#3020933). + + Fix unbuffered output pipe stream initialization (bug#3024887). + + Better support of :START and :END arguments in NEW-CLX (bug#2159172). + + Fix LOAD-LOGICAL-PATHNAME-TRANSLATIONS when *LOAD-PATHS* contains + wild pathnames (introduced in 2.47) (bug#2198109). + + Module NEW-CLX now has the XLIB:QUEUE-EVENT function, + + Extend the domain of LOG to larger BIGNUMs and RATIOs (bug#1007358). + + Avoid a segfault on (EXPT ) (bug#2807311). + + Fix interaction of finalizers and weak objects (bug#1472478). + + Comparison of floats and rationals never underflows (bug#2014262). + + When failing to convert a huge LONG-FLOAT to a RATIONAL, signal an + ARITHMETIC-ERROR instead of blowing the stack (bug#2015118). + + Restored TYPECODES g++ compilation (bug#1385641), which allowed fixing + a few GC-safety bugs. + + Fixed a segfault when signaling some UNBOUND-VARIABLE errors in some + interpreted code on MacOS X (introduced in 2.46) (bug#2020784). + + Fixed input after switching a :DOS stream to binary (bug#2022362). + + Support circular objects in EQUAL and EQUALP hash-tables (bug#2029069). + + Avoid C namespace pollution (bug#2146126). + + Fix timeout precision in NEW-CLX (bug#2188102). + + Work around the absence of tgamma on solaris (bug#1966375). + + Avoid a rare segfault on SIGHUP (bug#1956715). + + Improve module portability to systems with non-GNU make (bug#1970141). + + Fix GRAY:STREAM-READ-SEQUENCE and GRAY:STREAM-WRITE-SEQUENCE (bug#1975798). + + Fix the remaining bugs in special bindings in evaluated code on + TYPECODES (64-bit) platforms. + + Fix SOCKET:SOCKET-CONNECT with timeout to a dead port (bug#2007052). + + Fix handling of quoted objects by READ-PRESERVING-WHITESPACE (bug#1890854). + + Fix rectangle count in NEW-CLX XLIB:SET-GCONTEXT-CLIP-MASK (bug#1918017). + + Fix argument handling in NEW-CLX XLIB:QUERY-COLORS (bug#1931101). + + Fix compilation on systems not supporting returning void (bug#1924506). + + Fix TANH floating point overflow for large floats (bug#1683394). + + Avoid extra aggressive bignum overflow reporting in READ (bug#1928735). + + Improved floating point number formatting. (bug#1790496, bug#1928759) + + COMPILE no longer discards MACRO doc strings (bug#1936255). + + Improved accuracy of LOG on complex numbers (bug#1934968). + + Fix COERCE for compound float result-types (bug#1942246). + + Fix $http_proxy parsing (bug#1959436). + + Fix LISTEN on buffered streams when the last character was + CRLF (bug#1961475). + + Cross-compilation process has been restored to its former glory, + thanks to the valiant and persistent testing by + (bug#1928920, bug#1929496, bug#1929516, bug#1931097) + * ANSI compliance: + + Implement the ANSI issue COMPILER-DIAGNOSTICS:USE-HANDLER: use the + CL Condition System for compiler diagnostics. + + STREAM-ELEMENT-TYPE on empty CONCATENATED-STREAMs now returns NIL + because nothing can be read from such streams (bug#3014921). + + Implement the ANSI (IGNORE #'FUNCTION) declaration. + + The sets of declaration and type names are disjoint. + + FLET, LABELS and MACROLET respect declarations. + + ------------------------------------------------------------------- Wed Apr 21 14:35:56 UTC 2010 - coolo@novell.com diff --git a/clisp.spec b/clisp.spec index 11ae339..f22f200 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,5 +1,5 @@ # -# spec file for package clisp (Version 2.44.1) +# spec file for package clisp (Version 2.49) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,8 +19,7 @@ Name: clisp -# BuildRequires: db43-devel gcc-c++ libstdc++-devel openssl-devel pcre-devel postgresql-devel readline-devel texlive-latex xorg-x11-devel -BuildRequires: db-devel openssl-devel pcre-devel postgresql-devel readline-devel xorg-x11-devel +BuildRequires: db-devel dbus-1-devel fdupes gdbm-devel gtk2-devel libglade2-devel openssl-devel pcre-devel postgresql-devel readline-devel xorg-x11-devel # # If set to yes do not forget to add # gcc-c++ @@ -31,25 +30,24 @@ License: GPLv2+ Group: Development/Languages/Other PreReq: vim AutoReqProv: on -Version: 2.44.1 -Release: 65 +Version: 2.49 +Release: 1 Summary: A Common Lisp Interpreter Url: http://clisp.cons.org -Source0: ftp://ftp.gnu.org/pub/gnu/clisp/latest/clisp-%{version}.tar.bz2 -Source1: ftp://ftp.santafe.edu/pub/gnu/ffcall-1.10+2.43.tar.bz2 -Source2: ftp://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-2.5.tar.bz2 +Source0: http://switch.dl.sourceforge.net/sourceforge/clisp/clisp-2.49.tar.bz2 +Source1: http://www.haible.de/bruno/gnu/ffcall-1.10+2.43.tar.bz2 +Source2: ftp://ftp.gnu.org/pub/gnu/libsigsegv/libsigsegv-2.8.tar.bz2 Source3: clisp-rpmlintrc -Patch0: clisp-2.44.1.dif +Source4: README.SuSE +Patch0: clisp-2.49.dif Patch1: clisp-2.44.1-map_private.patch Patch2: clisp-2.44.1-map_variable.patch -Patch3: clisp-2.31-personality.patch +Patch3: clisp-2.49-personality.patch Patch4: clisp-2.44.1-ia64.dif -Patch5: clisp-2.36-alloca.patch Patch7: clisp-2.39-ia64-wooh.dif Patch8: clisp-2.39-clx.dif -Patch9: clisp-2.39-berkeley-db.dif +Patch9: clisp-2.49-berkeley-db.dif Patch10: ffcall-1.10+2.43.dif -Patch11: sigseg-configure.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %global vimdir %{_datadir}/vim/site/after/syntax %global xarch ppc64 s390x armv4l @@ -87,12 +85,10 @@ contains two nice applications. %patch2 -p0 -b .mapvar %patch3 -p0 -b .sel %patch4 -p0 -b .ia64 -%patch5 -p0 -b .alloca %patch7 -p0 -b .wooh %patch8 -p0 -b .clx %patch9 -p0 -b .bdb %patch10 -p0 -b .ffcall -%patch11 -p0 -b .sigseg %patch0 %build @@ -208,6 +204,11 @@ popd FFCALL=${FFCALL}/usr %endif # +# +# +find -name configure | xargs -r \ + sed -ri "/ac_precious_vars='build_alias\$/ {N; s/build_alias\\n//; }" +# # The modules i18n, syscalls, regexp # are part of the base clisp system. # @@ -226,7 +227,10 @@ FFCALL=${FFCALL}/usr %endif --with-dynamic-modules \ --with-gettext \ + --with-module=dbus \ --with-module=queens \ + --with-module=gdbm \ + --with-module=gtk2 \ --with-module=pcre \ --with-module=rawsock \ --with-module=zlib \ @@ -235,6 +239,10 @@ FFCALL=${FFCALL}/usr --with-module=clx/new-clx \ --with-module=berkeley-db \ --with-module=postgresql +pushd src/ + make + make check +popd # # Remove pipe # @@ -242,7 +250,7 @@ rm -f /tmp/clispIO # # Check for errors # -test -z "$(ls ${SYSTEM}/tests/*.erg 2>/dev/null)" +test -z "$(ls tests/*.erg 2>/dev/null)" %install # @@ -257,29 +265,30 @@ CLXLIB=${LSPLIB}/full # # Install the current system # -make install -C ${SYSTEM} \ - prefix=%{_prefix} \ +pushd src/ + make install prefix=%{_prefix} \ exec_prefix=%{_prefix} \ mandir=%{_mandir} \ libdir=%{_libdir} \ DESTDIR=%{buildroot} \ INSTALL_DATA='install -cm 0444' +popd # # The CLX interface # install -d %{buildroot}${CLXDOC} install -d %{buildroot}${CLXLIB} -install -d %{buildroot}${LSPLIB}/fullnox -pushd ${SYSTEM}/clx/new-clx/ - install -c -m 0444 README %{buildroot}${CLXDOC}/ - install -c -m 0444 README.SuSE %{buildroot}${CLXDOC}/ - tar cf - demos/ | (cd %{buildroot}${CLXDOC}/ ; tar xf - ) +pushd modules/clx/new-clx/ + install -c -m 0444 README %{buildroot}${CLXDOC}/ + install -c -m 0444 %{S:4} %{buildroot}${CLXDOC}/ + tar cf - demos/ | (cd %{buildroot}${CLXDOC}/ ; tar xf - ) popd -pushd ${SYSTEM}/clx/ - tar xfz clx-manual.tar.gz -C %{buildroot}${CLXDOC} +pushd modules/clx/ + tar xfz clx-manual.tar.gz -C %{buildroot}${CLXDOC} popd +chmod u+xrw,a+rx %{buildroot}%{_bindir}/clisp +chmod u+xrw,a+rx %{buildroot}%{_bindir}/clisp-link chmod -R g+r,o+r %{buildroot}${LSPDOC}/ -chmod u+xrw,a+rx %{buildroot}${LSPLIB}/clisp-link chmod a-x %{buildroot}${CLXDOC}/clx-manual/html/doc-index.cgi find %{buildroot}${LSPDOC} -type d | xargs chmod 755 rm -f %{buildroot}${CLXDOC}/*,v @@ -296,7 +305,9 @@ find %{buildroot}${LSPLIB}/ -name '*.run' | xargs -r chmod 0755 %defattr(-,root,root,755) %doc %{_docdir}/clisp/ %{_bindir}/clisp +%{_bindir}/clisp-link %{_libdir}/clisp-%{version}/ +%{_datadir}/aclocal/clisp.m4 %{_datadir}/emacs/site-lisp/clhs.el %{_datadir}/emacs/site-lisp/clisp-coding.el %{_datadir}/emacs/site-lisp/clisp-ffi.el @@ -305,5 +316,6 @@ find %{buildroot}${LSPLIB}/ -name '*.run' | xargs -r chmod 0755 # Do not touch this but wait on check in of new vim!!! %{vimdir}/lisp.vim %doc %{_mandir}/man1/clisp.1.gz +%doc %{_mandir}/man1/clisp-link.1.gz %changelog diff --git a/libsigsegv-2.5.tar.bz2 b/libsigsegv-2.5.tar.bz2 deleted file mode 100644 index 53b492c..0000000 --- a/libsigsegv-2.5.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4e94d710ff665262bafdee66c9bfe7db0702eb8e65c34b96783a9a677d144aa3 -size 273064 diff --git a/libsigsegv-2.8.tar.bz2 b/libsigsegv-2.8.tar.bz2 new file mode 100644 index 0000000..c0fdb0c --- /dev/null +++ b/libsigsegv-2.8.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7985c1d3ae1425cace68e5e7b1a50b0855d78ab6bc459238249b55a193e55f43 +size 331333 diff --git a/sigseg-configure.diff b/sigseg-configure.diff deleted file mode 100644 index 22ab1c7..0000000 --- a/sigseg-configure.diff +++ /dev/null @@ -1,112 +0,0 @@ -From 4f14ef87b2fba9718c1a88b9ed9ca7ba111d60da Mon Sep 17 00:00:00 2001 -From: Paolo Bonzini -Date: Tue, 22 Sep 2009 08:10:43 +0000 -Subject: Fix crash of stackoverflow2 on x86_64-linux. - ---- -diff --git libsigsegv-2.5/src/sigsegv.h.in libsigsegv-2.6/src/sigsegv.h.in -index 85f337d..6b8e4c7 100644 ---- libsigsegv-2.5/src/sigsegv.h.in -+++ libsigsegv-2.5/src/sigsegv.h.in -@@ -121,9 +121,11 @@ typedef void (*stackoverflow_handler_t) (int emergency, stackoverflow_context_t - /* - * Installs a stack overflow handler. - * The extra_stack argument is a pointer to a pre-allocated area used as a -- * stack for executing the handler. It is typically allocated by use of -- * `alloca' during `main'. Its size should be sufficiently large. -- * The following code determines an appropriate size: -+ * stack for executing the handler. It typically comes from a static variable -+ * or from heap-allocated memoty; placing it on the main stack may fail on -+ * some operating systems. -+ * Its size, passed in extra_stack_size, should be sufficiently large. The -+ * following code determines an appropriate size: - * #include - * #ifndef SIGSTKSZ / * glibc defines SIGSTKSZ for this purpose * / - * # define SIGSTKSZ 16384 / * on most platforms, 16 KB are sufficient * / -diff --git libsigsegv-2.5/tests/stackoverflow1.c libsigsegv-2.6/tests/stackoverflow1.c -index 0970e79..23eff58 100644 ---- libsigsegv-2.5/tests/stackoverflow1.c -+++ libsigsegv-2.5/tests/stackoverflow1.c -@@ -88,12 +88,13 @@ recurse (volatile int n) - return *recurse_1 (n, &n); - } - -+/* glibc says: Users should use SIGSTKSZ as the size of user-supplied -+ buffers. */ -+char mystack[2 * SIGSTKSZ]; -+ - int - main () - { -- /* glibc says: Users should use SIGSTKSZ as the size of user-supplied -- buffers. */ -- char mystack[SIGSTKSZ]; - sigset_t emptyset; - - #if HAVE_SETRLIMIT && defined RLIMIT_STACK -diff --git libsigsegv-2.5/tests/stackoverflow2.c libsigsegv-2.6/tests/stackoverflow2.c -index 2475bf2..4a07c66 100644 ---- libsigsegv-2.5/tests/stackoverflow2.c -+++ libsigsegv-2.5/tests/stackoverflow2.c -@@ -109,12 +109,13 @@ recurse (volatile int n) - return *recurse_1 (n, &n); - } - -+/* glibc says: Users should use SIGSTKSZ as the size of user-supplied -+ buffers. */ -+char mystack[2 * SIGSTKSZ]; -+ - int - main () - { -- /* glibc says: Users should use SIGSTKSZ as the size of user-supplied -- buffers. */ -- char mystack[SIGSTKSZ]; - sigset_t emptyset; - void *p; - --- -cgit v0.8.2.1 -diff -up libsigsegv-2.5/m4/sigaltstack-longjmp.m4.stack2 libsigsegv-2.6/m4/sigaltstack-longjmp.m4 ---- libsigsegv-2.5/m4/sigaltstack-longjmp.m4.stack2 2008-08-24 15:40:16.000000000 -0500 -+++ libsigsegv-2.5/m4/sigaltstack-longjmp.m4 2009-09-22 13:26:07.552664938 -0500 -@@ -51,9 +51,9 @@ int recurse (volatile int n) - int sum = 0; - return *recurse_1 (n, &sum); - } -+char mystack[2 * SIGSTKSZ]; - int main () - { -- char mystack[SIGSTKSZ]; - stack_t altstack; - struct sigaction action; - sigset_t emptyset; -diff -up libsigsegv-2.5/m4/sigaltstack.m4.stack2 libsigsegv-2.6/m4/sigaltstack.m4 ---- libsigsegv-2.5/m4/sigaltstack.m4.stack2 2008-08-24 15:41:10.000000000 -0500 -+++ libsigsegv-2.5/m4/sigaltstack.m4 2009-09-22 13:25:47.462666140 -0500 -@@ -71,9 +71,10 @@ int recurse (volatile int n) - int sum = 0; - return *recurse_1 (n, &sum); - } -+char mystack[2 * SIGSTKSZ]; -+ - int main () - { -- char mystack[SIGSTKSZ]; - stack_t altstack; - struct sigaction action; - #if defined HAVE_SETRLIMIT && defined RLIMIT_STACK -diff -up libsigsegv-2.5/m4/sigaltstack-siglongjmp.m4.stack2 libsigsegv-2.6/m4/sigaltstack-siglongjmp.m4 ---- libsigsegv-2.5/m4/sigaltstack-siglongjmp.m4.stack2 2008-08-24 15:40:49.000000000 -0500 -+++ libsigsegv-2.5/m4/sigaltstack-siglongjmp.m4 2009-09-22 13:26:43.994665249 -0500 -@@ -49,9 +49,9 @@ int recurse (volatile int n) - int sum = 0; - return *recurse_1 (n, &sum); - } -+char mystack[2 * SIGSTKSZ]; - int main () - { -- char mystack[SIGSTKSZ]; - stack_t altstack; - struct sigaction action; - #ifdef __BEOS__