summaryrefslogtreecommitdiff
path: root/dev-db/mysql/files/mysql-8.0.37-fix-bundled-boost.patch
blob: 58cf72f778fac3d36a15410b917399393766a964 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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))