diff options
author | Samuli Suominen <ssuominen@gentoo.org> | 2010-01-31 12:37:15 +0000 |
---|---|---|
committer | Samuli Suominen <ssuominen@gentoo.org> | 2010-01-31 12:37:15 +0000 |
commit | 26667bccb36b2b2d51c4735268d11c3d3b7ed443 (patch) | |
tree | eb80a85e784ab8898b5abb266d52784a76c81015 /sys-libs/libunwind | |
parent | Add prefix keywords, change EAPI to 3. (diff) | |
download | gentoo-2-26667bccb36b2b2d51c4735268d11c3d3b7ed443.tar.gz gentoo-2-26667bccb36b2b2d51c4735268d11c3d3b7ed443.tar.bz2 gentoo-2-26667bccb36b2b2d51c4735268d11c3d3b7ed443.zip |
Disable building of libunwind-setjmp library as imcompatible with GLIBC >= 2.11 wrt #299344 (from Fedora). Fix implicit declaration wrt #289445.
(Portage version: 2.2_rc61/cvs/Linux x86_64)
Diffstat (limited to 'sys-libs/libunwind')
-rw-r--r-- | sys-libs/libunwind/ChangeLog | 12 | ||||
-rw-r--r-- | sys-libs/libunwind/files/libunwind-0.99-disable-setjmp.patch | 213 | ||||
-rw-r--r-- | sys-libs/libunwind/files/libunwind-0.99-implicit-declaration.patch | 17 | ||||
-rw-r--r-- | sys-libs/libunwind/libunwind-0.99-r1.ebuild | 33 |
4 files changed, 273 insertions, 2 deletions
diff --git a/sys-libs/libunwind/ChangeLog b/sys-libs/libunwind/ChangeLog index 221fea5ce03c..086b9e0ec195 100644 --- a/sys-libs/libunwind/ChangeLog +++ b/sys-libs/libunwind/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for sys-libs/libunwind -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-libs/libunwind/ChangeLog,v 1.8 2009/11/24 19:10:14 armin76 Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libunwind/ChangeLog,v 1.9 2010/01/31 12:37:15 ssuominen Exp $ + +*libunwind-0.99-r1 (31 Jan 2010) + + 31 Jan 2010; Samuli Suominen <ssuominen@gentoo.org> + +libunwind-0.99-r1.ebuild, +files/libunwind-0.99-disable-setjmp.patch, + +files/libunwind-0.99-implicit-declaration.patch: + Disable building of libunwind-setjmp library as imcompatible with GLIBC >= + 2.11 wrt #299344 (from Fedora). Fix implicit declaration wrt #289445. 24 Nov 2009; Raúl Porcel <armin76@gentoo.org> libunwind-0.99.ebuild: ia64 stable wrt #289445 diff --git a/sys-libs/libunwind/files/libunwind-0.99-disable-setjmp.patch b/sys-libs/libunwind/files/libunwind-0.99-disable-setjmp.patch new file mode 100644 index 000000000000..698d2acff816 --- /dev/null +++ b/sys-libs/libunwind/files/libunwind-0.99-disable-setjmp.patch @@ -0,0 +1,213 @@ +http://cvs.fedoraproject.org/viewvc/rpms/libunwind/devel/libunwind-disable-setjmp.patch?revision=1.1&view=markup +http://bugs.gentoo.org/show_bug.cgi?id=299344 + +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 . + +--- 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 diff --git a/sys-libs/libunwind/files/libunwind-0.99-implicit-declaration.patch b/sys-libs/libunwind/files/libunwind-0.99-implicit-declaration.patch new file mode 100644 index 000000000000..6387f0a889c7 --- /dev/null +++ b/sys-libs/libunwind/files/libunwind-0.99-implicit-declaration.patch @@ -0,0 +1,17 @@ +http://bugs.gentoo.org/show_bug.cgi?id=289445#c2 + +--- src/x86_64/unwind_i.h ++++ src/x86_64/unwind_i.h +@@ -65,6 +65,12 @@ + extern void x86_64_local_addr_space_init (void); + extern int x86_64_local_resume (unw_addr_space_t as, unw_cursor_t *cursor, + void *arg); ++ ++/* implemented in setcontext.S */ ++#if defined(__linux) ++extern int _Ux86_64_setcontext (const ucontext_t *ucp); ++#endif ++ + #if 0 + extern dwarf_loc_t x86_64_scratch_loc (struct cursor *c, unw_regnum_t reg); + #endif diff --git a/sys-libs/libunwind/libunwind-0.99-r1.ebuild b/sys-libs/libunwind/libunwind-0.99-r1.ebuild new file mode 100644 index 000000000000..5975f23d024d --- /dev/null +++ b/sys-libs/libunwind/libunwind-0.99-r1.ebuild @@ -0,0 +1,33 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-libs/libunwind/libunwind-0.99-r1.ebuild,v 1.1 2010/01/31 12:37:15 ssuominen Exp $ + +inherit autotools eutils + +DESCRIPTION="Portable and efficient API to determine the call-chain of a program" +HOMEPAGE="http://savannah.nongnu.org/projects/libunwind" +SRC_URI="http://download.savannah.nongnu.org/releases/libunwind/${P}.tar.gz" + +LICENSE="MIT" +SLOT="7" +KEYWORDS="~amd64 ~ia64 ~x86" +IUSE="" + +DEPEND="" +RDEPEND="" + +RESTRICT="test" # https://savannah.nongnu.org/bugs/?22368 + # https://bugs.gentoo.org/273372 + +src_unpack() { + unpack ${A} + cd "${S}" + epatch "${FILESDIR}"/${P}-disable-setjmp.patch \ + "${FILESDIR}"/${P}-implicit-declaration.patch + eautoreconf +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc AUTHORS ChangeLog NEWS README TODO +} |