diff options
author | Kacper Kowalik <xarthisius@gentoo.org> | 2012-08-27 08:15:35 +0000 |
---|---|---|
committer | Kacper Kowalik <xarthisius@gentoo.org> | 2012-08-27 08:15:35 +0000 |
commit | 7407ccb61c4dcef51e3fdf6a97614148ed42fdf3 (patch) | |
tree | 05dcf6aa38b497a67e5395591ba20a278b6ff014 /dev-scheme/guile | |
parent | Remove symlinks in platform-specific libdirs and not only lib64 (thanks to Fr... (diff) | |
download | gentoo-2-7407ccb61c4dcef51e3fdf6a97614148ed42fdf3.tar.gz gentoo-2-7407ccb61c4dcef51e3fdf6a97614148ed42fdf3.tar.bz2 gentoo-2-7407ccb61c4dcef51e3fdf6a97614148ed42fdf3.zip |
Backport upstream patch to fix SIGSEGV with gcc-4.6 wrt #424475 by Ivan Bagaev <gmiramir@gmail.com> Thanks to Cyprien Nicolas (fulax) <c.nicolas+bugs@gmail.com> for detailed analysis and finding patch. Acked by hkBst
(Portage version: 2.2.0_alpha123/cvs/Linux x86_64)
Diffstat (limited to 'dev-scheme/guile')
-rw-r--r-- | dev-scheme/guile/ChangeLog | 9 | ||||
-rw-r--r-- | dev-scheme/guile/files/guile-1.8.8-gcc46.patch | 39 | ||||
-rw-r--r-- | dev-scheme/guile/guile-1.8.8-r1.ebuild | 5 |
3 files changed, 50 insertions, 3 deletions
diff --git a/dev-scheme/guile/ChangeLog b/dev-scheme/guile/ChangeLog index 066af4b826a7..2922e8f14961 100644 --- a/dev-scheme/guile/ChangeLog +++ b/dev-scheme/guile/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-scheme/guile # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/ChangeLog,v 1.96 2012/05/02 21:59:03 jdhore Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/ChangeLog,v 1.97 2012/08/27 08:15:35 xarthisius Exp $ + + 27 Aug 2012; Kacper Kowalik <xarthisius@gentoo.org> + +files/guile-1.8.8-gcc46.patch, guile-1.8.8-r1.ebuild: + Backport upstream patch to fix SIGSEGV with gcc-4.6 wrt #424475 by Ivan Bagaev + <gmiramir@gmail.com> Thanks to Cyprien Nicolas (fulax) + <c.nicolas+bugs@gmail.com> for detailed analysis and finding patch. Acked by + hkBst 02 May 2012; Jeff Horelick <jdhore@gentoo.org> guile-2.0.0.ebuild: dev-util/pkgconfig -> virtual/pkgconfig diff --git a/dev-scheme/guile/files/guile-1.8.8-gcc46.patch b/dev-scheme/guile/files/guile-1.8.8-gcc46.patch new file mode 100644 index 000000000000..b06a0e59eb14 --- /dev/null +++ b/dev-scheme/guile/files/guile-1.8.8-gcc46.patch @@ -0,0 +1,39 @@ +Backported upstream patch to fix SIGSEGV with gcc-4.6 + +http://git.savannah.gnu.org/cgit/guile.git/commit/?h=branch_release-1-8&id=62bc1072c19e81bb0f9e42a5034e7ab8c27d3b94 +https://bugs.gentoo.org/show_bug.cgi?id=424475 +--- a/configure.in ++++ b/configure.in +@@ -1199,23 +1199,20 @@ + AC_RUN_IFELSE([AC_LANG_SOURCE( + [AC_INCLUDES_DEFAULT + int +-find_stack_direction () ++find_stack_direction (int *addr, int depth) + { +- static char *addr = 0; +- auto char dummy; +- if (addr == 0) +- { +- addr = &dummy; +- return find_stack_direction (); +- } +- else +- return (&dummy > addr) ? 1 : -1; ++ int dir, dummy = 0; ++ if (! addr) ++ addr = &dummy; ++ *addr = addr < &dummy ? 1 : addr == &dummy ? 0 : -1; ++ dir = depth ? find_stack_direction (addr, depth - 1) : 0; ++ return dir + dummy; + } + + int +-main () ++main (int argc, char **argv) + { +- return find_stack_direction () < 0; ++ return find_stack_direction (0, argc + !argv + 20) < 0; + }])], + [SCM_I_GSC_STACK_GROWS_UP=1], + [], diff --git a/dev-scheme/guile/guile-1.8.8-r1.ebuild b/dev-scheme/guile/guile-1.8.8-r1.ebuild index 209cd468df75..6b8f5d6cc51a 100644 --- a/dev-scheme/guile/guile-1.8.8-r1.ebuild +++ b/dev-scheme/guile/guile-1.8.8-r1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.8-r1.ebuild,v 1.11 2012/04/26 16:37:12 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-scheme/guile/guile-1.8.8-r1.ebuild,v 1.12 2012/08/27 08:15:35 xarthisius Exp $ EAPI=3 inherit eutils autotools flag-o-matic elisp-common @@ -29,7 +29,8 @@ MAJOR="1.8" src_prepare() { # - epatch "${FILESDIR}/${P}-fix_guile-config.patch" + epatch "${FILESDIR}/${P}-fix_guile-config.patch" \ + "${FILESDIR}"/${P}-gcc46.patch eautoreconf } |