summaryrefslogtreecommitdiff
path: root/dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch')
-rw-r--r--dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch b/dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch
new file mode 100644
index 000000000000..654b2bc21be6
--- /dev/null
+++ b/dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch
@@ -0,0 +1,30 @@
+https://bugs.gentoo.org/935508
+
+Context:
+https://bugs.gentoo.org/934337
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112789
+
+--- mysql/extra/abseil/abseil-cpp-20230802.1/absl/numeric/internal/bits.h.bak
++++ mysql/extra/abseil/abseil-cpp-20230802.1/absl/numeric/internal/bits.h
+@@ -167,7 +167,9 @@ CountLeadingZeroes32(uint32_t x) {
+
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CLZ inline int
+ CountLeadingZeroes16(uint16_t x) {
+-#if ABSL_HAVE_BUILTIN(__builtin_clzs)
++#if ABSL_HAVE_BUILTIN(__builtin_clzg)
++ return x == 0 ? 16 : __builtin_clzg(x);
++#elif ABSL_HAVE_BUILTIN(__builtin_clzs)
+ static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
+ "__builtin_clzs does not take 16-bit arg");
+ return x == 0 ? 16 : __builtin_clzs(x);
+@@ -303,7 +305,9 @@ CountTrailingZeroesNonzero64(uint64_t x) {
+
+ ABSL_ATTRIBUTE_ALWAYS_INLINE ABSL_INTERNAL_CONSTEXPR_CTZ inline int
+ CountTrailingZeroesNonzero16(uint16_t x) {
+-#if ABSL_HAVE_BUILTIN(__builtin_ctzs)
++#if ABSL_HAVE_BUILTIN(__builtin_ctzg)
++ return __builtin_ctzg(x);
++#elif ABSL_HAVE_BUILTIN(__builtin_ctzs)
+ static_assert(sizeof(unsigned short) == sizeof(x), // NOLINT(runtime/int)
+ "__builtin_ctzs does not take 16-bit arg");
+ return __builtin_ctzs(x);