summaryrefslogtreecommitdiff
path: root/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch')
-rw-r--r--dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch b/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch
new file mode 100644
index 000000000000..58cf72f778fa
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch
@@ -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))