diff --git a/clisp.changes b/clisp.changes index 6a13d35..e693830 100644 --- a/clisp.changes +++ b/clisp.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Wed Apr 21 14:35:56 UTC 2010 - coolo@novell.com + +- found patch to avoid endless configure + ------------------------------------------------------------------- Tue Nov 3 19:09:10 UTC 2009 - coolo@novell.com diff --git a/clisp.spec b/clisp.spec index 8c93ce5..11ae339 100644 --- a/clisp.spec +++ b/clisp.spec @@ -1,7 +1,7 @@ # # spec file for package clisp (Version 2.44.1) # -# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -27,12 +27,12 @@ BuildRequires: db-devel openssl-devel pcre-devel postgresql-devel readline-deve # to BuildRequires # %define debug no -License: GPL v2 or later +License: GPLv2+ Group: Development/Languages/Other PreReq: vim AutoReqProv: on Version: 2.44.1 -Release: 64 +Release: 65 Summary: A Common Lisp Interpreter Url: http://clisp.cons.org Source0: ftp://ftp.gnu.org/pub/gnu/clisp/latest/clisp-%{version}.tar.bz2 @@ -49,6 +49,7 @@ Patch7: clisp-2.39-ia64-wooh.dif Patch8: clisp-2.39-clx.dif Patch9: clisp-2.39-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 @@ -80,15 +81,6 @@ with the file README. The subdirectory contains two nice applications. - - -Authors: --------- - Bruno Haible - Michael Stoll - Marcus Daniels - Gilbert Baumann - %prep %setup -qT -b0 -a1 -a2 %patch1 -p0 -b .mappriv @@ -100,6 +92,7 @@ Authors: %patch8 -p0 -b .clx %patch9 -p0 -b .bdb %patch10 -p0 -b .ffcall +%patch11 -p0 -b .sigseg %patch0 %build @@ -188,6 +181,7 @@ unset CFLAGS # SEGV=${PWD}/libsigsegv pushd libsigsegv-*/ + autoreconf ./configure --build ${SYSTEM} ${DEBUG}\ --prefix=%{_prefix} \ --libdir=%{_libdir} diff --git a/sigseg-configure.diff b/sigseg-configure.diff new file mode 100644 index 0000000..22ab1c7 --- /dev/null +++ b/sigseg-configure.diff @@ -0,0 +1,112 @@ +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__