From d72826a5df63d0f2a96a15845537a65ce12a04db Mon Sep 17 00:00:00 2001 From: Sam James Date: Fri, 8 Aug 2025 09:18:49 +0100 Subject: [PATCH] dev-db/mariadb: workaround unaligned access Pass -fno-tree-vectorize with GCC 16 for now. I've reported it upstream to MariaDB and they've acknowledged the problem. Note that the "same" code is in MySQL but that was fixed quite some years back. Bug: https://jira.mariadb.org/browse/MDEV-37148 Closes: https://bugs.gentoo.org/959423 Signed-off-by: Sam James --- dev-db/mariadb/mariadb-10.11.13.ebuild | 3 +++ dev-db/mariadb/mariadb-10.6.22.ebuild | 3 +++ dev-db/mariadb/mariadb-11.4.7-r1.ebuild | 3 +++ dev-db/mariadb/mariadb-11.8.2.ebuild | 3 +++ dev-db/mariadb/mariadb-12.0.1.ebuild | 3 +++ 5 files changed, 15 insertions(+) diff --git a/dev-db/mariadb/mariadb-10.11.13.ebuild b/dev-db/mariadb/mariadb-10.11.13.ebuild index 5a9d09ea58679..3b81ac9bc492e 100644 --- a/dev-db/mariadb/mariadb-10.11.13.ebuild +++ b/dev-db/mariadb/mariadb-10.11.13.ebuild @@ -303,6 +303,9 @@ src_configure() { # bug #283926, with GCC4.4, this is required to get correct behavior. append-flags -fno-strict-aliasing + # Workaround for bug #959423 (https://jira.mariadb.org/browse/MDEV-37148) + tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-flags -fno-tree-vectorize + # debug hack wrt #497532 local mycmakeargs=( -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" diff --git a/dev-db/mariadb/mariadb-10.6.22.ebuild b/dev-db/mariadb/mariadb-10.6.22.ebuild index 7a90d25a4e6cd..762f9c2b46793 100644 --- a/dev-db/mariadb/mariadb-10.6.22.ebuild +++ b/dev-db/mariadb/mariadb-10.6.22.ebuild @@ -315,6 +315,9 @@ src_configure() { # bug #283926, with GCC4.4, this is required to get correct behavior. append-flags -fno-strict-aliasing + # Workaround for bug #959423 (https://jira.mariadb.org/browse/MDEV-37148) + tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-flags -fno-tree-vectorize + CMAKE_BUILD_TYPE="RelWithDebInfo" # debug hack wrt #497532 diff --git a/dev-db/mariadb/mariadb-11.4.7-r1.ebuild b/dev-db/mariadb/mariadb-11.4.7-r1.ebuild index 34f50502e6d7a..a6fafe54d0508 100644 --- a/dev-db/mariadb/mariadb-11.4.7-r1.ebuild +++ b/dev-db/mariadb/mariadb-11.4.7-r1.ebuild @@ -309,6 +309,9 @@ src_configure() { # bug #283926, with GCC4.4, this is required to get correct behavior. append-flags -fno-strict-aliasing + # Workaround for bug #959423 (https://jira.mariadb.org/browse/MDEV-37148) + tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-flags -fno-tree-vectorize + # debug hack wrt #497532 local mycmakeargs=( -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" diff --git a/dev-db/mariadb/mariadb-11.8.2.ebuild b/dev-db/mariadb/mariadb-11.8.2.ebuild index 29743bde2ce7c..ff6f20f48567d 100644 --- a/dev-db/mariadb/mariadb-11.8.2.ebuild +++ b/dev-db/mariadb/mariadb-11.8.2.ebuild @@ -299,6 +299,9 @@ src_configure() { # bug #283926, with GCC4.4, this is required to get correct behavior. append-flags -fno-strict-aliasing + # Workaround for bug #959423 (https://jira.mariadb.org/browse/MDEV-37148) + tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-flags -fno-tree-vectorize + # debug hack wrt #497532 local mycmakeargs=( -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')" diff --git a/dev-db/mariadb/mariadb-12.0.1.ebuild b/dev-db/mariadb/mariadb-12.0.1.ebuild index f4e825fcf2e2b..2c8e5661fbb51 100644 --- a/dev-db/mariadb/mariadb-12.0.1.ebuild +++ b/dev-db/mariadb/mariadb-12.0.1.ebuild @@ -299,6 +299,9 @@ src_configure() { # bug #283926, with GCC4.4, this is required to get correct behavior. append-flags -fno-strict-aliasing + # Workaround for bug #959423 (https://jira.mariadb.org/browse/MDEV-37148) + tc-is-gcc && [[ $(gcc-major-version) -eq 16 ]] && append-flags -fno-tree-vectorize + # debug hack wrt #497532 local mycmakeargs=( -DCMAKE_C_FLAGS_RELWITHDEBINFO="$(usex debug '' '-DNDEBUG')"