commit: 59d77345086feb6141a77a48f0dbb359c9979aff Author: Adrian Ratiu <adrian.ratiu <AT> collabora <DOT> com> AuthorDate: Mon Mar 3 12:04:25 2025 +0000 Commit: Sam James <sam <AT> gentoo <DOT> org> CommitDate: Thu Mar 6 01:21:55 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59d77345
dev-libs/mpfr: add patch to workaround clang breakage Add a workaround patch used by Yocto to fix the clang breakage. This patch can be dropped once upstream mpfr fixes the breakage using one of the solutions proposed in the glibc bug report: https://sourceware.org/bugzilla/show_bug.cgi?id=32750 Closes: https://bugs.gentoo.org/949962 Signed-off-by: Adrian Ratiu <adrian.ratiu <AT> collabora.com> Closes: https://github.com/gentoo/gentoo/pull/40865 Signed-off-by: Sam James <sam <AT> gentoo.org> ...h.h-to-use-predefined-_Float128-definitio.patch | 48 ++++++++++++++++++++++ dev-libs/mpfr/mpfr-4.2.1.ebuild | 1 + 2 files changed, 49 insertions(+) diff --git a/dev-libs/mpfr/files/mpfr-4.2.1-include-math.h-to-use-predefined-_Float128-definitio.patch b/dev-libs/mpfr/files/mpfr-4.2.1-include-math.h-to-use-predefined-_Float128-definitio.patch new file mode 100644 index 000000000000..abf08eec1e73 --- /dev/null +++ b/dev-libs/mpfr/files/mpfr-4.2.1-include-math.h-to-use-predefined-_Float128-definitio.patch @@ -0,0 +1,48 @@ +From dd0bbbeae865561be679baa680e8c5135fe9dc5e Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Thu, 26 Dec 2024 19:44:12 -0800 +Subject: [PATCH] include math.h to use predefined _Float128 definition + +glibc has added this patch [1] which defines __HAVE_FLOAT128 for clang +therefore include math.h to avoid defining _Float128 during configure if +not needed. + +This is a workaround until mpfr upstream does a proper fix. For more +context see the relevant glibc bug report [2]. + +[1] https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=sysdeps/x86/bits/floatn.h;h=ba030d270a73c71f166083b30dbaf89371ff49fa;hp=e661abaea469b8b916fd312cc42382ad4c5e220f;hb=d773aff467840f5ed305e40c180466e90bd88183;hpb=b2556550a0f952b2a841a0b4bddc999c2df1b233 +[2] https://sourceware.org/bugzilla/show_bug.cgi?id=32750 + +Signed-off-by: Khem Raj <[email protected]> +Signed-off-by: Adrian Ratiu <[email protected]> +--- + acinclude.m4 | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index d5b5b4bdb..c9e882cdd 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -793,8 +793,9 @@ dnl the "undefined reference" error disappear. + if test "$enable_float128" != no; then + AC_MSG_CHECKING(if _Float128 with hex constants is supported) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[ +-volatile _Float128 x = 0x1.fp+16383f128; +-return x == 0; ++ #include <math.h> ++ volatile _Float128 x = 0x1.fp+16383f128; ++ return x == 0; + ]])], + [AC_MSG_RESULT(yes) + AC_DEFINE([MPFR_WANT_FLOAT128],1,[Build float128 functions])], +@@ -804,6 +805,7 @@ dnl Use the q suffix in this case. + AC_LINK_IFELSE([AC_LANG_PROGRAM([[ + #define _Float128 __float128 + ]], [[ ++#include <math.h> + volatile _Float128 x = 0x1.fp+16383q; + return x == 0; + ]])], +-- +2.30.2 + diff --git a/dev-libs/mpfr/mpfr-4.2.1.ebuild b/dev-libs/mpfr/mpfr-4.2.1.ebuild index cc2b0bfe6d38..69efa49c43da 100644 --- a/dev-libs/mpfr/mpfr-4.2.1.ebuild +++ b/dev-libs/mpfr/mpfr-4.2.1.ebuild @@ -61,6 +61,7 @@ PATCHES=( "${MY_PATCHES[@]}" # Additional patches + ${FILESDIR}/${PN}-4.2.1-include-math.h-to-use-predefined-_Float128-definitio.patch ) HTML_DOCS=( doc/FAQ.html )
