summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-util')
-rw-r--r--dev-util/valgrind/ChangeLog8
-rw-r--r--dev-util/valgrind/files/valgrind-3.3.1-local-labels.patch37
-rw-r--r--dev-util/valgrind/valgrind-3.3.1.ebuild6
3 files changed, 49 insertions, 2 deletions
diff --git a/dev-util/valgrind/ChangeLog b/dev-util/valgrind/ChangeLog
index 18f30383b3a5..eaa1c9ae0fd8 100644
--- a/dev-util/valgrind/ChangeLog
+++ b/dev-util/valgrind/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-util/valgrind
# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.89 2008/07/27 17:55:23 tester Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/ChangeLog,v 1.90 2008/08/13 20:29:40 griffon26 Exp $
+
+ 13 Aug 2008; Maurice van der Pot <griffon26@gentoo.org>
+ +files/valgrind-3.3.1-local-labels.patch, valgrind-3.3.1.ebuild:
+ Use local labels in inline asm to prevent duplicate definition of symbols
+ when optimisation is turned on (bug #234644 reported by Olivier Huber
+ <oli.huber@gmail.com>).
27 Jul 2008; Olivier Crête <tester@gentoo.org> valgrind-3.3.0.ebuild,
valgrind-3.3.0-r1.ebuild, valgrind-3.3.1.ebuild:
diff --git a/dev-util/valgrind/files/valgrind-3.3.1-local-labels.patch b/dev-util/valgrind/files/valgrind-3.3.1-local-labels.patch
new file mode 100644
index 000000000000..82b86b731b38
--- /dev/null
+++ b/dev-util/valgrind/files/valgrind-3.3.1-local-labels.patch
@@ -0,0 +1,37 @@
+diff -ruN valgrind-3.3.1/none/tests/x86/jcxz.c valgrind-3.3.1-fixed/none/tests/x86/jcxz.c
+--- valgrind-3.3.1/none/tests/x86/jcxz.c 2008-06-01 03:38:58.000000000 +0200
++++ valgrind-3.3.1-fixed/none/tests/x86/jcxz.c 2008-08-13 22:18:42.000000000 +0200
+@@ -11,12 +11,12 @@
+ __asm__ __volatile__(
+ "movl %0,%%ecx\n\t"
+ "movl $0,%%eax\n"
+- ".Lxyzzy1:\n\t"
+- "jcxz .Lfoobar1\n\t"
++ "0:\n\t"
++ "jcxz 1f\n\t"
+ "addl $1, %%eax\n\t"
+ "subl $1, %%ecx\n\t"
+- "jmp .Lxyzzy1\n"
+- ".Lfoobar1:\n\t"
++ "jmp 0b\n"
++ "1:\n\t"
+ "movl %%eax, %1"
+ : /*out*/ : /*in*/ "m"(block[0]),
+ "m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
+@@ -32,12 +32,12 @@
+ __asm__ __volatile__(
+ "movl %0,%%ecx\n\t"
+ "movl $0,%%eax\n"
+- ".Lxyzzy2:\n\t"
+- "jecxz .Lfoobar2\n\t"
++ "0:\n\t"
++ "jecxz 1f\n\t"
+ "addl $1, %%eax\n\t"
+ "subl $1, %%ecx\n\t"
+- "jmp .Lxyzzy2\n"
+- ".Lfoobar2:\n\t"
++ "jmp 0b\n"
++ "1:\n\t"
+ "movl %%eax, %1"
+ : /*out*/ : /*in*/ "m"(block[0]),
+ "m"(block[1]) : /*trash*/ "eax","ecx","cc","memory"
diff --git a/dev-util/valgrind/valgrind-3.3.1.ebuild b/dev-util/valgrind/valgrind-3.3.1.ebuild
index d93b4ecd1702..0534a8cb63fe 100644
--- a/dev-util/valgrind/valgrind-3.3.1.ebuild
+++ b/dev-util/valgrind/valgrind-3.3.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2008 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.3.1.ebuild,v 1.2 2008/07/27 17:55:23 tester Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-util/valgrind/valgrind-3.3.1.ebuild,v 1.3 2008/08/13 20:29:40 griffon26 Exp $
inherit autotools eutils flag-o-matic toolchain-funcs
@@ -40,6 +40,10 @@ src_unpack() {
epatch "${FILESDIR}/valgrind-3.3.0-only64bit.patch"
fi
+ # Use local labels in inline asm to prevent 'symbol already defined' errors
+ # when optimisation is on (bug #234644).
+ epatch "${FILESDIR}/valgrind-3.3.1-local-labels.patch"
+
# Regenerate autotools files
eautoreconf
}