Browse Source

Merge pull request #6301 from micmac1/mariadb-up-102

mariadb: bump to 10.2 release series
lilik-openwrt-22.03
Hannu Nyman 6 years ago
committed by GitHub
parent
commit
f84ac71bc5
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 129 additions and 106 deletions
  1. +1
    -1
      utils/gammu/Makefile
  2. +32
    -21
      utils/mariadb/Makefile
  3. +8
    -8
      utils/mariadb/conf/my.cnf
  4. +10
    -0
      utils/mariadb/conf/mysqld.default
  5. +34
    -13
      utils/mariadb/files/mysqld.init
  6. +1
    -1
      utils/mariadb/patches/100-fix_hostname.patch
  7. +4
    -4
      utils/mariadb/patches/120-fix-ucontext-check.patch
  8. +14
    -23
      utils/mariadb/patches/130-c11_atomics.patch
  9. +0
    -14
      utils/mariadb/patches/150-mips-innobase-atomic.patch
  10. +25
    -21
      utils/mariadb/patches/170-ppc-remove-glibc-dep.patch

+ 1
- 1
utils/gammu/Makefile View File

@ -31,7 +31,7 @@ define Package/gammu
URL:=http://dl.cihar.com/gammu/releases/ URL:=http://dl.cihar.com/gammu/releases/
DEPENDS:=+libpthread +libcurl +glib2 $(ICONV_DEPENDS) $(INTL_DEPENDS) DEPENDS:=+libpthread +libcurl +glib2 $(ICONV_DEPENDS) $(INTL_DEPENDS)
DEPENDS+=+PACKAGE_python:python +PACKAGE_bluez-libs:bluez-libs DEPENDS+=+PACKAGE_python:python +PACKAGE_bluez-libs:bluez-libs
DEPENDS+=+PACKAGE_libmariadbclient:libmariadbclient +PACKAGE_unixodbc:unixodbc +PACKAGE_libpq:libpq
DEPENDS+=+PACKAGE_libmariadb:libmariadb +PACKAGE_unixodbc:unixodbc +PACKAGE_libpq:libpq
DEPENDS+=+PACKAGE_libusb-1.0:libusb-1.0 DEPENDS+=+PACKAGE_libusb-1.0:libusb-1.0
endef endef


+ 32
- 21
utils/mariadb/Makefile View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=mariadb PKG_NAME:=mariadb
PKG_VERSION:=10.1.33
PKG_VERSION:=10.2.16
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
@ -18,10 +18,10 @@ PKG_SOURCE_URL := \
https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \ https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/$(PKG_NAME)-$(PKG_VERSION)/source \
https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source https://downloads.mariadb.org/interstitial/$(PKG_NAME)-$(PKG_VERSION)/source
PKG_HASH:=94312c519f2c0c25e1964c64e22aff0036fb22dfb2685638f43a6b2211395d2d
PKG_HASH:=c182ee93bacee9c1395a4cece56acfc433bc5153ec627c4898927b93eee54dc4
PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net> PKG_MAINTAINER:=Sebastian Kemper <sebastian_ml@gmx.net>
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=COPYING
PKG_LICENSE:=GPL-2.0 LGPL-2.1
PKG_LICENSE_FILES:=COPYING libmariadb/COPYING.LIB
HOST_BUILD_PARALLEL:=1 HOST_BUILD_PARALLEL:=1
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@ -60,7 +60,8 @@ MARIADB_SERVER_PLUGINS := \
ha_example \ ha_example \
ha_federated \ ha_federated \
ha_federatedx \ ha_federatedx \
ha_innodb \
ha_sequence \
ha_sphinx \
ha_spider \ ha_spider \
ha_test_sql_discovery \ ha_test_sql_discovery \
handlersocket \ handlersocket \
@ -102,7 +103,8 @@ plugin-ha_connect := PLUGIN_CONNECT
plugin-ha_example := PLUGIN_EXAMPLE plugin-ha_example := PLUGIN_EXAMPLE
plugin-ha_federated := PLUGIN_FEDERATED plugin-ha_federated := PLUGIN_FEDERATED
plugin-ha_federatedx := PLUGIN_FEDERATEDX plugin-ha_federatedx := PLUGIN_FEDERATEDX
plugin-ha_innodb := PLUGIN_INNOBASE
plugin-ha_sequence := PLUGIN_SEQUENCE
plugin-ha_sphinx := PLUGIN_SPHINX
plugin-ha_spider := PLUGIN_SPIDER plugin-ha_spider := PLUGIN_SPIDER
plugin-ha_test_sql_discovery := PLUGIN_TEST_SQL_DISCOVERY plugin-ha_test_sql_discovery := PLUGIN_TEST_SQL_DISCOVERY
plugin-handlersocket := PLUGIN_HANDLERSOCKET plugin-handlersocket := PLUGIN_HANDLERSOCKET
@ -183,16 +185,16 @@ database query language in the world. The main goals of MariaDB are
speed, robustness and ease of use. speed, robustness and ease of use.
endef endef
define Package/libmariadbclient
define Package/libmariadb
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=$(MARIADB_COMMON_DEPENDS) DEPENDS:=$(MARIADB_COMMON_DEPENDS)
TITLE:=MariaDB database client library TITLE:=MariaDB database client library
URL:=https://mariadb.org/ URL:=https://mariadb.org/
PROVIDES:=libmysqlclient libmysqlclient-r
PROVIDES:=libmariadbclient libmysqlclient libmysqlclient-r
endef endef
define Package/libmariadbclient/description
define Package/libmariadb/description
$(call Package/mariadb/description/Default) $(call Package/mariadb/description/Default)
This package includes the client library. This package includes the client library.
@ -247,7 +249,6 @@ endef
define Package/mariadb-extra-charsets/description define Package/mariadb-extra-charsets/description
$(call Package/mariadb/description/Default) $(call Package/mariadb/description/Default)
The MariaDB server packaged by OpenWrt only provides support for UTF-8.
This package contains single Byte character sets and collations that can This package contains single Byte character sets and collations that can
be added at run time. be added at run time.
@ -264,6 +265,7 @@ define Package/mariadb-server
TITLE:=MariaDB database core server binaries TITLE:=MariaDB database core server binaries
MENU:=1 MENU:=1
PROVIDES:=mysql-server PROVIDES:=mysql-server
USERID:=mariadb=376:mariadb=376
endef endef
define Package/mariadb-server/description define Package/mariadb-server/description
@ -340,13 +342,14 @@ CMAKE_OPTIONS += \
-DINSTALL_SCRIPTDIR=bin \ -DINSTALL_SCRIPTDIR=bin \
-DINSTALL_SQLBENCHDIR="" \ -DINSTALL_SQLBENCHDIR="" \
-DINSTALL_SUPPORTFILESDIR=share/mysql \ -DINSTALL_SUPPORTFILESDIR=share/mysql \
-DMYSQLD_USER=root \
-DINSTALL_UNIX_ADDRDIR=/var/run/mysqld/mysqld.sock \
-DMYSQLD_USER=mariadb \
-DMYSQL_DATADIR=/var/lib/mysql \ -DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_UNIX_ADDR=/var/run/mysqld.sock \
-DMYSQL_UNIX_ADDR=/var/run/mysqld/mysqld.sock \
-DSKIP_TESTS=ON \ -DSKIP_TESTS=ON \
-DWITH_ASAN=OFF \ -DWITH_ASAN=OFF \
-DWITH_EMBEDDED_SERVER=OFF \ -DWITH_EMBEDDED_SERVER=OFF \
-DWITH_EXTRA_CHARSETS=none \
-DWITH_EXTRA_CHARSETS=complex \
-DWITH_INNODB_BZIP2=OFF \ -DWITH_INNODB_BZIP2=OFF \
-DWITH_INNODB_LZ4=OFF \ -DWITH_INNODB_LZ4=OFF \
-DWITH_INNODB_LZMA=ON \ -DWITH_INNODB_LZMA=ON \
@ -371,7 +374,6 @@ CMAKE_OPTIONS += \
-DPLUGIN_MROONGA=NO \ -DPLUGIN_MROONGA=NO \
-DPLUGIN_OQGRAPH=NO \ -DPLUGIN_OQGRAPH=NO \
-DPLUGIN_ROCKSDB=NO \ -DPLUGIN_ROCKSDB=NO \
-DPLUGIN_SPHINX=NO \
-DPLUGIN_TOKUDB=NO \ -DPLUGIN_TOKUDB=NO \
-DPLUGIN_AUTH_PAM=NO \ -DPLUGIN_AUTH_PAM=NO \
-DPLUGIN_AUTH_GSSAPI=NO \ -DPLUGIN_AUTH_GSSAPI=NO \
@ -425,15 +427,15 @@ define Build/InstallDev
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/mysql_config $(1)/usr/bin
$(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin $(LN) $(STAGING_DIR)/usr/bin/mysql_config $(2)/bin
$(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/mysql $(1)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmysqlclient*.so* $(1)/usr/lib
cd $(1)/usr/lib/mysql; $(LN) ../libmysqlclient*.so* .
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
cd $(1)/usr/lib/mysql; $(LN) ../lib{mariadb,mysqlclient}*.so* .
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/mariadb.pc $(1)/usr/lib/pkgconfig $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/pkgconfig/mariadb.pc $(1)/usr/lib/pkgconfig
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/share/aclocal/mysql.m4 $(1)/usr/share/aclocal
endef endef
define Package/libmariadbclient/install
define Package/libmariadb/install
$(INSTALL_DIR) $(1)$(PLUGIN_DIR) $(INSTALL_DIR) $(1)$(PLUGIN_DIR)
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libmysqlclient*.so* $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib{mariadb,mysqlclient}*.so* $(1)/usr/lib
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR) $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/dialog.so $(1)$(PLUGIN_DIR)
$(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR) $(INSTALL_BIN) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/mysql_clear_password.so $(1)$(PLUGIN_DIR)
endef endef
@ -441,6 +443,10 @@ endef
define Package/mariadb-client/install define Package/mariadb-client/install
$(INSTALL_DIR) $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/bin
$(foreach b,$(MARIADB_CLIENT),$(call Package/mariadb/install/bin,$(1),$(b));) $(foreach b,$(MARIADB_CLIENT),$(call Package/mariadb/install/bin,$(1),$(b));)
# Install convenience links for mysqlcheck multi-call binary
cd $(1)/usr/bin; $(LN) mysqlcheck mysqlanalyze
cd $(1)/usr/bin; $(LN) mysqlcheck mysqlrepair
cd $(1)/usr/bin; $(LN) mysqlcheck mysqloptimize
endef endef
define Package/mariadb-client-extra/install define Package/mariadb-client-extra/install
@ -456,10 +462,12 @@ endef
define Package/mariadb-server/install define Package/mariadb-server/install
$(INSTALL_DIR) $(1)/usr/bin $(INSTALL_DIR) $(1)/usr/bin
$(foreach b,$(MARIADB_SERVER),$(call Package/mariadb/install/bin,$(1),$(b));) $(foreach b,$(MARIADB_SERVER),$(call Package/mariadb/install/bin,$(1),$(b));)
$(INSTALL_DIR) $(1)/etc/default
$(INSTALL_DIR) $(1)/etc/init.d $(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/etc/mysql/conf.d $(INSTALL_DIR) $(1)/etc/mysql/conf.d
$(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld $(INSTALL_BIN) files/mysqld.init $(1)/etc/init.d/mysqld
$(INSTALL_CONF) conf/my.cnf $(1)/etc/mysql $(INSTALL_CONF) conf/my.cnf $(1)/etc/mysql
$(INSTALL_CONF) conf/mysqld.default $(1)/etc/default/mysqld
$(INSTALL_DIR) $(1)$(PLUGIN_DIR) $(INSTALL_DIR) $(1)$(PLUGIN_DIR)
$(INSTALL_CONF) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/daemon_example.ini $(1)$(PLUGIN_DIR) $(INSTALL_CONF) $(PKG_INSTALL_DIR)$(PLUGIN_DIR)/daemon_example.ini $(1)$(PLUGIN_DIR)
$(INSTALL_DIR) $(1)/usr/share/mysql/english $(INSTALL_DIR) $(1)/usr/share/mysql/english
@ -477,8 +485,9 @@ define Package/mariadb-server-extra/install
endef endef
define Package/mariadb-server/conffiles define Package/mariadb-server/conffiles
/etc/default/mysqld
/etc/mysql/my.cnf /etc/mysql/my.cnf
/usr/lib/mysql/plugin/daemon_example.ini
$(PLUGIN_DIR)/daemon_example.ini
endef endef
define BuildPlugin define BuildPlugin
@ -503,7 +512,7 @@ This package provides the $(1) plugin.
endef endef
$(eval $(call HostBuild)) $(eval $(call HostBuild))
$(eval $(call BuildPackage,libmariadbclient))
$(eval $(call BuildPackage,libmariadb))
$(eval $(call BuildPackage,mariadb-client)) $(eval $(call BuildPackage,mariadb-client))
$(eval $(call BuildPackage,mariadb-client-extra)) $(eval $(call BuildPackage,mariadb-client-extra))
$(eval $(call BuildPackage,mariadb-extra-charsets)) $(eval $(call BuildPackage,mariadb-extra-charsets))
@ -525,9 +534,11 @@ $(eval $(call BuildPlugin,file_key_management,))
$(eval $(call BuildPlugin,ha_archive,)) $(eval $(call BuildPlugin,ha_archive,))
$(eval $(call BuildPlugin,ha_blackhole,)) $(eval $(call BuildPlugin,ha_blackhole,))
$(eval $(call BuildPlugin,ha_connect,+libxml2)) $(eval $(call BuildPlugin,ha_connect,+libxml2))
$(eval $(call BuildPlugin,ha_example,))
$(eval $(call BuildPlugin,ha_federated,)) $(eval $(call BuildPlugin,ha_federated,))
$(eval $(call BuildPlugin,ha_federatedx,)) $(eval $(call BuildPlugin,ha_federatedx,))
$(eval $(call BuildPlugin,ha_innodb,))
$(eval $(call BuildPlugin,ha_sequence,))
$(eval $(call BuildPlugin,ha_sphinx,))
$(eval $(call BuildPlugin,ha_spider,)) $(eval $(call BuildPlugin,ha_spider,))
$(eval $(call BuildPlugin,ha_test_sql_discovery,)) $(eval $(call BuildPlugin,ha_test_sql_discovery,))
$(eval $(call BuildPlugin,handlersocket,)) $(eval $(call BuildPlugin,handlersocket,))


+ 8
- 8
utils/mariadb/conf/my.cnf View File

@ -1,10 +1,10 @@
[client] [client]
port = 3306 port = 3306
socket = /var/run/mysqld.sock
socket = /var/run/mysqld/mysqld.sock
[mysqld] [mysqld]
user = root
socket = /var/run/mysqld.sock
user = mariadb
socket = /var/run/mysqld/mysqld.sock
port = 3306 port = 3306
basedir = /usr basedir = /usr
@ -21,21 +21,21 @@ skip-external-locking
bind-address = 127.0.0.1 bind-address = 127.0.0.1
# Fine Tuning # Fine Tuning
key_buffer = 16M
key_buffer_size = 16M
max_allowed_packet = 16M max_allowed_packet = 16M
thread_stack = 192K thread_stack = 192K
thread_cache_size = 8
thread_cache_size = 8
# Here you can see queries with especially long duration # Here you can see queries with especially long duration
#log_slow_queries = /var/log/mysql/mysql-slow.log #log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#long_query_time = 2
#log-queries-not-using-indexes #log-queries-not-using-indexes
# The following can be used as easy to replay backup logs or for replication. # The following can be used as easy to replay backup logs or for replication.
#server-id = 1 #server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
#log_bin = /var/log/mysql/mysql-bin.log
#expire_logs_days = 10 #expire_logs_days = 10
#max_binlog_size = 100M
#max_binlog_size = 100M
#binlog_do_db = include_database_name #binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name #binlog_ignore_db = include_database_name


+ 10
- 0
utils/mariadb/conf/mysqld.default View File

@ -0,0 +1,10 @@
# The user and group that will run the MySQL server. The user mariadb is
# automatically created by the mariadb-server package, hence that is the
# default choice.
#MY_USER=mariadb
#MY_GROUP=mariadb
# Additional arguments you want to pass to the MySQL server.
#MY_ARGS=""

+ 34
- 13
utils/mariadb/files/mysqld.init View File

@ -1,32 +1,53 @@
#!/bin/sh /etc/rc.common #!/bin/sh /etc/rc.common
# Copyright (C) 2010-2011 OpenWrt.org
# Copyright (C) 2010-2018 OpenWrt.org
START=95 START=95
STOP=10 STOP=10
SERVICE_DAEMONIZE=1
SERVICE_WRITE_PID=1
SERVICE_STOP_TIME=9
PROG='/usr/bin/mysqld'
USE_PROCD=1
start() {
#PROCD_DEBUG=1
MYSQLD=mysqld
DEFAULT=/etc/default/$MYSQLD
LOGGER="/usr/bin/logger -p user.err -s -t $MYSQLD"
PROG=/usr/bin/$MYSQLD
unset MY_ARGS MY_GROUP MY_USER
[ -f $DEFAULT ] && . $DEFAULT
my_user="${MY_USER:-mariadb}"
my_group="${MY_GROUP:-mariadb}"
start_service() {
local conf='/etc/mysql/my.cnf' local conf='/etc/mysql/my.cnf'
local datadir="$( sed -nE "s/^\s*datadir\s*=\s*('([^']*)'|\x22([^\x22]*)\x22|(.*\S))\s*$/\2\3\4/p" "$conf" )" local datadir="$( sed -nE "s/^\s*datadir\s*=\s*('([^']*)'|\x22([^\x22]*)\x22|(.*\S))\s*$/\2\3\4/p" "$conf" )"
[ -d "$datadir" ] || { [ -d "$datadir" ] || {
logger -s "[ERROR] datadir '$datadir' in '$conf' does not exist"
$LOGGER "datadir '$datadir' in '$conf' does not exist"
return 1 return 1
} }
[ -f "$datadir/mysql/tables_priv.MYD" ] || { [ -f "$datadir/mysql/tables_priv.MYD" ] || {
logger -s "[ERROR] can not detect privileges table, you might need to"
logger -s "run 'mysql_install_db --force' to initialize the system tables"
$LOGGER "cannot detect privileges table, you might need to"
$LOGGER "run 'mysql_install_db --force' to initialize the system tables"
return 1 return 1
} }
service_start "$PROG"
}
mkdir -p /var/lib/mysql
chown "$my_user":"$my_group" /var/lib/mysql
mkdir -p /var/run/mysqld
chown "$my_user":"$my_group" /var/run/mysqld
procd_open_instance
procd_set_param command $PROG $MY_ARGS
procd_set_param pidfile /var/run/mysqld.pid
# forward stderr to logd
procd_set_param stderr 1
stop() {
service_stop "$PROG"
procd_close_instance
} }

+ 1
- 1
utils/mariadb/patches/100-fix_hostname.patch View File

@ -1,6 +1,6 @@
--- a/scripts/mysql_install_db.sh --- a/scripts/mysql_install_db.sh
+++ b/scripts/mysql_install_db.sh +++ b/scripts/mysql_install_db.sh
@@ -379,7 +379,7 @@ fi
@@ -383,7 +383,7 @@ fi
# Try to determine the hostname # Try to determine the hostname


+ 4
- 4
utils/mariadb/patches/120-fix-ucontext-check.patch View File

@ -1,9 +1,9 @@
--- a/configure.cmake --- a/configure.cmake
+++ b/configure.cmake +++ b/configure.cmake
@@ -1107,9 +1107,12 @@ SET(CMAKE_EXTRA_INCLUDE_FILES)
CHECK_STRUCT_HAS_MEMBER("struct dirent" d_ino "dirent.h" STRUCT_DIRENT_HAS_D_INO)
CHECK_STRUCT_HAS_MEMBER("struct dirent" d_namlen "dirent.h" STRUCT_DIRENT_HAS_D_NAMLEN)
SET(SPRINTF_RETURNS_INT 1)
@@ -1018,9 +1018,12 @@ CHECK_STRUCT_HAS_MEMBER("struct sockaddr
SET(CMAKE_EXTRA_INCLUDE_FILES)
-CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H) -CHECK_INCLUDE_FILE(ucontext.h HAVE_UCONTEXT_H)
-IF(NOT HAVE_UCONTEXT_H) -IF(NOT HAVE_UCONTEXT_H)
- CHECK_INCLUDE_FILE(sys/ucontext.h HAVE_UCONTEXT_H) - CHECK_INCLUDE_FILE(sys/ucontext.h HAVE_UCONTEXT_H)


+ 14
- 23
utils/mariadb/patches/130-c11_atomics.patch View File

@ -14,7 +14,7 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
${LIBM} ${LIBNSL} ${LIBBIND} ${LIBCRYPT} ${LIBSOCKET} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${LIBRT} ${LIBEXECINFO}) ${LIBM} ${LIBNSL} ${LIBBIND} ${LIBCRYPT} ${LIBSOCKET} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${LIBRT} ${LIBEXECINFO})
# Need explicit pthread for gcc -fsanitize=address # Need explicit pthread for gcc -fsanitize=address
IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=") IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=")
@@ -1038,7 +1038,26 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
@@ -952,7 +952,26 @@ ELSEIF(NOT WITH_ATOMIC_OPS)
long long int *ptr= &var; long long int *ptr= &var;
return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST); return (int)__atomic_load_n(ptr, __ATOMIC_SEQ_CST);
}" }"
@ -73,29 +73,9 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
#ifdef MY_ATOMIC_MODE_DUMMY #ifdef MY_ATOMIC_MODE_DUMMY
#define make_atomic_load_body(S) ret= *a #define make_atomic_load_body(S) ret= *a
#define make_atomic_store_body(S) *a= v #define make_atomic_store_body(S) *a= v
--- a/include/atomic/nolock.h
+++ b/include/atomic/nolock.h
@@ -17,7 +17,7 @@
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#if defined(__i386__) || defined(_MSC_VER) || defined(__x86_64__) \
- || defined(HAVE_GCC_ATOMIC_BUILTINS) \
+ || defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS) \
|| defined(HAVE_SOLARIS_ATOMIC)
# ifdef MY_ATOMIC_MODE_DUMMY
@@ -41,7 +41,7 @@
# elif __GNUC__
# if defined(HAVE_SOLARIS_ATOMIC)
# include "solaris.h"
-# elif defined(HAVE_GCC_ATOMIC_BUILTINS)
+# elif defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS)
# include "gcc_builtins.h"
# elif defined(__i386__) || defined(__x86_64__)
# include "x86-gcc.h"
--- a/mysys/CMakeLists.txt --- a/mysys/CMakeLists.txt
+++ b/mysys/CMakeLists.txt +++ b/mysys/CMakeLists.txt
@@ -78,6 +78,10 @@ IF(HAVE_BFD_H)
@@ -80,6 +80,10 @@ IF(HAVE_BFD_H)
TARGET_LINK_LIBRARIES(mysys bfd) TARGET_LINK_LIBRARIES(mysys bfd)
ENDIF(HAVE_BFD_H) ENDIF(HAVE_BFD_H)
@ -108,7 +88,7 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
ENDIF(WIN32) ENDIF(WIN32)
--- a/sql/CMakeLists.txt --- a/sql/CMakeLists.txt
+++ b/sql/CMakeLists.txt +++ b/sql/CMakeLists.txt
@@ -165,6 +165,10 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
@@ -170,6 +170,10 @@ TARGET_LINK_LIBRARIES(sql ${MYSQLD_STATI
${SSL_LIBRARIES} ${SSL_LIBRARIES}
${LIBSYSTEMD}) ${LIBSYSTEMD})
@ -119,3 +99,14 @@ Author: Vicențiu Ciorbaru <vicentiu@mariadb.org>
IF(WIN32) IF(WIN32)
SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc) SET(MYSQLD_SOURCE main.cc nt_servc.cc message.rc)
TARGET_LINK_LIBRARIES(sql psapi) TARGET_LINK_LIBRARIES(sql psapi)
--- a/include/my_atomic.h
+++ b/include/my_atomic.h
@@ -126,7 +126,7 @@
#include "atomic/generic-msvc.h"
#elif defined(HAVE_SOLARIS_ATOMIC)
#include "atomic/solaris.h"
-#elif defined(HAVE_GCC_ATOMIC_BUILTINS)
+#elif defined(HAVE_GCC_ATOMIC_BUILTINS) || defined(HAVE_GCC_C11_ATOMICS)
#include "atomic/gcc_builtins.h"
#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
#include "atomic/x86-gcc.h"

+ 0
- 14
utils/mariadb/patches/150-mips-innobase-atomic.patch View File

@ -1,14 +0,0 @@
Author: James Cowgill <jcowgill@debian.org>
Description: fix FTBFS on 32-bit mips*
Bug-Debian: #864298
--- a/storage/innobase/include/os0sync.h
+++ b/storage/innobase/include/os0sync.h
@@ -37,6 +37,7 @@ Created 9/6/1995 Heikki Tuuri
#include "univ.i"
#include "ut0lst.h"
+#include "sync0types.h"
/** CPU cache line size */
#ifdef __powerpc__

+ 25
- 21
utils/mariadb/patches/170-ppc-remove-glibc-dep.patch View File

@ -27,12 +27,14 @@ directly was the first solution adopted in MariaDB [2].
--- a/storage/xtradb/include/ut0ut.h --- a/storage/xtradb/include/ut0ut.h
+++ b/storage/xtradb/include/ut0ut.h +++ b/storage/xtradb/include/ut0ut.h
@@ -86,8 +86,7 @@ private:
@@ -85,9 +85,8 @@ private:
the YieldProcessor macro defined in WinNT.h. It is a CPU architecture-
independent way by using YieldProcessor. */ independent way by using YieldProcessor. */
# define UT_RELAX_CPU() YieldProcessor() # define UT_RELAX_CPU() YieldProcessor()
# elif defined(__powerpc__)
-# elif defined(__powerpc__) && defined __GLIBC__
-#include <sys/platform/ppc.h> -#include <sys/platform/ppc.h>
-# define UT_RELAX_CPU() __ppc_get_timebase() -# define UT_RELAX_CPU() __ppc_get_timebase()
+# elif defined(__powerpc__)
+# define UT_RELAX_CPU() __builtin_ppc_get_timebase() +# define UT_RELAX_CPU() __builtin_ppc_get_timebase()
# else # else
# define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */ # define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
@ -51,25 +53,27 @@ directly was the first solution adopted in MariaDB [2].
# define UT_RESUME_PRIORITY_CPU() ((void)0) # define UT_RESUME_PRIORITY_CPU() ((void)0)
--- a/storage/innobase/include/ut0ut.h --- a/storage/innobase/include/ut0ut.h
+++ b/storage/innobase/include/ut0ut.h +++ b/storage/innobase/include/ut0ut.h
@@ -89,8 +89,7 @@ private:
@@ -70,9 +70,8 @@ typedef time_t ib_time_t;
the YieldProcessor macro defined in WinNT.h. It is a CPU architecture-
independent way by using YieldProcessor. */ independent way by using YieldProcessor. */
# define UT_RELAX_CPU() YieldProcessor()
# elif defined(__powerpc__)
-#include <sys/platform/ppc.h>
-# define UT_RELAX_CPU() __ppc_get_timebase()
+# define UT_RELAX_CPU() __builtin_ppc_get_timebase()
# else
# define UT_RELAX_CPU() ((void)0) /* avoid warning for an empty statement */
# endif
@@ -104,9 +103,8 @@ private:
# define UT_RELAX_CPU() YieldProcessor()
-#elif defined(__powerpc__) && defined __GLIBC__
-# include <sys/platform/ppc.h>
-# define UT_RELAX_CPU() __ppc_get_timebase()
+#elif defined(__powerpc__)
+# define UT_RELAX_CPU() __builtin_ppc_get_timebase()
#else
# define UT_RELAX_CPU() do { \
volatile int32 volatile_var; \
@@ -90,9 +89,8 @@ typedef time_t ib_time_t;
#endif #endif
# if defined(HAVE_HMT_PRIORITY_INSTRUCTION)
-#include <sys/platform/ppc.h>
-# define UT_LOW_PRIORITY_CPU() __ppc_set_ppr_low()
-# define UT_RESUME_PRIORITY_CPU() __ppc_set_ppr_med()
+# define UT_LOW_PRIORITY_CPU() __asm__ __volatile__ ("or 1,1,1")
+# define UT_RESUME_PRIORITY_CPU() __asm__ __volatile__ ("or 2,2,2")
# else
# define UT_LOW_PRIORITY_CPU() ((void)0)
# define UT_RESUME_PRIORITY_CPU() ((void)0)
#if defined(HAVE_HMT_PRIORITY_INSTRUCTION)
-# include <sys/platform/ppc.h>
-# define UT_LOW_PRIORITY_CPU() __ppc_set_ppr_low()
-# define UT_RESUME_PRIORITY_CPU() __ppc_set_ppr_med()
+# define UT_LOW_PRIORITY_CPU() __asm__ __volatile__ ("or 1,1,1")
+# define UT_RESUME_PRIORITY_CPU() __asm__ __volatile__ ("or 2,2,2")
#else
# define UT_LOW_PRIORITY_CPU() ((void)0)
# define UT_RESUME_PRIORITY_CPU() ((void)0)

Loading…
Cancel
Save