git: 7598ff207e4a - main - databases/mysql84-{client,server}: Fix MySQL Router plugin loading

From: Jochen Neumeister <joneum_at_FreeBSD.org>
Date: Mon, 14 Sep 2026 15:36:30 UTC
The branch main has been updated by joneum:

URL: https://cgit.FreeBSD.org/ports/commit/?id=7598ff207e4a1497e69f4c9ebc729cd59105e22c

commit 7598ff207e4a1497e69f4c9ebc729cd59105e22c
Author:     Jochen Neumeister <joneum@FreeBSD.org>
AuthorDate: 2026-09-14 15:35:32 +0000
Commit:     Jochen Neumeister <joneum@FreeBSD.org>
CommitDate: 2026-09-14 15:36:22 +0000

    databases/mysql84-{client,server}: Fix MySQL Router plugin loading
    
    MySQL Router fails to start when the configuration contains an
    [http_server] section, as generated by mysqlsh:
    
      Error: Loading plugin for config-section '[http_server]' failed:
      libmysqlrouter_http_server.so.1: No space available for static
      Thread Local Storage
    
    Upstream compiles with -ftls-model=initial-exec, so router libraries
    loaded through dlopen(3) have to be placed in the static TLS block.
    libmysqlrouter_http_server.so.1 needs 272 bytes and libmysqlharness.so.1
    another 32, while rtld reserves 128 bytes for objects loaded later.
    The five rest_* plugins depend on http_server and fail along with it.
    
    PR:             298483
    Reported by:    marko.cupac@mimar.rs
    Sponsored by:   Netzkommune GmbH
---
 databases/mysql84-client/Makefile                             |  2 +-
 databases/mysql84-server/Makefile                             |  2 +-
 .../patch-cmake_build__configurations_compiler__options.cmake | 11 +++++++++++
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/databases/mysql84-client/Makefile b/databases/mysql84-client/Makefile
index fb2e1b8c2a3d..c5e04636af17 100644
--- a/databases/mysql84-client/Makefile
+++ b/databases/mysql84-client/Makefile
@@ -1,5 +1,5 @@
 PORTNAME=	mysql
-PORTREVISION=	0
+PORTREVISION=	1
 PKGNAMESUFFIX=	84-client
 
 COMMENT=	Multithreaded SQL database (client)
diff --git a/databases/mysql84-server/Makefile b/databases/mysql84-server/Makefile
index 37d6a420d646..7034886eb9ce 100644
--- a/databases/mysql84-server/Makefile
+++ b/databases/mysql84-server/Makefile
@@ -1,6 +1,6 @@
 PORTNAME?=		mysql
 PORTVERSION=		8.4.11
-PORTREVISION?=		3
+PORTREVISION?=		4
 CATEGORIES=		databases
 MASTER_SITES=		MYSQL/MySQL-8.4
 PKGNAMESUFFIX?=		84-server
diff --git a/databases/mysql84-server/files/patch-cmake_build__configurations_compiler__options.cmake b/databases/mysql84-server/files/patch-cmake_build__configurations_compiler__options.cmake
new file mode 100644
index 000000000000..70dd03511da4
--- /dev/null
+++ b/databases/mysql84-server/files/patch-cmake_build__configurations_compiler__options.cmake
@@ -0,0 +1,11 @@
+--- cmake/build_configurations/compiler_options.cmake.orig	2026-06-30 16:11:51 UTC
++++ cmake/build_configurations/compiler_options.cmake
+@@ -68,7 +68,7 @@ IF(UNIX)  
+   # Faster TLS model
+   # libprotobuf-lite.so.24.4: cannot allocate memory in static TLS block
+   IF(MY_COMPILER_IS_GNU_OR_CLANG
+-      AND NOT LINUX_ARM
++      AND NOT LINUX_ARM AND NOT FREEBSD
+       AND NOT SOLARIS AND NOT LINUX_RHEL6 AND NOT LINUX_ALPINE)
+     STRING_APPEND(COMMON_C_FLAGS     " -ftls-model=initial-exec")
+     STRING_APPEND(COMMON_CXX_FLAGS   " -ftls-model=initial-exec")