aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/mysql/mariadb/plug.in.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe/recipes-support/mysql/mariadb/plug.in.patch')
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/plug.in.patch405
1 files changed, 405 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/mysql/mariadb/plug.in.patch b/meta-oe/recipes-support/mysql/mariadb/plug.in.patch
new file mode 100644
index 0000000000..156fd10823
--- /dev/null
+++ b/meta-oe/recipes-support/mysql/mariadb/plug.in.patch
@@ -0,0 +1,405 @@
+diff --git a/storage/innodb_plugin/plug.in b/storage/innodb_plugin/plug.in
+index 7650251..3cc22c5 100644
+--- a/storage/innodb_plugin/plug.in
++++ b/storage/innodb_plugin/plug.in
+@@ -56,180 +56,10 @@ MYSQL_PLUGIN_ACTIONS(innodb_plugin, [
+ esac
+ AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+
+- AC_MSG_CHECKING(whether GCC atomic builtins are available)
+- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
+- AC_TRY_RUN(
+- [
+- int main()
+- {
+- long x;
+- long y;
+- long res;
+- char c;
+-
+- x = 10;
+- y = 123;
+- res = __sync_bool_compare_and_swap(&x, x, y);
+- if (!res || x != y) {
+- return(1);
+- }
+-
+- x = 10;
+- y = 123;
+- res = __sync_bool_compare_and_swap(&x, x + 1, y);
+- if (res || x != 10) {
+- return(1);
+- }
+-
+- x = 10;
+- y = 123;
+- res = __sync_add_and_fetch(&x, y);
+- if (res != 123 + 10 || x != 123 + 10) {
+- return(1);
+- }
+-
+- c = 10;
+- res = __sync_lock_test_and_set(&c, 123);
+- if (res != 10 || c != 123) {
+- return(1);
+- }
+-
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
+- [GCC atomic builtins are available])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
+- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
+- AC_TRY_RUN(
+- [
+- #include <pthread.h>
+- #include <string.h>
+-
+- int main(int argc, char** argv) {
+- pthread_t x1;
+- pthread_t x2;
+- pthread_t x3;
+-
+- memset(&x1, 0x0, sizeof(x1));
+- memset(&x2, 0x0, sizeof(x2));
+- memset(&x3, 0x0, sizeof(x3));
+-
+- __sync_bool_compare_and_swap(&x1, x2, x3);
+-
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
+- [pthread_t can be used by GCC atomic builtins])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+- AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
+- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following
+- # functions are present.
+- AC_CHECK_FUNCS(atomic_add_long_nv \
+- atomic_cas_32 \
+- atomic_cas_64 \
+- atomic_cas_ulong \
+- atomic_swap_uchar)
+-
+- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \
+- "${ac_cv_func_atomic_cas_32}" = "yes" -a \
+- "${ac_cv_func_atomic_cas_64}" = "yes" -a \
+- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \
+- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then
+-
+- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1],
+- [Define to 1 if Solaris libc atomic functions are available]
+- )
+- fi
+-
+- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
+- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
+- AC_TRY_RUN(
+- [
+- #include <pthread.h>
+- #include <string.h>
+-
+- int main(int argc, char** argv) {
+- pthread_t x1;
+- pthread_t x2;
+- pthread_t x3;
+-
+- memset(&x1, 0x0, sizeof(x1));
+- memset(&x2, 0x0, sizeof(x2));
+- memset(&x3, 0x0, sizeof(x3));
+-
+- if (sizeof(pthread_t) == 4) {
+-
+- atomic_cas_32(&x1, x2, x3);
+-
+- } else if (sizeof(pthread_t) == 8) {
+-
+- atomic_cas_64(&x1, x2, x3);
+-
+- } else {
+-
+- return(1);
+- }
+-
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
+- [pthread_t can be used by solaris atomics])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+ # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
+ # to use in the source
+ AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
+
+- # Check for x86 PAUSE instruction
+- AC_MSG_CHECKING(for x86 PAUSE instruction)
+- # We have to actually try running the test program, because of a bug
+- # in Solaris on x86_64, where it wrongly reports that PAUSE is not
+- # supported when trying to run an application. See
+- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
+- # We use ib_ prefix to avoid collisoins if this code is added to
+- # mysql's configure.in.
+- AC_TRY_RUN(
+- [
+- int main() {
+- __asm__ __volatile__ ("pause");
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+ ])
+
+ # vim: set ft=config:
+diff --git a/storage/xtradb/plug.in b/storage/xtradb/plug.in
+index 3fadacc..a33f4dc 100644
+--- a/storage/xtradb/plug.in
++++ b/storage/xtradb/plug.in
+@@ -56,215 +56,10 @@ MYSQL_PLUGIN_ACTIONS(xtradb, [
+ esac
+ AC_SUBST(INNODB_DYNAMIC_CFLAGS)
+
+- AC_MSG_CHECKING(whether GCC atomic builtins are available)
+- # either define HAVE_IB_GCC_ATOMIC_BUILTINS or not
+- AC_TRY_RUN(
+- [
+- int main()
+- {
+- long x;
+- long y;
+- long res;
+- char c;
+-
+- x = 10;
+- y = 123;
+- res = __sync_bool_compare_and_swap(&x, x, y);
+- if (!res || x != y) {
+- return(1);
+- }
+-
+- x = 10;
+- y = 123;
+- res = __sync_bool_compare_and_swap(&x, x + 1, y);
+- if (res || x != 10) {
+- return(1);
+- }
+-
+- x = 10;
+- y = 123;
+- res = __sync_add_and_fetch(&x, y);
+- if (res != 123 + 10 || x != 123 + 10) {
+- return(1);
+- }
+-
+- c = 10;
+- res = __sync_lock_test_and_set(&c, 123);
+- if (res != 10 || c != 123) {
+- return(1);
+- }
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS], [1],
+- [GCC atomic builtins are available])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+- AC_MSG_CHECKING(whether GCC 64-bit atomic builtins are available)
+- # either define HAVE_IB_GCC_ATOMIC_BUILTINS_64 or not
+- AC_TRY_RUN(
+- [
+- #include <stdint.h>
+- int main()
+- {
+- int64_t x, y, res;
+-
+- x = 10;
+- y = 123;
+- res = __sync_bool_compare_and_swap(&x, x, y);
+- if (!res || x != y) {
+- return(1);
+- }
+-
+- x = 10;
+- y = 123;
+- res = __sync_add_and_fetch(&x, y);
+- if (res != 123 + 10 || x != 123 + 10) {
+- return(1);
+- }
+-
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_GCC_ATOMIC_BUILTINS_64], [1],
+- [GCC 64-bit atomic builtins are available])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+- AC_MSG_CHECKING(whether pthread_t can be used by GCC atomic builtins)
+- # either define HAVE_IB_ATOMIC_PTHREAD_T_GCC or not
+- AC_TRY_RUN(
+- [
+- #include <pthread.h>
+- #include <string.h>
+-
+- int main(int argc, char** argv) {
+- pthread_t x1;
+- pthread_t x2;
+- pthread_t x3;
+-
+- memset(&x1, 0x0, sizeof(x1));
+- memset(&x2, 0x0, sizeof(x2));
+- memset(&x3, 0x0, sizeof(x3));
+-
+- __sync_bool_compare_and_swap(&x1, x2, x3);
+-
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_GCC], [1],
+- [pthread_t can be used by GCC atomic builtins])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+- AC_MSG_CHECKING(whether Solaris libc atomic functions are available)
+- # Define HAVE_IB_SOLARIS_ATOMICS if _all_ of the following
+- # functions are present.
+- AC_CHECK_FUNCS(atomic_add_long_nv \
+- atomic_cas_32 \
+- atomic_cas_64 \
+- atomic_cas_ulong \
+- atomic_swap_uchar)
+-
+- if test "${ac_cv_func_atomic_add_long_nv}" = "yes" -a \
+- "${ac_cv_func_atomic_cas_32}" = "yes" -a \
+- "${ac_cv_func_atomic_cas_64}" = "yes" -a \
+- "${ac_cv_func_atomic_cas_ulong}" = "yes" -a \
+- "${ac_cv_func_atomic_swap_uchar}" = "yes" ; then
+-
+- AC_DEFINE([HAVE_IB_SOLARIS_ATOMICS], [1],
+- [Define to 1 if Solaris libc atomic functions are available]
+- )
+- fi
+-
+- AC_MSG_CHECKING(whether pthread_t can be used by Solaris libc atomic functions)
+- # either define HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS or not
+- AC_TRY_RUN(
+- [
+- #include <pthread.h>
+- #include <string.h>
+-
+- int main(int argc, char** argv) {
+- pthread_t x1;
+- pthread_t x2;
+- pthread_t x3;
+-
+- memset(&x1, 0x0, sizeof(x1));
+- memset(&x2, 0x0, sizeof(x2));
+- memset(&x3, 0x0, sizeof(x3));
+-
+- if (sizeof(pthread_t) == 4) {
+-
+- atomic_cas_32(&x1, x2, x3);
+-
+- } else if (sizeof(pthread_t) == 8) {
+-
+- atomic_cas_64(&x1, x2, x3);
+-
+- } else {
+-
+- return(1);
+- }
+-
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_ATOMIC_PTHREAD_T_SOLARIS], [1],
+- [pthread_t can be used by solaris atomics])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+-
+ # this is needed to know which one of atomic_cas_32() or atomic_cas_64()
+ # to use in the source
+ AC_CHECK_SIZEOF([pthread_t], [], [#include <pthread.h>])
+
+- # Check for x86 PAUSE instruction
+- AC_MSG_CHECKING(for x86 PAUSE instruction)
+- # We have to actually try running the test program, because of a bug
+- # in Solaris on x86_64, where it wrongly reports that PAUSE is not
+- # supported when trying to run an application. See
+- # http://bugs.opensolaris.org/bugdatabase/printableBug.do?bug_id=6478684
+- # We use ib_ prefix to avoid collisoins if this code is added to
+- # mysql's configure.in.
+- AC_TRY_RUN(
+- [
+- int main() {
+- __asm__ __volatile__ ("pause");
+- return(0);
+- }
+- ],
+- [
+- AC_DEFINE([HAVE_IB_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
+- AC_MSG_RESULT(yes)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ],
+- [
+- AC_MSG_RESULT(no)
+- ]
+- )
+ ])
+
+ # vim: set ft=config: