diff options
author | Maurice van der Pot <griffon26@gentoo.org> | 2005-04-12 18:31:24 +0000 |
---|---|---|
committer | Maurice van der Pot <griffon26@gentoo.org> | 2005-04-12 18:31:24 +0000 |
commit | 9ae0d95f5dfabbd4a94dddf7d74379904c59edb7 (patch) | |
tree | 9ac1cb80fd5c4e78e8ef6a00d38fe2349394f0c2 /dev-util/valgrind | |
parent | oops, forgot to commit the patch (diff) | |
download | gentoo-2-9ae0d95f5dfabbd4a94dddf7d74379904c59edb7.tar.gz gentoo-2-9ae0d95f5dfabbd4a94dddf7d74379904c59edb7.tar.bz2 gentoo-2-9ae0d95f5dfabbd4a94dddf7d74379904c59edb7.zip |
Fixed valgrind 2.4.0 to build with PIE
(Portage version: 2.0.51.19)
Diffstat (limited to 'dev-util/valgrind')
-rw-r--r-- | dev-util/valgrind/ChangeLog | 9 | ||||
-rw-r--r-- | dev-util/valgrind/Manifest | 13 | ||||
-rw-r--r-- | dev-util/valgrind/files/digest-valgrind-2.4.0 | 1 | ||||
-rw-r--r-- | dev-util/valgrind/files/valgrind-2.4.0-pie-fix.patch | 54 | ||||
-rw-r--r-- | dev-util/valgrind/valgrind-2.4.0.ebuild | 18 |
5 files changed, 82 insertions, 13 deletions
diff --git a/dev-util/valgrind/ChangeLog b/dev-util/valgrind/ChangeLog index a008db19a728..afcb1b2da96a 100644 --- a/dev-util/valgrind/ChangeLog +++ b/dev-util/valgrind/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for dev-util/valgrind # Copyright 2000-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.46 2005/03/28 20:35:48 griffon26 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.47 2005/04/12 18:31:24 griffon26 Exp $ + + 12 Apr 2005; Maurice van der Pot <griffon26@gentoo.org> + +files/valgrind-2.4.0-pie-fix.patch, valgrind-2.4.0.ebuild: + Included some fixes that should enable building with PIE, + even with a hardened gcc profile; this fixes bug #87598 + reported by Olaf Freyer <aaron@cs.tu-berlin.de> + Also prepared the ebuild for ppc support. 28 Mar 2005; Maurice van der Pot <griffon26@gentoo.org> valgrind-2.4.0.ebuild: diff --git a/dev-util/valgrind/Manifest b/dev-util/valgrind/Manifest index 1ba085e75690..41eff50fc9d7 100644 --- a/dev-util/valgrind/Manifest +++ b/dev-util/valgrind/Manifest @@ -3,7 +3,7 @@ Hash: SHA1 MD5 799f0b61a3a686b4074bd61acc572c5c metadata.xml 1003 MD5 4871b943d694b8d009f993c244356257 valgrind-2.2.0-r1.ebuild 1428 -MD5 c2926988d7ba99963e8bc2e37dbb97ce valgrind-2.4.0.ebuild 1299 +MD5 4757cae2280675a2396abf3fb97427a9 ChangeLog 3931 MD5 be4e2e968179239e51aafd78be4d95af valgrind-2.0.0.ebuild 1172 MD5 e6dc16df8e136f735bc577092f7b6383 valgrind-2.1.0.ebuild 1017 MD5 7e4a680daca3ed212226f6364c958420 valgrind-2.1.1-r1.ebuild 1143 @@ -11,7 +11,7 @@ MD5 07f48be25380e77aa5a44fec2b408998 valgrind-2.1.1.ebuild 925 MD5 b99a507d5351da63d87c61f3fe0072ad valgrind-2.1.2.ebuild 1101 MD5 2371f70b5ed5e88767cade219fd7cc65 valgrind-2.2.0.ebuild 1388 MD5 9c6171e63f2c500b26cd6c2dd98d42e8 valgrind-2.2.0-r2.ebuild 1716 -MD5 e579e33b2417be36980c695231f1e075 ChangeLog 3598 +MD5 c6e7bd2dae4c4c42debfbbd9e98ce62c valgrind-2.4.0.ebuild 1513 MD5 286d10f4514e8a85360ce6ba5654ae93 files/digest-valgrind-2.0.0 67 MD5 a69fe5652a8ca5fb1d04521fe0c56850 files/digest-valgrind-2.1.0 138 MD5 f50184c09d0376e66b1b79d0b45e94c2 files/digest-valgrind-2.1.1 67 @@ -25,11 +25,12 @@ MD5 26192577445b467e528408118f7ee6ec files/digest-valgrind-2.2.0-r1 139 MD5 fc1dda2b6f2603a4244ad25f555f2034 files/valgrind-2.2.0-no-exec-stack.patch 1711 MD5 26192577445b467e528408118f7ee6ec files/digest-valgrind-2.2.0-r2 139 MD5 d10a593e8cb1c5074c438adc226d1c81 files/valgrind-2.2.0-current-macro-clash.patch 1871 -MD5 e2dec812b00ae7d80e570dc0922ed676 files/digest-valgrind-2.4.0 68 +MD5 c793e6f64e0e0f7d088e0deae8cfdebd files/digest-valgrind-2.4.0 147 +MD5 e878f97b4c6308515baf5abaee045ce7 files/valgrind-2.4.0-pie-fix.patch 2335 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) -iD8DBQFCSGq+MGnpIbeahxwRAkMTAJ0d1QFP6SxL7lUUF3wBq+/syCS+GgCfTLHs -hFeJyyEiiCkSNkca+CwzO/8= -=2LgB +iD8DBQFCXBOyMGnpIbeahxwRArt0AKC4zIHKcEblpGS/9CsbWRhKt1Z8IwCfaFzZ +4cVDjMrb0KQ+KLQ22dZlVe8= +=AoqF -----END PGP SIGNATURE----- diff --git a/dev-util/valgrind/files/digest-valgrind-2.4.0 b/dev-util/valgrind/files/digest-valgrind-2.4.0 index 2e60363a442d..cff9e3e31e50 100644 --- a/dev-util/valgrind/files/digest-valgrind-2.4.0 +++ b/dev-util/valgrind/files/digest-valgrind-2.4.0 @@ -1 +1,2 @@ MD5 1d0bd81d368789946d32d18a468ea0cf valgrind-2.4.0.tar.bz2 1072044 +MD5 bbdd3f02fb930c333413b6a3d155d73b valgrind-2.4.0-ppc-050407.tar.bz2 1113464 diff --git a/dev-util/valgrind/files/valgrind-2.4.0-pie-fix.patch b/dev-util/valgrind/files/valgrind-2.4.0-pie-fix.patch new file mode 100644 index 000000000000..7c674a27f5ee --- /dev/null +++ b/dev-util/valgrind/files/valgrind-2.4.0-pie-fix.patch @@ -0,0 +1,54 @@ +diff -ruN valgrind-2.4.0/corecheck/tests/Makefile.in valgrind-2.4.0-fixed/corecheck/tests/Makefile.in +--- valgrind-2.4.0/corecheck/tests/Makefile.in 2005-03-24 03:30:27.000000000 +0100 ++++ valgrind-2.4.0-fixed/corecheck/tests/Makefile.in 2005-04-12 18:53:56.686049352 +0200 +@@ -202,7 +202,7 @@ + CCAS = @CCAS@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fno-pie + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ + CXX = @CXX@ +diff -ruN valgrind-2.4.0/coregrind/x86-linux/syscalls.c valgrind-2.4.0-fixed/coregrind/x86-linux/syscalls.c +--- valgrind-2.4.0/coregrind/x86-linux/syscalls.c 2005-03-23 11:22:03.000000000 +0100 ++++ valgrind-2.4.0-fixed/coregrind/x86-linux/syscalls.c 2005-04-12 18:50:01.373822248 +0200 +@@ -259,10 +259,13 @@ + We need to make sure we don't touch the stack between marking it + Empty and exiting. Hence the assembler. */ + asm volatile ( ++ "pushl %%ebx\n" /* save original ebx value */ + "movl %1, %0\n" /* set tst->status = VgTs_Empty */ ++ "movl %2, %%ebx\n" /* set ebx = tst->os_state.exitcode */ + "int $0x80\n" /* exit(tst->os_state.exitcode) */ ++ "popl %%ebx\n" /* restore original ebx value */ + : "=m" (tst->status) +- : "n" (VgTs_Empty), "a" (__NR_exit), "b" (tst->os_state.exitcode)); ++ : "n" (VgTs_Empty), "a" (__NR_exit), "m" (tst->os_state.exitcode)); + + VG_(core_panic)("Thread exit failed?\n"); + } +diff -ruN valgrind-2.4.0/none/tests/Makefile.in valgrind-2.4.0-fixed/none/tests/Makefile.in +--- valgrind-2.4.0/none/tests/Makefile.in 2005-03-24 03:30:45.000000000 +0100 ++++ valgrind-2.4.0-fixed/none/tests/Makefile.in 2005-04-12 18:54:42.311113288 +0200 +@@ -322,7 +322,7 @@ + CCAS = @CCAS@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fno-pie + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ + CXX = @CXX@ +diff -ruN valgrind-2.4.0/none/tests/x86/Makefile.in valgrind-2.4.0-fixed/none/tests/x86/Makefile.in +--- valgrind-2.4.0/none/tests/x86/Makefile.in 2005-03-24 03:30:45.000000000 +0100 ++++ valgrind-2.4.0-fixed/none/tests/x86/Makefile.in 2005-04-12 18:55:25.859492928 +0200 +@@ -156,7 +156,7 @@ + CCAS = @CCAS@ + CCASFLAGS = @CCASFLAGS@ + CCDEPMODE = @CCDEPMODE@ +-CFLAGS = @CFLAGS@ ++CFLAGS = @CFLAGS@ -fno-pie + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ + CXX = @CXX@ diff --git a/dev-util/valgrind/valgrind-2.4.0.ebuild b/dev-util/valgrind/valgrind-2.4.0.ebuild index 8f4607f0a39b..e38b59248c78 100644 --- a/dev-util/valgrind/valgrind-2.4.0.ebuild +++ b/dev-util/valgrind/valgrind-2.4.0.ebuild @@ -1,12 +1,13 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-2.4.0.ebuild,v 1.3 2005/03/28 20:35:48 griffon26 Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-2.4.0.ebuild,v 1.4 2005/04/12 18:31:24 griffon26 Exp $ inherit flag-o-matic eutils DESCRIPTION="An open-source memory debugger for x86-GNU/Linux and ppc-GNU/Linux" HOMEPAGE="http://valgrind.kde.org" -SRC_URI="x86? ( http://www.valgrind.org/downloads/${P}.tar.bz2 )" +SRC_URI="x86? ( http://www.valgrind.org/downloads/${P}.tar.bz2 ) + ppc? ( http://ozlabs.org/~paulus/${P}-ppc-050407.tar.bz2 )" LICENSE="GPL-2" SLOT="0" @@ -21,28 +22,33 @@ DEPEND="${RDEPEND} src_unpack() { unpack ${A} - use ppc && cd "${WORKDIR}/${P}-ppc" || cd ${S} + use ppc && cd "${WORKDIR}/${P}-ppc-050407" || cd ${S} # make sure our CFLAGS are respected einfo "Changing configure to respect CFLAGS" sed -i -e 's:CFLAGS="-Wno-long-long":CFLAGS="$CFLAGS -Wno-long-long":' configure + + # Enables valgrind to build with PIE and disables PIE for + # tests that fail to build with it + epatch ${FILESDIR}/${P}-pie-fix.patch } src_compile() { - use ppc && cd "${WORKDIR}/${P}-ppc" + use ppc && cd "${WORKDIR}/${P}-ppc-050407" local myconf - filter-flags -fPIC -fstack-protector -fomit-frame-pointer + filter-flags -fstack-protector -fomit-frame-pointer use X && myconf="--with-x" || myconf="--with-x=no" + # note: it does not appear safe to play with CFLAGS econf ${myconf} || die emake || die "emake failed" } src_install() { - use ppc && cd "${WORKDIR}/${P}-ppc" + use ppc && cd "${WORKDIR}/${P}-ppc-050407" einstall docdir="${D}/usr/share/doc/${PF}/html" || die dodoc ACKNOWLEDGEMENTS AUTHORS FAQ.txt NEWS README* TODO } |