diff options
author | Anthony G. Basile <blueness@gentoo.org> | 2012-02-17 02:19:37 +0000 |
---|---|---|
committer | Anthony G. Basile <blueness@gentoo.org> | 2012-02-17 02:19:37 +0000 |
commit | 90cdb5a4540fe40d51e9f92693e4a68d6e0cc212 (patch) | |
tree | 775dd34e9f43690616fc0abb06d84bb51a088935 /dev-util/valgrind | |
parent | Version bump. (diff) | |
download | historical-90cdb5a4540fe40d51e9f92693e4a68d6e0cc212.tar.gz historical-90cdb5a4540fe40d51e9f92693e4a68d6e0cc212.tar.bz2 historical-90cdb5a4540fe40d51e9f92693e4a68d6e0cc212.zip |
Backport upstream commits r11856 and r11904 to address bug #403179
Package-Manager: portage-2.1.10.44/cvs/Linux x86_64
Diffstat (limited to 'dev-util/valgrind')
-rw-r--r-- | dev-util/valgrind/ChangeLog | 8 | ||||
-rw-r--r-- | dev-util/valgrind/Manifest | 10 | ||||
-rw-r--r-- | dev-util/valgrind/files/valgrind-3.6.1-fix-unhandled-opcode.patch | 82 | ||||
-rw-r--r-- | dev-util/valgrind/valgrind-3.6.1-r3.ebuild | 108 |
4 files changed, 203 insertions, 5 deletions
diff --git a/dev-util/valgrind/ChangeLog b/dev-util/valgrind/ChangeLog index c1587520534e..5a15f8b52fa3 100644 --- a/dev-util/valgrind/ChangeLog +++ b/dev-util/valgrind/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-util/valgrind # Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.137 2012/02/17 01:46:44 blueness Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.138 2012/02/17 02:19:37 blueness Exp $ + +*valgrind-3.6.1-r3 (17 Feb 2012) + + 17 Feb 2012; Anthony G. Basile <blueness@gentoo.org> + +valgrind-3.6.1-r3.ebuild, +files/valgrind-3.6.1-fix-unhandled-opcode.patch: + Backport upstream commits r11856 and r11904 to address bug #403179 17 Feb 2012; Anthony G. Basile <blueness@gentoo.org> valgrind-3.7.0-r3.ebuild: diff --git a/dev-util/valgrind/Manifest b/dev-util/valgrind/Manifest index 901d01a617db..ac84a4ba4d06 100644 --- a/dev-util/valgrind/Manifest +++ b/dev-util/valgrind/Manifest @@ -20,6 +20,7 @@ AUX valgrind-3.6.0-local-labels.patch 1388 RMD160 e9c0064d1e857f1e616c5d9ca7a03e AUX valgrind-3.6.0-non-exec-stack.patch 5613 RMD160 641cd94fd5254ea902bd66eb0437e9af0e21fdb4 SHA1 eeb788f208303ef8768d4713c2c01bfd3f2edec4 SHA256 9a5a92506a10af32eba7a28401f061d4a84eac26a4dbb94fc6a19471c4bdb257 AUX valgrind-3.6.0-strcasecmp.patch 3786 RMD160 7887dd9e2dc9e5934a25106c6413458bbe5203e3 SHA1 4eec14e0c7beb671050d4c91986cc878cdb5494f SHA256 e281b93d1f2e0166fbba6ebd061a8fd7a01edd31b56cf23f1f84617385add0f6 AUX valgrind-3.6.1-automake-1.11.3.patch 957 RMD160 2cc22c5bdba5bbc8e02759a759c884412ad3c051 SHA1 cea0842b11b8b656e225e9af532411fad4aa4e87 SHA256 73eb19684637b53efdf01e02304e02a7a38ef7aa8d92acd02b7df5aa581d77d1 +AUX valgrind-3.6.1-fix-unhandled-opcode.patch 3539 RMD160 7edd0a8b082d82632e25ebf7839873ca6af0fe20 SHA1 09d5eefc704030e08bd5abe5866e2dd6b262d33c SHA256 9ecd3672272a7f7fc15e4eb4e74ea362ca929ccbb52a4f9ac57b944a71af9125 AUX valgrind-3.6.1-glibc-2.14.patch 1078 RMD160 d0a853f9d65e821e3586fd3058db37bb2139e251 SHA1 98b0ea183b90ddf5aee4f68f31f6bf5e818ba4ac SHA256 c76f3f965ebd98d469e6431780267dfb7ad1a58da0ab397ebfc21a08e98828a5 AUX valgrind-3.6.1-linux-3.patch 392 RMD160 1b654f96b339c15e1e89d41d8dfa01fc5be3cd60 SHA1 c191a54cf24952e103ee1a882fce4c50c119c81d SHA256 056b6fc872ed0be91a2000e599a9431e1bc78efa7ee2ac986f74f2e450f28582 AUX valgrind-3.6.1-user-enable-qt4.patch 3100 RMD160 d5130569c986714dbd39af5354a1f5c9a039d019 SHA1 6252b9220f8ec6b3e336802101eb296b53209c97 SHA256 ffe139eabb1340a6f004e4a9858d36cf19616bb1c4156395ea2b3b6600a23217 @@ -46,16 +47,17 @@ EBUILD valgrind-3.5.0.ebuild 3648 RMD160 d3569e0802939fd698787e234db83f17847e2b0 EBUILD valgrind-3.6.0.ebuild 3040 RMD160 ed2e6ba1c77077c4c171c5b0fb651779c97ca8b2 SHA1 8a8560a12cd63456a2070d86a5375612b19a2ab7 SHA256 bf92aa0977ea7d3978dae720e85fa7643b89d4ebd7c39ade3a36c4d20ba47fea EBUILD valgrind-3.6.1-r1.ebuild 3176 RMD160 f415387b3262de66da0a856f3ae941c7549429dd SHA1 42a8edd2c6d02c67ebb810f627ad452857655704 SHA256 84425249bcbe89d2df2b5ee1d43556a74441bb3e5b1d9bdc5ed9a529cee846a1 EBUILD valgrind-3.6.1-r2.ebuild 3394 RMD160 ca9e32ef8ac68551265bb392d42345050fbaa185 SHA1 3d9d8e20b69809690260d843e7577a36fc0c362a SHA256 1e58ec3f03d19661036307d2e4404380bf0e96baa5c3bd2dbd99ab743d958a82 +EBUILD valgrind-3.6.1-r3.ebuild 3537 RMD160 f61cd4fd14e3ec0397b1e0d75a1e7d5014f93e9f SHA1 6aa98eec35440d4c5395d8cac854fc1a44af142e SHA256 84643a3901e4dd59213f5e775a48f20fc5bf52204e5e3e1e04b2fa371df0678a EBUILD valgrind-3.6.1.ebuild 3068 RMD160 5ae01b6484705ad9c7e7bf7e888a355054e6e4c2 SHA1 bcf3c5107a61fbfabbee441d3a304a9ffad8f672 SHA256 93eea5c2c81b7b92ba250706bec21d21575a88c5d426b37096409772119f4e0f EBUILD valgrind-3.7.0-r1.ebuild 2720 RMD160 4d4a707fac4c62a68d3de02ac44e23b8f641a4e1 SHA1 6283fed760b8fcd3391639e0cc8d92d398b110f6 SHA256 93b9f2dc0f5b24f17b4ae070740641b03de1d02b38f9a1bc808e660d31deea94 EBUILD valgrind-3.7.0-r2.ebuild 2914 RMD160 2fa503bf96bde0acb40127f7e2dba33a8def975c SHA1 7ce04c6b5eb8005a0f07ec5724b38cbfb0796a9c SHA256 a5b9a5af3dabe5c16f63a29861a518a1d76bea403072ec5dae3d539f2ecd338d EBUILD valgrind-3.7.0-r3.ebuild 2989 RMD160 5f1bc5de2e8a4dbae9e72b1dc20dd6f8fb940c17 SHA1 2d381a44a90928f76b13bd205dcaae239fb099a2 SHA256 4c2182e3be2ed51c459c657489eb2c7d7ca55c1ab514b6b183b2d66e67de18e7 -MISC ChangeLog 22958 RMD160 a25b03eae28f9cd4c04f5eceb17f7f2a2507557c SHA1 b0ab9f780d69490665dfed97383e4188ef32ae30 SHA256 d42f0eddb29133da27eefe600ec7d31f558b85e0b6aa6cc8fe83d8b837b9ce05 +MISC ChangeLog 23196 RMD160 ae5fb7a8dea9d37b1b7621e891fcc83918ef38c8 SHA1 736b7ecd2692d2658962a729e77d1417d4fb2ebf SHA256 c8bf800f36d10d6f7f0c1da5e69e9f6bcea313217032940d3b0d94d4f91f5ff5 MISC metadata.xml 980 RMD160 7441340fd2659400fb15d857446dac8f7b3f1176 SHA1 07af40cb309fcd80ca639dea5110b1109ce72427 SHA256 513a0d653dfae858a7f426745bd0abe5dcbc8748d468310fdce156e0e21e2cd0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (GNU/Linux) -iEYEAREIAAYFAk89sY0ACgkQl5yvQNBFVTUx3QCeO67xsZLfN4CTc4LvdL0bjp42 -9B8AnjaYAwu9Besw11QcMwgxpkIIFE96 -=PFhD +iEYEAREIAAYFAk89uUcACgkQl5yvQNBFVTVz5wCfe5s+uOQ7idzSrQ3Y20JcsJ+b +RdQAoI4KuVbCT76kBiyPhSLBydsi49Cp +=XTV/ -----END PGP SIGNATURE----- diff --git a/dev-util/valgrind/files/valgrind-3.6.1-fix-unhandled-opcode.patch b/dev-util/valgrind/files/valgrind-3.6.1-fix-unhandled-opcode.patch new file mode 100644 index 000000000000..bb8ef9467d63 --- /dev/null +++ b/dev-util/valgrind/files/valgrind-3.6.1-fix-unhandled-opcode.patch @@ -0,0 +1,82 @@ +diff -Naur valgrind-3.6.1.orig/coregrind/m_debuginfo/debuginfo.c valgrind-3.6.1/coregrind/m_debuginfo/debuginfo.c +--- valgrind-3.6.1.orig/coregrind/m_debuginfo/debuginfo.c 2010-10-20 16:19:43.000000000 -0400 ++++ valgrind-3.6.1/coregrind/m_debuginfo/debuginfo.c 2012-02-16 21:10:53.000000000 -0500 +@@ -1958,6 +1958,14 @@ + case Cop_Sub: return wL - wR; + case Cop_And: return wL & wR; + case Cop_Mul: return wL * wR; ++ case Cop_Shl: return wL << wR; ++ case Cop_Shr: return wL >> wR; ++ case Cop_Eq: return wL == wR ? 1 : 0; ++ case Cop_Ge: return (Word) wL >= (Word) wR ? 1 : 0; ++ case Cop_Gt: return (Word) wL > (Word) wR ? 1 : 0; ++ case Cop_Le: return (Word) wL <= (Word) wR ? 1 : 0; ++ case Cop_Lt: return (Word) wL < (Word) wR ? 1 : 0; ++ case Cop_Ne: return wL != wR ? 1 : 0; + default: goto unhandled; + } + /*NOTREACHED*/ +diff -Naur valgrind-3.6.1.orig/coregrind/m_debuginfo/priv_storage.h valgrind-3.6.1/coregrind/m_debuginfo/priv_storage.h +--- valgrind-3.6.1.orig/coregrind/m_debuginfo/priv_storage.h 2010-10-20 16:19:43.000000000 -0400 ++++ valgrind-3.6.1/coregrind/m_debuginfo/priv_storage.h 2012-02-16 21:10:49.000000000 -0500 +@@ -218,7 +218,15 @@ + Cop_Add=0x321, + Cop_Sub, + Cop_And, +- Cop_Mul ++ Cop_Mul, ++ Cop_Shl, ++ Cop_Shr, ++ Cop_Eq, ++ Cop_Ge, ++ Cop_Gt, ++ Cop_Le, ++ Cop_Lt, ++ Cop_Ne + } + CfiOp; + +diff -Naur valgrind-3.6.1.orig/coregrind/m_debuginfo/readdwarf.c valgrind-3.6.1/coregrind/m_debuginfo/readdwarf.c +--- valgrind-3.6.1.orig/coregrind/m_debuginfo/readdwarf.c 2010-10-20 16:19:43.000000000 -0400 ++++ valgrind-3.6.1/coregrind/m_debuginfo/readdwarf.c 2012-02-16 21:10:49.000000000 -0500 +@@ -2831,6 +2831,22 @@ + op = Cop_And; opname = "and"; goto binop; + case DW_OP_mul: + op = Cop_Mul; opname = "mul"; goto binop; ++ case DW_OP_shl: ++ op = Cop_Shl; opname = "shl"; goto binop; ++ case DW_OP_shr: ++ op = Cop_Shr; opname = "shr"; goto binop; ++ case DW_OP_eq: ++ op = Cop_Eq; opname = "eq"; goto binop; ++ case DW_OP_ge: ++ op = Cop_Ge; opname = "ge"; goto binop; ++ case DW_OP_gt: ++ op = Cop_Gt; opname = "gt"; goto binop; ++ case DW_OP_le: ++ op = Cop_Le; opname = "le"; goto binop; ++ case DW_OP_lt: ++ op = Cop_Lt; opname = "lt"; goto binop; ++ case DW_OP_ne: ++ op = Cop_Ne; opname = "ne"; goto binop; + binop: + POP( ix ); + POP( ix2 ); +diff -Naur valgrind-3.6.1.orig/coregrind/m_debuginfo/storage.c valgrind-3.6.1/coregrind/m_debuginfo/storage.c +--- valgrind-3.6.1.orig/coregrind/m_debuginfo/storage.c 2010-10-20 16:19:43.000000000 -0400 ++++ valgrind-3.6.1/coregrind/m_debuginfo/storage.c 2012-02-16 21:10:49.000000000 -0500 +@@ -595,6 +595,14 @@ + case Cop_Sub: VG_(printf)("-"); break; + case Cop_And: VG_(printf)("&"); break; + case Cop_Mul: VG_(printf)("*"); break; ++ case Cop_Shl: VG_(printf)("<<"); break; ++ case Cop_Shr: VG_(printf)(">>"); break; ++ case Cop_Eq: VG_(printf)("=="); break; ++ case Cop_Ge: VG_(printf)(">="); break; ++ case Cop_Gt: VG_(printf)(">"); break; ++ case Cop_Le: VG_(printf)("<="); break; ++ case Cop_Lt: VG_(printf)("<"); break; ++ case Cop_Ne: VG_(printf)("!="); break; + default: vg_assert(0); + } + } diff --git a/dev-util/valgrind/valgrind-3.6.1-r3.ebuild b/dev-util/valgrind/valgrind-3.6.1-r3.ebuild new file mode 100644 index 000000000000..2e4b6e1b6fd0 --- /dev/null +++ b/dev-util/valgrind/valgrind-3.6.1-r3.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.6.1-r3.ebuild,v 1.1 2012/02/17 02:19:37 blueness Exp $ + +EAPI=2 +inherit autotools eutils flag-o-matic toolchain-funcs multilib pax-utils + +DESCRIPTION="An open-source memory debugger for GNU/Linux" +HOMEPAGE="http://www.valgrind.org" +SRC_URI="http://www.valgrind.org/downloads/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="-* ~amd64 ~arm ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" +IUSE="mpi qt4" + +DEPEND="mpi? ( virtual/mpi )" +RDEPEND="${DEPEND}" + +src_prepare() { + # Respect CFLAGS, LDFLAGS + sed -i -e '/^CPPFLAGS =/d' -e '/^CFLAGS =/d' -e '/^LDFLAGS =/d' \ + mpi/Makefile.am || die + + # Changing Makefile.all.am to disable SSP + sed -i -e 's:^AM_CFLAGS_BASE = :AM_CFLAGS_BASE = -fno-stack-protector :' \ + Makefile.all.am || die + + # Correct hard coded doc location + sed -i -e "s:doc/valgrind:doc/${PF}:" \ + docs/Makefile.am || die + + # Yet more local labels, this time for ppc32 & ppc64 + epatch "${FILESDIR}"/${PN}-3.6.0-local-labels.patch + + # Don't build in empty assembly files for other platforms or we'll get a QA + # warning about executable stacks. + epatch "${FILESDIR}"/${PN}-3.6.0-non-exec-stack.patch + + # Fix up some suppressions that were not general enough for glibc versions + # with more than just a major and minor number. + epatch "${FILESDIR}"/${PN}-3.4.1-glibc-2.10.1.patch + + # Remove automagic dependency on qt4 + epatch "${FILESDIR}"/${PN}-3.6.1-user-enable-qt4.patch + + # Allow valgrind to build against linux-3, bug #370857 + epatch "${FILESDIR}"/${PN}-3.6.1-linux-3.patch + + # Allow valgrind to build against glibc-2.14, bug #378157 + epatch "${FILESDIR}"/${PN}-3.6.1-glibc-2.14.patch + + # Back port of fix for bug #403179, https://bugs.kde.org/show_bug.cgi?id=277045 + epatch "${FILESDIR}"/${PN}-3.6.1-fix-unhandled-opcode.patch + + # Fix stricter use of dir variables, bugs #397429 and #403779 + epatch "${FILESDIR}"/${PN}-3.6.1-automake-1.11.3.patch + + # Regenerate autotools files + eautoreconf +} + +src_configure() { + local myconf + + # -fomit-frame-pointer "Assembler messages: Error: junk `8' after expression" + # while compiling insn_sse.c in none/tests/x86 + # -fpie valgrind seemingly hangs when built with pie on + # amd64 (bug #102157) + # -fstack-protector more undefined references to __guard and __stack_smash_handler + # because valgrind doesn't link to glibc (bug #114347) + # -ggdb3 segmentation fault on startup + filter-flags -fomit-frame-pointer + filter-flags -fpie + filter-flags -fstack-protector + replace-flags -ggdb3 -ggdb2 + + if use amd64 || use ppc64; then + ! has_multilib_profile && myconf="${myconf} --enable-only64bit" + fi + + # Don't use mpicc unless the user asked for it (bug #258832) + if ! use mpi; then + myconf="${myconf} --without-mpicc" + fi + + if ! use qt4; then + myconf="${myconf} --disable-qtcore" + fi + + econf ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install || die + dodoc AUTHORS FAQ.txt NEWS README* + + pax-mark m "${D}"/usr/$(get_libdir)/valgrind/*-*-linux +} + +pkg_postinst() { + ewarn "Valgrind will not work if glibc does not have debug symbols." + ewarn "To fix this you can add splitdebug to FEATURES in make.conf" + ewarn "and remerge glibc. See:" + ewarn "https://bugs.gentoo.org/show_bug.cgi?id=214065" + ewarn "https://bugs.gentoo.org/show_bug.cgi?id=274771" + ewarn "https://bugs.gentoo.org/show_bug.cgi?id=388703" +} |