summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.in15
-rw-r--r--mysys/Makefile.am2
-rw-r--r--sql/Makefile.am2
-rw-r--r--storage/archive/Makefile.am2
-rw-r--r--storage/blackhole/Makefile.am2
-rw-r--r--storage/csv/Makefile.am2
-rw-r--r--storage/example/Makefile.am2
-rw-r--r--storage/federated/Makefile.am2
-rw-r--r--storage/heap/Makefile.am2
-rw-r--r--storage/innobase/include/ut0ut.h4
-rw-r--r--storage/myisam/Makefile.am2
-rw-r--r--storage/myisammrg/Makefile.am2
12 files changed, 29 insertions, 10 deletions
diff --git a/configure.in b/configure.in
index d5a2fe0fe55..9baa574829d 100644
--- a/configure.in
+++ b/configure.in
@@ -2371,9 +2371,24 @@ AC_TRY_RUN([
[x86_pause_exists=no],
[x86_pause_exists=no] # Cross-compile, assume no PAUSE instruction
)
+AC_TRY_RUN([
+ int main() {
+ __asm__ __volatile__ ("rep; nop");
+ return 0;
+ }
+ ],
+ [x86_fake_pause_exists=yes],
+ [x86_fake_pause_exists=no],
+ [x86_fake_pause_exists=no] # Cross-compile, assume no x86 NOP instruction
+)
if test "$x86_pause_exists" = "yes"
then
AC_DEFINE([HAVE_PAUSE_INSTRUCTION], [1], [Does x86 PAUSE instruction exist])
+else
+ if test "$x86_fake_pause_exists" = "yes"
+ then
+ AC_DEFINE([HAVE_FAKE_PAUSE_INSTRUCTION], [1], [Does x86 NOP instruction exist])
+ fi
fi
# Check if pthread_attr_setscope() exists
diff --git a/mysys/Makefile.am b/mysys/Makefile.am
index 045c80f32e4..0329d137c24 100644
--- a/mysys/Makefile.am
+++ b/mysys/Makefile.am
@@ -131,7 +131,7 @@ libmysys_a_LIBADD += probes_mysql.o
libmysys_a_DEPENDENCIES += probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = mf_keycache.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/sql/Makefile.am b/sql/Makefile.am
index d05e0efbcba..d7c35b3eb9a 100644
--- a/sql/Makefile.am
+++ b/sql/Makefile.am
@@ -212,7 +212,7 @@ libndb_la_DEPENDENCIES = dtrace_files dtrace_providers probes_libndb.o
mysqld_LDADD += probes_all.o
mysqld_DEPENDENCIES += dtrace_files dtrace_providers probes_all.o
CLEANFILES += dtrace_files dtrace_providers probes_all.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/archive/Makefile.am b/storage/archive/Makefile.am
index 649d84d8152..621037936fa 100644
--- a/storage/archive/Makefile.am
+++ b/storage/archive/Makefile.am
@@ -72,7 +72,7 @@ libarchive_a_LIBADD = probes_mysql.o
libarchive_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = libarchive_a-ha_archive.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/blackhole/Makefile.am b/storage/blackhole/Makefile.am
index c274ce8f908..63e3d8dd208 100644
--- a/storage/blackhole/Makefile.am
+++ b/storage/blackhole/Makefile.am
@@ -54,7 +54,7 @@ libblackhole_a_LIBADD = probes_mysql.o
libblackhole_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = libblackhole_a-ha_blackhole.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/csv/Makefile.am b/storage/csv/Makefile.am
index fa7f77bd746..52707ff6eb8 100644
--- a/storage/csv/Makefile.am
+++ b/storage/csv/Makefile.am
@@ -47,7 +47,7 @@ libcsv_a_LIBADD = probes_mysql.o
libcsv_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = libcsv_a-ha_tina.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/example/Makefile.am b/storage/example/Makefile.am
index bcf519c67c6..a01230be219 100644
--- a/storage/example/Makefile.am
+++ b/storage/example/Makefile.am
@@ -55,7 +55,7 @@ libexample_a_DEPENDENCIES = probes_mysql.o
CLEANFILES =
BUILT_SOURCES =
DTRACEFILES = libexample_a-ha_example.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/federated/Makefile.am b/storage/federated/Makefile.am
index 25db59dc3ce..3f05b77e092 100644
--- a/storage/federated/Makefile.am
+++ b/storage/federated/Makefile.am
@@ -54,7 +54,7 @@ libfederated_a_LIBADD = probes_mysql.o
libfederated_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = libfederated_a-ha_federated.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/heap/Makefile.am b/storage/heap/Makefile.am
index 5528fec71f1..e7250a9bc45 100644
--- a/storage/heap/Makefile.am
+++ b/storage/heap/Makefile.am
@@ -56,7 +56,7 @@ libheap_a_LIBADD = probes_mysql.o
libheap_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = ha_heap.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/innobase/include/ut0ut.h b/storage/innobase/include/ut0ut.h
index 7bb22de0950..17c5f0a665c 100644
--- a/storage/innobase/include/ut0ut.h
+++ b/storage/innobase/include/ut0ut.h
@@ -20,6 +20,9 @@ typedef time_t ib_time_t;
#ifdef HAVE_PAUSE_INSTRUCTION
#define PAUSE_INSTRUCTION() {__asm__ __volatile__ ("pause");}
#else
+#ifdef HAVE_FAKE_PAUSE_INSTRUCTION
+#define PAUSE_INSTRUCTION() {__asm__ __volatile__ ("rep; nop");}
+#else
#ifdef UNIV_SYNC_ATOMIC
#define PAUSE_INSTRUCTION() \
{ \
@@ -30,6 +33,7 @@ typedef time_t ib_time_t;
#define PAUSE_INSTRUCTION()
#endif
#endif
+#endif
/************************************************************
Gets the high 32 bits in a ulint. That is makes a shift >> 32,
diff --git a/storage/myisam/Makefile.am b/storage/myisam/Makefile.am
index 797d7523301..8009f56fbf9 100644
--- a/storage/myisam/Makefile.am
+++ b/storage/myisam/Makefile.am
@@ -155,7 +155,7 @@ libmyisam_a_LIBADD = probes_mysql.o
libmyisam_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES += probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = ha_myisam.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@
diff --git a/storage/myisammrg/Makefile.am b/storage/myisammrg/Makefile.am
index 2ae808c2011..7a95bd7dab0 100644
--- a/storage/myisammrg/Makefile.am
+++ b/storage/myisammrg/Makefile.am
@@ -45,7 +45,7 @@ libmyisammrg_a_LIBADD = probes_mysql.o
libmyisammrg_a_DEPENDENCIES = probes_mysql.o dtrace_files dtrace_providers
CLEANFILES = probes_mysql.o dtrace_files dtrace_providers
DTRACEFILES = ha_myisammrg.o
-DTRACEPROVIDER = $(abs_top_srcdir)/sql/probes_mysql.d
+DTRACEPROVIDER = $(top_srcdir)/sql/probes_mysql.d
dtrace_files:
echo $(DTRACEFILES) > $@