summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaurice van der Pot <griffon26@gentoo.org>2005-04-12 18:31:24 +0000
committerMaurice van der Pot <griffon26@gentoo.org>2005-04-12 18:31:24 +0000
commit9ae0d95f5dfabbd4a94dddf7d74379904c59edb7 (patch)
tree9ac1cb80fd5c4e78e8ef6a00d38fe2349394f0c2 /dev-util/valgrind
parentoops, forgot to commit the patch (diff)
downloadgentoo-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/ChangeLog9
-rw-r--r--dev-util/valgrind/Manifest13
-rw-r--r--dev-util/valgrind/files/digest-valgrind-2.4.01
-rw-r--r--dev-util/valgrind/files/valgrind-2.4.0-pie-fix.patch54
-rw-r--r--dev-util/valgrind/valgrind-2.4.0.ebuild18
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
}