commit:     02c897444d280edc7330204b9fb43afb0a52d0ba
Author:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
AuthorDate: Sun Nov 27 01:05:54 2016 +0000
Commit:     Mike Frysinger <vapier <AT> gentoo <DOT> org>
CommitDate: Sun Nov 27 01:07:12 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=02c89744

dev-libs/gmp: fix USE=pgo builds for some systems #568320

 dev-libs/gmp/files/gmp-6.1.0-tune-printf.patch | 43 ++++++++++++++++++++++++++
 dev-libs/gmp/gmp-6.1.0.ebuild                  |  1 +
 dev-libs/gmp/gmp-6.1.1.ebuild                  |  1 +
 3 files changed, 45 insertions(+)

diff --git a/dev-libs/gmp/files/gmp-6.1.0-tune-printf.patch 
b/dev-libs/gmp/files/gmp-6.1.0-tune-printf.patch
new file mode 100644
index 00000000..dd9d46f
--- /dev/null
+++ b/dev-libs/gmp/files/gmp-6.1.0-tune-printf.patch
@@ -0,0 +1,43 @@
+https://gmplib.org/list-archives/gmp-bugs/2016-November/004032.html
+
+From f440c9134fb89cadf54daeb59c7a0feb7470562b Mon Sep 17 00:00:00 2001
+From: Mike Frysinger <vap...@gentoo.org>
+Date: Sat, 26 Nov 2016 16:35:46 -0500
+Subject: [PATCH] tune: fix spurious clock_gettime reference
+
+When running the tune program, the generated gmp-mparam.h header might
+include an invalid line leading to build failures like so:
+In file included from .../gmp-impl.h:145:0,
+                 from mp_bases.c:4:
+../gmp-mparam.h:1:1: error: unknown type name 'clock_gettime'
+ clock_gettime is 1.000ns accurate
+
+This is because the tune source has one printf that is not protected
+by the verbose flag leading it to be written to the output.
+
+Credit to Conrad Kostecki for analysis.
+
+URL: https://bugs.gentoo.org/568320
+---
+ tune/time.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/tune/time.c b/tune/time.c
+index e0d262096396..d1efb0a6d35d 100644
+--- a/tune/time.c
++++ b/tune/time.c
+@@ -773,8 +773,9 @@ cgt_works_p (void)
+     }
+ 
+   cgt_unittime = unit.tv_sec + unit.tv_nsec * 1e-9;
+-  printf ("clock_gettime is %s accurate\n",
+-        unittime_string (cgt_unittime));
++  if (speed_option_verbose)
++    printf ("clock_gettime is %s accurate\n",
++          unittime_string (cgt_unittime));
+ 
+   if (cgt_unittime < 10e-9)
+     {
+-- 
+2.11.0.rc2
+

diff --git a/dev-libs/gmp/gmp-6.1.0.ebuild b/dev-libs/gmp/gmp-6.1.0.ebuild
index a511af5..519ff18 100644
--- a/dev-libs/gmp/gmp-6.1.0.ebuild
+++ b/dev-libs/gmp/gmp-6.1.0.ebuild
@@ -35,6 +35,7 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
 src_prepare() {
        [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" 
epatch "${FILESDIR}"/${PV}
        epatch "${FILESDIR}"/${PN}-6.1.0-udiv.patch
+       epatch "${FILESDIR}"/${PN}-6.1.0-tune-printf.patch
 
        # note: we cannot run autotools here as gcc depends on this package
        elibtoolize

diff --git a/dev-libs/gmp/gmp-6.1.1.ebuild b/dev-libs/gmp/gmp-6.1.1.ebuild
index adb201e..6aa461d 100644
--- a/dev-libs/gmp/gmp-6.1.1.ebuild
+++ b/dev-libs/gmp/gmp-6.1.1.ebuild
@@ -34,6 +34,7 @@ MULTILIB_WRAPPED_HEADERS=( /usr/include/gmp.h )
 src_prepare() {
        [[ -d ${FILESDIR}/${PV} ]] && EPATCH_SUFFIX="diff" EPATCH_FORCE="yes" 
epatch "${FILESDIR}"/${PV}
        epatch "${FILESDIR}"/${PN}-6.1.0-udiv.patch
+       epatch "${FILESDIR}"/${PN}-6.1.0-tune-printf.patch
 
        # note: we cannot run autotools here as gcc depends on this package
        elibtoolize

Reply via email to