summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs')
-rw-r--r--dev-libs/gmp/ChangeLog7
-rw-r--r--dev-libs/gmp/files/amd64.patch30
-rw-r--r--dev-libs/gmp/gmp-4.1.4.ebuild4
3 files changed, 39 insertions, 2 deletions
diff --git a/dev-libs/gmp/ChangeLog b/dev-libs/gmp/ChangeLog
index 389de0085838..54d4eb3a4186 100644
--- a/dev-libs/gmp/ChangeLog
+++ b/dev-libs/gmp/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for dev-libs/gmp
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/ChangeLog,v 1.41 2004/11/07 09:47:34 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/ChangeLog,v 1.42 2004/11/28 11:13:49 blubb Exp $
+
+ 28 Nov 2004; Simon Stelling <blubb@gentoo.org> +files/amd64.patch,
+ gmp-4.1.4.ebuild:
+ added Patrick McLean's (chutzpah@videotron.ca) patch to fix -O3 and higher
+ issues; bug #66780
07 Nov 2004; Joshua Kinard <kumba@gentoo.org> gmp-4.1.4.ebuild:
Marked stable on mips.
diff --git a/dev-libs/gmp/files/amd64.patch b/dev-libs/gmp/files/amd64.patch
new file mode 100644
index 000000000000..a07d72c691bf
--- /dev/null
+++ b/dev-libs/gmp/files/amd64.patch
@@ -0,0 +1,30 @@
+--- gmp-impl.h 22 Apr 2004 23:59:53 -0000 1.281.2.12
++++ gmp-impl.h 29 Sep 2004 19:22:23 -0000
+@@ -2188,14 +2188,24 @@
+ there's an even number. */
+
+ #if defined (__GNUC__) && ! defined (NO_ASM) && HAVE_HOST_CPU_FAMILY_x86
++/* Some clever GCC maintainer decided to change the meaning of the q register
++ flag with GCC version 3.1. He added a Q flag with the old meaning at the
++ same time. This forces us to use a conditional on GCC version. */
++#if __GMP_GNUC_PREREQ (3,1)
++#define __GMP_qm "=Qm"
++#define __GMP_q "=Q"
++#else
++#define __GMP_qm "=qm"
++#define __GMP_q "=q"
++#endif
+ #define ULONG_PARITY(p, n) \
+ do { \
+ char __p; \
+ unsigned long __n = (n); \
+ __n ^= (__n >> 16); \
+- asm ("xorb %h1, %b1\n" \
+- "setpo %0\n" \
+- : "=qm" (__p), "=q" (__n) \
++ asm ("xorb %h1, %b1\n\t" \
++ "setpo %0" \
++ : __GMP_qm (__p), __GMP_q (__n)\
+ : "1" (__n)); \
+ (p) = __p; \
+ } while (0)
diff --git a/dev-libs/gmp/gmp-4.1.4.ebuild b/dev-libs/gmp/gmp-4.1.4.ebuild
index dcf53e93ee20..2fbc0b37d5ee 100644
--- a/dev-libs/gmp/gmp-4.1.4.ebuild
+++ b/dev-libs/gmp/gmp-4.1.4.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-4.1.4.ebuild,v 1.3 2004/11/07 09:47:34 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/gmp/gmp-4.1.4.ebuild,v 1.4 2004/11/28 11:13:49 blubb Exp $
inherit flag-o-matic libtool eutils
@@ -31,6 +31,8 @@ src_unpack () {
# to remove the use of the '.' form in ppc64 assembler
use ppc64 && epatch ${FILESDIR}/ppc64-gmp-acinclude.patch
+# fix problems for -O3 or higher; bug #66780
+ use amd64 && epatch ${FILESDIR}/amd64.patch
autoreconf
}