dev-db/mysql: backport boost fix for ppc

Closes: https://bugs.gentoo.org/947784
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
Alfred Wingate 2025-01-10 02:23:30 +02:00 committed by Sam James
parent 8f3baaa744
commit aec0de9088
No known key found for this signature in database
GPG Key ID: 738409F520DF9190
3 changed files with 26 additions and 0 deletions

View File

@ -0,0 +1,22 @@
https://bugs.gentoo.org/947784
https://github.com/boostorg/multiprecision/issues/419
https://github.com/boostorg/multiprecision/commit/d1343f28dcbe25b100b082b34775bd92ead4602c
The old version of Boost that MySQL vendors tries to use x86 intrinsics
on PowerPC. Backport this patch for it to not do that.
--- a/boost/boost_1_77_0/boost/multiprecision/cpp_int/intel_intrinsics.hpp
+++ b/boost/boost_1_77_0/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))

View File

@ -94,6 +94,8 @@ PATCHES=(
"${WORKDIR}"/mysql-patches
# Needed due to bundled boost-1.77, this fix is included in boost-1.81
"${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch
# Needed due to bundled boost-1.77, this fix is included in boost-1.79
"${FILESDIR}"/mysql-8.0.37-fix-bundled-boost.patch
# Needed due to bundles abseil-cpp, this fix is included in abseil-cpp-20240722
"${FILESDIR}"/mysql-8.0.37-fix-bundled-abseil.patch
)

View File

@ -95,6 +95,8 @@ PATCHES=(
"${WORKDIR}"/mysql-patches
# Needed due to bundled boost-1.77, this fix is included in boost-1.81
"${FILESDIR}"/mysql-8.0.36-boost-clang-fix.patch
# Needed due to bundled boost-1.77, this fix is included in boost-1.79
"${FILESDIR}"/mysql-8.0.37-fix-bundled-boost.patch
# Needed due to bundles abseil-cpp, this fix is included in abseil-cpp-20240722
"${FILESDIR}"/mysql-8.0.37-fix-bundled-abseil.patch
# Needed due to bundles abseil-cpp, this fix is in no release as of 2025-01-09