[Define to 1 if <sys/user.h> defines struct user_regs_struct])
fi
+AC_MSG_CHECKING([for __NR_membarrier])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
+#include <linux/unistd.h>
+]], [[
+return __NR_membarrier
+]])], [
+ac_have_nr_membarrier=yes
+AC_MSG_RESULT([yes])
+], [
+ac_have_nr_membarrier=no
+AC_MSG_RESULT([no])
+])
+
+AM_CONDITIONAL(HAVE_NR_MEMBARRIER, [test x$ac_have_nr_membarrier = xyes])
#----------------------------------------------------------------------------
# Checking for supported compiler flags.
brk-overflow1.stderr.exp brk-overflow1.vgtest \
brk-overflow2.stderr.exp brk-overflow2.vgtest \
clonev.stdout.exp clonev.stderr.exp clonev.vgtest \
+ membarrier.sterr.exp membarrier.vgtest \
mremap.stderr.exp mremap.stderr.exp-glibc27 mremap.stdout.exp \
mremap.vgtest \
mremap2.stderr.exp mremap2.stdout.exp mremap2.vgtest \
pthread-stack \
stack-overflow
+if HAVE_NR_MEMBARRIER
+ check_PROGRAMS += membarrier
+endif
+
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
--- /dev/null
+#include <stdio.h>
+#include <unistd.h>
+#include <linux/unistd.h>
+
+int main(int argc, char **argv)
+{
+ syscall(__NR_membarrier, 0/*query*/);
+ fprintf(stderr, "Done.\n");
+ return 0;
+}
--- /dev/null
+prog: membarrier