diff --git a/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch b/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch new file mode 100644 index 0000000..5cd6d40 --- /dev/null +++ b/boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch @@ -0,0 +1,27 @@ +From d1343f28dcbe25b100b082b34775bd92ead4602c Mon Sep 17 00:00:00 2001 +From: jzmaddock +Date: Tue, 25 Jan 2022 09:27:40 +0000 +Subject: [PATCH] Update gcc Intel intrinsic usage config. Fixes + https://github.com/boostorg/multiprecision/issues/419. + +--- + include/boost/multiprecision/cpp_int/intel_intrinsics.hpp | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp +index eb4624bb4..37717cd51 100644 +--- a/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp ++++ b/include/boost/multiprecision/cpp_int/intel_intrinsics.hpp +@@ -19,7 +19,11 @@ + // If this is GCC/clang, then check that the actual intrinsic exists: + // + #if defined(__has_builtin) && defined(__GNUC__) +-#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) && !(defined(BOOST_GCC) && (__GNUC__ >= 9)) ++#if !__has_builtin(__builtin_ia32_addcarryx_u64) && defined(BOOST_MP_HAS_IMMINTRIN_H) \ ++ && !(defined(BOOST_GCC) && (__GNUC__ >= 9) \ ++ && (defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)\ ++ || defined(i386) || defined(__i386) || defined(__i386__) || defined(_M_AMD64) \ ++ || defined(_M_X64) || defined(__amd64__) || defined(_M_X64))) + #undef BOOST_MP_HAS_IMMINTRIN_H + #endif + #elif defined(BOOST_MP_HAS_IMMINTRIN_H) && defined(__GNUC__) && !(defined(BOOST_GCC) && (__GNUC__ >= 9)) diff --git a/boost.spec b/boost.spec index fa3e2dc..400890e 100644 --- a/boost.spec +++ b/boost.spec @@ -42,7 +42,7 @@ Name: boost %global real_name boost Summary: The free peer-reviewed portable C++ source libraries Version: 1.76.0 -Release: 7%{?dist} +Release: 8%{?dist} License: Boost and MIT and Python # Replace each . with _ in %%{version} @@ -161,6 +161,10 @@ Patch101: boost-1.76.0-fix-duplicate-typedef-in-mp.patch # https://github.com/boostorg/random/issues/82 Patch102: boost-1.76.0-random-test.patch +# PR https://github.com/boostorg/multiprecision/pull/421 +# fixes ppc64le issue https://github.com/boostorg/multiprecision/issues/419 +Patch103: boost-1.76.0-fix_multiprecision_issue_419-ppc64le.patch + %bcond_with tests %bcond_with docs_generated @@ -685,6 +689,7 @@ find ./boost -name '*.hpp' -perm /111 | xargs chmod a-x %patch100 -p1 %patch101 -p1 %patch102 -p1 +%patch103 -p2 %build %set_build_flags @@ -1069,16 +1074,10 @@ fi %license LICENSE_1_0.txt %{_libdir}/libboost_math_c99.so.%{sonamever} %{_libdir}/libboost_math_c99f.so.%{sonamever} -%ifnarch ppc64 ppc64le - # long double not supported for this platform - %{_libdir}/libboost_math_c99l.so.%{sonamever} -%endif +%{_libdir}/libboost_math_c99l.so.%{sonamever} %{_libdir}/libboost_math_tr1.so.%{sonamever} %{_libdir}/libboost_math_tr1f.so.%{sonamever} -%ifnarch ppc64 ppc64le - # long double not supported for this platform - %{_libdir}/libboost_math_tr1l.so.%{sonamever} -%endif +%{_libdir}/libboost_math_tr1l.so.%{sonamever} %files nowide %license LICENSE_1_0.txt @@ -1178,14 +1177,10 @@ fi %{_libdir}/libboost_log_setup.so %{_libdir}/libboost_math_tr1.so %{_libdir}/libboost_math_tr1f.so -%ifnarch ppc64 ppc64le %{_libdir}/libboost_math_tr1l.so -%endif %{_libdir}/libboost_math_c99.so %{_libdir}/libboost_math_c99f.so -%ifnarch ppc64 ppc64le %{_libdir}/libboost_math_c99l.so -%endif %{_libdir}/libboost_nowide.so %if %{with python3} %{_libdir}/libboost_numpy%{python3_version_nodots}.so @@ -1296,6 +1291,11 @@ fi %{_mandir}/man1/b2.1* %changelog +* Tue Feb 1 2022 Laurent Rineau - 1.76.0-8 +- Add patch to fix Boost Multiprecision on ppc64le + https://github.com/boostorg/multiprecision/issues/419 +- Acknowledge the change of the ABI of ppc64le with long double. + * Wed Jan 19 2022 Fedora Release Engineering - 1.76.0-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild