+++ /dev/null
-At least x86_64 version cannot work, src/setjmp/setjmp.c and
-src/setjmp/sigsetjmp.c are not even compiled, src/x86_64/longjmp.S does not
-match src/setjmp/setjmp.c + include/tdep-x86_64/jmpbuf.h .
-
-google-perftools link only with libunwind.so.7 .
-
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -12,7 +12,7 @@ lib_LTLIBRARIES_cdep_setjmp =
- else
- LIBRARIES_cdep = libunwind-ptrace.a
- lib_LTLIBRARIES_cdep = libunwind.la
--lib_LTLIBRARIES_cdep_setjmp = libunwind-setjmp.la
-+lib_LTLIBRARIES_cdep_setjmp = #libunwind-setjmp.la
- endif
-
- ### libunwind-ptrace:
-@@ -27,21 +27,21 @@ libunwind_ptrace_a_SOURCES = \
- ptrace/_UPT_reg_offset.c ptrace/_UPT_resume.c
-
- ### libunwind-setjmp:
--libunwind_setjmp_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
-- -version-info $(SETJMP_SO_VERSION)
--libunwind_setjmp_la_LIBADD = libunwind-$(arch).la -lc
--libunwind_setjmp_la_SOURCES_common = setjmp/setjmp_i.h \
-- setjmp/longjmp.c \
-- setjmp/siglongjmp.c
--libunwind_setjmp_la_SOURCES_arm = arm/siglongjmp.S
--libunwind_setjmp_la_SOURCES_ia64 = ia64/setjmp.S ia64/sigsetjmp.S \
-- ia64/longjmp.S ia64/siglongjmp.S
--libunwind_setjmp_la_SOURCES_hppa = hppa/siglongjmp.S
--libunwind_setjmp_la_SOURCES_mips = mips/siglongjmp.S
--libunwind_setjmp_la_SOURCES_x86 = x86/longjmp.S x86/siglongjmp.S
--libunwind_setjmp_la_SOURCES_x86_64 = x86_64/longjmp.S x86_64/siglongjmp.S
--libunwind_setjmp_la_SOURCES_ppc64 = ppc/longjmp.S ppc/siglongjmp.S
--libunwind_setjmp_la_SOURCES_ppc32 = ppc/longjmp.S ppc/siglongjmp.S
-+#libunwind_setjmp_la_LDFLAGS = $(COMMON_SO_LDFLAGS) \
-+# -version-info $(SETJMP_SO_VERSION)
-+#libunwind_setjmp_la_LIBADD = libunwind-$(arch).la -lc
-+#libunwind_setjmp_la_SOURCES_common = setjmp/setjmp_i.h \
-+# setjmp/longjmp.c \
-+# setjmp/siglongjmp.c
-+#libunwind_setjmp_la_SOURCES_arm = arm/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_ia64 = ia64/setjmp.S ia64/sigsetjmp.S \
-+# ia64/longjmp.S ia64/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_hppa = hppa/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_mips = mips/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_x86 = x86/longjmp.S x86/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_x86_64 = x86_64/longjmp.S x86_64/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_ppc64 = ppc/longjmp.S ppc/siglongjmp.S
-+#libunwind_setjmp_la_SOURCES_ppc32 = ppc/longjmp.S ppc/siglongjmp.S
-
- ### libunwind:
-
-@@ -359,8 +359,8 @@ if ARCH_ARM
- if !REMOTE_ONLY
- libunwind_arm_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_arm)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_arm)
- else
- if ARCH_IA64
- ia64_mk_Gcursor_i_SOURCES = ia64/mk_Gcursor_i.c
-@@ -378,8 +378,8 @@ Lcursor_i.h: ia64/mk_Lcursor_i
- if !REMOTE_ONLY
- libunwind_ia64_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_ia64)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_ia64)
- else
- if ARCH_HPPA
- lib_LTLIBRARIES_arch = libunwind-hppa.la
-@@ -389,8 +389,8 @@ if ARCH_HPPA
- if !REMOTE_ONLY
- libunwind_hppa_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_hppa)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_hppa)
- else
- if ARCH_MIPS
- lib_LTLIBRARIES_arch = libunwind-mips.la
-@@ -400,8 +400,8 @@ if ARCH_MIPS
- if !REMOTE_ONLY
- libunwind_mips_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_mips)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_mips)
- else
- if ARCH_X86
- lib_LTLIBRARIES_arch = libunwind-x86.la
-@@ -411,8 +411,8 @@ if ARCH_X86
- if !REMOTE_ONLY
- libunwind_x86_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_x86)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_x86)
- else
- if ARCH_X86_64
- lib_LTLIBRARIES_arch = libunwind-x86_64.la
-@@ -422,8 +422,8 @@ if ARCH_X86_64
- if !REMOTE_ONLY
- libunwind_x86_64_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_x86_64)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_x86_64)
- else
- if ARCH_PPC32
- lib_LTLIBRARIES_arch = libunwind-ppc32.la
-@@ -433,8 +433,8 @@ if ARCH_PPC32
- if !REMOTE_ONLY
- libunwind_ppc32_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_ppc32)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_ppc32)
- else
- if ARCH_PPC64
- lib_LTLIBRARIES_arch = libunwind-ppc64.la
-@@ -444,8 +444,8 @@ if ARCH_PPC64
- if !REMOTE_ONLY
- libunwind_ppc64_la_LIBADD = libunwind.la -lc
- endif
-- libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_ppc64)
-+# libunwind_setjmp_la_SOURCES = $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_ppc64)
-
- endif # ARCH_PPC64
- endif # ARCH_PPC32
-@@ -466,7 +466,7 @@ libunwind_la_LIBADD = -lc $(LIBCRTS)
-
- lib_LIBRARIES = $(LIBRARIES_cdep)
- lib_LTLIBRARIES = $(lib_LTLIBRARIES_cdep) $(lib_LTLIBRARIES_arch) \
-- $(lib_LTLIBRARIES_cdep_setjmp)
-+ # $(lib_LTLIBRARIES_cdep_setjmp)
-
- AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/include/tdep-$(arch) -I.
- AM_CCASFLAGS = $(AM_CPPFLAGS)
-@@ -488,16 +488,16 @@ EXTRA_DIST = elfxx.h elfxx.c unwind/unwind-internal.h \
- $(libunwind_mips_la_SOURCES_mips) \
- $(libunwind_x86_la_SOURCES_x86) \
- $(libunwind_x86_64_la_SOURCES_x86_64) \
-- $(libunwind_ptrace_a_SOURCES) \
-- $(libunwind_setjmp_la_SOURCES_common) \
-- $(libunwind_setjmp_la_SOURCES_arm) \
-- $(libunwind_setjmp_la_SOURCES_hppa) \
-- $(libunwind_setjmp_la_SOURCES_ia64) \
-- $(libunwind_setjmp_la_SOURCES_mips) \
-- $(libunwind_setjmp_la_SOURCES_x86) \
-- $(libunwind_setjmp_la_SOURCES_x86_64) \
-- $(libunwind_setjmp_la_SOURCES_ppc32) \
-- $(libunwind_setjmp_la_SOURCES_ppc64)
-+ $(libunwind_ptrace_a_SOURCES)
-+# $(libunwind_setjmp_la_SOURCES_common) \
-+# $(libunwind_setjmp_la_SOURCES_arm) \
-+# $(libunwind_setjmp_la_SOURCES_hppa) \
-+# $(libunwind_setjmp_la_SOURCES_ia64) \
-+# $(libunwind_setjmp_la_SOURCES_mips) \
-+# $(libunwind_setjmp_la_SOURCES_x86) \
-+# $(libunwind_setjmp_la_SOURCES_x86_64) \
-+# $(libunwind_setjmp_la_SOURCES_ppc32) \
-+# $(libunwind_setjmp_la_SOURCES_ppc64)
-
-
- # The -version-info flag accepts an argument of the form
---- a/tests/Makefile.am
-+++ b/tests/Makefile.am
-@@ -24,7 +24,8 @@ if ARCH_IA64
- Gia64-test-nat Lia64-test-nat \
- Gia64-test-rbs Lia64-test-rbs \
- Gia64-test-readonly Lia64-test-readonly \
-- ia64-test-setjmp ia64-test-sig
-+ ia64-test-sig
-+# ia64-test-setjmp
- else
- if ARCH_PPC64
- if USE_ALTIVEC
-@@ -40,8 +41,9 @@ endif #ARCH_IA64
- Gtest-resume-sig Ltest-resume-sig \
- Gtest-dyn1 Ltest-dyn1 \
- test-async-sig test-flush-cache test-init-remote \
-- test-mem test-setjmp test-ptrace \
-+ test-mem test-ptrace \
- Ltest-nomalloc
-+# test-setjmp
- noinst_PROGRAMS_cdep = forker mapper test-ptrace-misc test-varargs \
- Gperf-simple Lperf-simple
-
-@@ -93,8 +95,8 @@ test_ptrace_misc_SOURCES = test-ptrace-misc.c ident.c
- LIBUNWIND = ../src/libunwind-$(arch).la $(LIBUNWIND_local)
- LDADD = $(LIBUNWIND)
-
--test_setjmp_LDADD = ../src/libunwind-setjmp.la $(LIBUNWIND_local)
--ia64_test_setjmp_LDADD = ../src/libunwind-setjmp.la $(LIBUNWIND_local)
-+# test_setjmp_LDADD = ../src/libunwind-setjmp.la $(LIBUNWIND_local)
-+# ia64_test_setjmp_LDADD = ../src/libunwind-setjmp.la $(LIBUNWIND_local)
- test_ptrace_LDADD = ../src/libunwind-ptrace.a $(LIBUNWIND)
- Ltest_concurrent_LDADD = $(LIBUNWIND) -lpthread
- Gtest_concurrent_LDADD = $(LIBUNWIND) -lpthread
-%bcond_with tests
+#
+# Conditional build:
+%bcond_with tests # perform "make check" (fails randomly)
+#
Summary: libunwind - a (mostly) platform-independent unwind API
Summary(pl.UTF-8): libunwind - (prawie) niezależne od platformy API do rozwijania
Name: libunwind
-Version: 0.99
-Release: 2
+Version: 1.0
+Release: 1
License: MIT
Group: Libraries
Source0: http://download.savannah.gnu.org/releases/libunwind/%{name}-%{version}.tar.gz
-# Source0-md5: 3e9ca08118e22165a7f07d01d61a2d0d
-Patch0: %{name}-disable-setjmp.patch
-Patch1: %{name}-rpath.patch
+# Source0-md5: 7308c793c9a1fd7be6fa2c070438c516
+Patch0: %{name}-rpath.patch
+Patch1: %{name}-generic.patch
URL: http://www.nongnu.org/libunwind/
-BuildRequires: autoconf
-BuildRequires: automake >= 1.6
+BuildRequires: autoconf
+BuildRequires: automake >= 1.6
%ifarch %{x8664}
BuildRequires: binutils >= 2:2.15.94.0.2.2
%endif
-BuildRequires: libtool
+BuildRequires: libtool
BuildRequires: rpmbuild(macros) >= 1.213
-ExclusiveArch: %{ix86} %{x8664} hppa ia64
+ExclusiveArch: %{ix86} %{x8664} arm hppa ia64 mips ppc ppc64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# some setjmp tricks expect non-redirected functions
+%define filterout_cpp -D_FORTIFY_SOURCE=[0-9]+
+
# x86/x86_64/hppa/ia64
%ifarch %{ix86}
%define asuf x86
%{__autoconf}
%{__autoheader}
%{__automake}
+# what needs additional -fPIC? libtool already uses it for shared objects
%configure \
- CPPFLAGS="%{rpmcppflags} -fPIC"
+ CFLAGS="%{rpmcflags} -fPIC"
%{__make}
%{?with_tests:%{__make} check}
%doc AUTHORS COPYING ChangeLog NEWS README TODO
%attr(755,root,root) %{_libdir}/libunwind.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libunwind.so.7
+%attr(755,root,root) %{_libdir}/libunwind-setjmp.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libunwind-setjmp.so.0
%attr(755,root,root) %{_libdir}/libunwind-%{asuf}.so.*.*.*
%attr(755,root,root) %ghost %{_libdir}/libunwind-%{asuf}.so.7
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libunwind.so
%attr(755,root,root) %{_libdir}/libunwind-generic.so
+%attr(755,root,root) %{_libdir}/libunwind-setjmp.so
%attr(755,root,root) %{_libdir}/libunwind-%{asuf}.so
%{_libdir}/libunwind.la
+%{_libdir}/libunwind-setjmp.la
%{_libdir}/libunwind-%{asuf}.la
# static-only
%{_libdir}/libunwind-ptrace.a
%defattr(644,root,root,755)
%{_libdir}/libunwind.a
%{_libdir}/libunwind-generic.a
+%{_libdir}/libunwind-setjmp.a
%{_libdir}/libunwind-%{asuf}.a