From 8157730a35e258063ddd9f3062d446a560f09d97 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sun, 28 Nov 2010 12:48:09 -0600 Subject: [PATCH] - libsigsegv-2.9 (#593618) --- .gitignore | 2 +- libsigsegv-2.6-mystack.patch | 112 ----------------------------------- libsigsegv.spec | 31 ++++------ sources | 2 +- 4 files changed, 12 insertions(+), 135 deletions(-) delete mode 100644 libsigsegv-2.6-mystack.patch diff --git a/.gitignore b/.gitignore index 8b02cd3..76684a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -libsigsegv-2.6.tar.gz +/libsigsegv-2.9.tar.gz diff --git a/libsigsegv-2.6-mystack.patch b/libsigsegv-2.6-mystack.patch deleted file mode 100644 index d69f558..0000000 --- a/libsigsegv-2.6-mystack.patch +++ /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 a/src/sigsegv.h.in b/src/sigsegv.h.in -index 85f337d..6b8e4c7 100644 ---- a/src/sigsegv.h.in -+++ b/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 a/tests/stackoverflow1.c b/tests/stackoverflow1.c -index 0970e79..23eff58 100644 ---- a/tests/stackoverflow1.c -+++ b/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 a/tests/stackoverflow2.c b/tests/stackoverflow2.c -index 2475bf2..4a07c66 100644 ---- a/tests/stackoverflow2.c -+++ b/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.6/m4/sigaltstack-longjmp.m4.stack2 libsigsegv-2.6/m4/sigaltstack-longjmp.m4 ---- libsigsegv-2.6/m4/sigaltstack-longjmp.m4.stack2 2008-08-24 15:40:16.000000000 -0500 -+++ libsigsegv-2.6/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.6/m4/sigaltstack.m4.stack2 libsigsegv-2.6/m4/sigaltstack.m4 ---- libsigsegv-2.6/m4/sigaltstack.m4.stack2 2008-08-24 15:41:10.000000000 -0500 -+++ libsigsegv-2.6/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.6/m4/sigaltstack-siglongjmp.m4.stack2 libsigsegv-2.6/m4/sigaltstack-siglongjmp.m4 ---- libsigsegv-2.6/m4/sigaltstack-siglongjmp.m4.stack2 2008-08-24 15:40:49.000000000 -0500 -+++ libsigsegv-2.6/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__ diff --git a/libsigsegv.spec b/libsigsegv.spec index 0bab36a..d800725 100644 --- a/libsigsegv.spec +++ b/libsigsegv.spec @@ -3,8 +3,8 @@ Summary: Library for handling page faults in user mode Name: libsigsegv -Version: 2.6 -Release: 6%{?dist} +Version: 2.9 +Release: 1%{?dist} License: GPLv2+ URL: http://libsigsegv.sourceforge.net/ @@ -12,13 +12,7 @@ Source0: http://ftp.gnu.org/gnu/libsigsegv/libsigsegv-%{version}.tar.gz Group: System Environment/Libraries BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -#Patch1: libsigsegv-2.6-confdefs_debug.patch - ## upstream patches -# based on: -# http://git.savannah.gnu.org/cgit/libsigsegv.git/patch/?id=4f14ef87b2fba9718c1a88b9ed9ca7ba111d60da -# http://git.savannah.gnu.org/cgit/libsigsegv.git/patch/?id=54b612e978e26a52b5706272dabf84ed9d895fa7 -Patch100: libsigsegv-2.6-mystack.patch Source1: sigsegv-wrapper.h @@ -38,7 +32,7 @@ technique for implementing: %package devel Summary: Development libraries and header files for %{name} Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} %description devel %{summary}. @@ -53,9 +47,6 @@ Requires: %{name}-devel = %{version}-%{release} %prep %setup -q -%patch100 -p1 -b .mystack -autoreconf - %build %configure \ @@ -79,13 +70,12 @@ make install DESTDIR=%{buildroot} rm -f %{buildroot}%{_libdir}/lib*.la -%if 0%{?fedora} > 11 +# move shlib to %{_lib} pushd %{buildroot}%{_libdir} mkdir ../../%{_lib} -mv libsigsegv.so.0* ../../%{_lib}/ -ln -sf ../../%{_lib}/libsigsegv.so.0 %{buildroot}%{_libdir}/libsigsegv.so +mv libsigsegv.so.2* ../../%{_lib}/ +ln -sf ../../%{_lib}/libsigsegv.so.2 %{buildroot}%{_libdir}/libsigsegv.so popd -%endif %check @@ -104,11 +94,7 @@ rm -rf %{buildroot} %files %defattr(-,root,root,-) %doc AUTHORS COPYING NEWS README -%if 0%{?fedora} > 11 -/%{_lib}/libsigsegv.so.0* -%else -%{_libdir}/libsigsegv.so.0* -%endif +/%{_lib}/libsigsegv.so.2* %files devel %defattr(-,root,root,-) @@ -124,6 +110,9 @@ rm -rf %{buildroot} %changelog +* Sat Nov 27 2010 Rex Dieter - 2.9-1 +- libsigsegv-2.9 (#593618) + * Tue Sep 22 2009 Rex Dieter - 2.6-6 - respin mystack patch diff --git a/sources b/sources index ea8ffe7..4f4c814 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7e24993730649d13c6eabc28bd24de35 libsigsegv-2.6.tar.gz +0bef39a96abacabec6a191dc7fd42ba3 libsigsegv-2.9.tar.gz