diff options
Diffstat (limited to 'dev-db/mysql/files')
| -rw-r--r-- | dev-db/mysql/files/mysql-8.0.37-fix-bundled-abseil.patch | 30 |
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); |
