mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 15:38:40 +01:00
mariadb: bump to major version 10.4
Highlights: - Bump from 10.2.26 to 10.4.10 - auth_pam got replaced with never version, old one still available as auth_pam_v1 - semisync plugins were merged into the core - Upstream now installs symlinks for binaries with mariadb prefix. To accommodate that this commit updates Package/mariadb/install/bin accordingly. - Patches are updated with new ones from Debian and Arch (thanks!) - libedit patch dropped because it's upstream now. Signed-off-by: Sebastian Kemper <sebastian_ml@gmx.net>
This commit is contained in:
@@ -1,79 +1,45 @@
|
||||
From f5cf70d9d1dc7f4cbeffb7fb75cbbe08720e3873 Mon Sep 17 00:00:00 2001
|
||||
From: Gustavo Romero <gromero@br.ibm.com>
|
||||
Date: Sun, 26 Mar 2017 15:08:15 +0000
|
||||
Subject: [PATCH] Remove dependency on glibc on PPC
|
||||
|
||||
Remove dependency on glibc by using gcc builtin function and no glibc
|
||||
wrappers.
|
||||
|
||||
Currently there are no surrogates in musl for:
|
||||
|
||||
__ppc_get_timebase()
|
||||
__ppc_set_ppr_low()
|
||||
__ppc_set_ppr_med()
|
||||
|
||||
however glibc __ppc_get_timebase() is just a wrapper for GCC builtin
|
||||
__builtin_get_timebase() available since GCC 4.8 [1], so assuming that
|
||||
aports on ppc64le will never be built using GCC < 4.8 we can just
|
||||
switch directly to the GCC builtin function.
|
||||
|
||||
Also __ppc_set_ppr_{low,med}() are not available on musl but both
|
||||
are simple glibc wrappers on a single asm instruction, hence there
|
||||
is no harm in using asm directly instead. Actually, using asm
|
||||
directly was the first solution adopted in MariaDB [2].
|
||||
|
||||
[1] https://goo.gl/jxLV6O
|
||||
[2] https://goo.gl/9bjuVC
|
||||
|
||||
--- a/storage/xtradb/include/ut0ut.h
|
||||
+++ b/storage/xtradb/include/ut0ut.h
|
||||
@@ -83,9 +83,8 @@ private:
|
||||
the YieldProcessor macro defined in WinNT.h. It is a CPU architecture-
|
||||
independent way by using YieldProcessor. */
|
||||
# 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() ((void)0) /* avoid warning for an empty statement */
|
||||
# endif
|
||||
@@ -99,9 +98,8 @@ private:
|
||||
#endif
|
||||
--- a/include/my_cpu.h
|
||||
+++ b/include/my_cpu.h
|
||||
@@ -24,17 +24,16 @@
|
||||
*/
|
||||
|
||||
# if defined(HAVE_HMT_PRIORITY_INSTRUCTION)
|
||||
#ifdef _ARCH_PWR8
|
||||
-#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)
|
||||
--- a/storage/innobase/include/ut0ut.h
|
||||
+++ b/storage/innobase/include/ut0ut.h
|
||||
@@ -68,9 +68,8 @@ Created 1/20/1994 Heikki Tuuri
|
||||
the YieldProcessor macro defined in WinNT.h. It is a CPU architecture-
|
||||
independent way by using YieldProcessor. */
|
||||
# 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()
|
||||
/* Very low priority */
|
||||
-#define HMT_very_low() __ppc_set_ppr_very_low()
|
||||
+#define HMT_very_low() asm volatile("or 31,31,31")
|
||||
/* Low priority */
|
||||
-#define HMT_low() __ppc_set_ppr_low()
|
||||
+#define HMT_low() asm volatile ("or 1,1,1")
|
||||
/* Medium low priority */
|
||||
-#define HMT_medium_low() __ppc_set_ppr_med_low()
|
||||
+#define HMT_medium_low() asm volatile ("or 6,6,6")
|
||||
/* Medium priority */
|
||||
-#define HMT_medium() __ppc_set_ppr_med()
|
||||
+#define HMT_medium() asm volatile ("or 2,2,2")
|
||||
/* Medium high priority */
|
||||
-#define HMT_medium_high() __ppc_set_ppr_med_high()
|
||||
+#define HMT_medium_high() asm volatile("or 5,5,5")
|
||||
/* High priority */
|
||||
#define HMT_high() asm volatile("or 3,3,3")
|
||||
#else
|
||||
# define UT_RELAX_CPU() do { \
|
||||
volatile int32 volatile_var; \
|
||||
@@ -88,9 +87,8 @@ Created 1/20/1994 Heikki Tuuri
|
||||
@@ -72,7 +71,7 @@ static inline void MY_RELAX_CPU(void)
|
||||
__asm__ __volatile__ ("pause");
|
||||
#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")
|
||||
#elif defined(_ARCH_PWR8)
|
||||
- __ppc_get_timebase();
|
||||
+ __builtin_ppc_get_timebase();
|
||||
#else
|
||||
# define UT_LOW_PRIORITY_CPU() ((void)0)
|
||||
# define UT_RESUME_PRIORITY_CPU() ((void)0)
|
||||
int32 var, oldval = 0;
|
||||
my_atomic_cas32_strong_explicit(&var, &oldval, 1, MY_MEMORY_ORDER_RELAXED,
|
||||
--- a/storage/tokudb/PerconaFT/portability/toku_time.h
|
||||
+++ b/storage/tokudb/PerconaFT/portability/toku_time.h
|
||||
@@ -124,7 +124,7 @@ static inline tokutime_t toku_time_now(v
|
||||
__asm __volatile__ ("mrs %[rt], cntvct_el0" : [rt] "=r" (result));
|
||||
return result;
|
||||
#elif defined(__powerpc__)
|
||||
- return __ppc_get_timebase();
|
||||
+ return __builtin_ppc_get_timebase();
|
||||
#else
|
||||
#error No timer implementation for this platform
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user