New m4 function tries to determine if GCC has __sync_fetch_and_or built-in function which performs an atomic bit-wise inclusive OR operation.
Signed-off-by: Alexey Kodanev <[email protected]> --- configure.ac | 1 + m4/ltp-gcc_builtin.m4 | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 0 deletions(-) create mode 100644 m4/ltp-gcc_builtin.m4 diff --git a/configure.ac b/configure.ac index 4846afd..13ef749 100644 --- a/configure.ac +++ b/configure.ac @@ -170,5 +170,6 @@ LTP_CHECK_FS_IOC_FLAGS LTP_CHECK_MREMAP_FIXED LTP_CHECK_KERNEL_DEVEL LTP_CHECK_XFS_QUOTACTL +LTP_CHECK_GCC_BUILTIN AC_OUTPUT diff --git a/m4/ltp-gcc_builtin.m4 b/m4/ltp-gcc_builtin.m4 new file mode 100644 index 0000000..371fea7 --- /dev/null +++ b/m4/ltp-gcc_builtin.m4 @@ -0,0 +1,43 @@ +dnl Copyright (c) 2013 Oracle and/or its affiliates. All Rights Reserved. +dnl +dnl This program is free software; you can redistribute it and/or +dnl modify it under the terms of the GNU General Public License as +dnl published by the Free Software Foundation; either version 2 of +dnl the License, or (at your option) any later version. +dnl +dnl This program is distributed in the hope that it would be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write the Free Software Foundation, +dnl Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +dnl +dnl Author: Alexey Kodanev <[email protected]> +dnl + +dnl +dnl LTP_CHECK_GCC_BUILTIN +dnl ---------------------------- +dnl Checking for GCC atomic memory access built-in function __sync_fetch_and_or +dnl which performs an atomic bit-wise inclusive OR operation +dnl + +AC_DEFUN([LTP_CHECK_GCC_BUILTIN],[dnl + +AC_MSG_CHECKING([for __sync_fetch_and_or]) + +AC_LINK_IFELSE( + [AC_LANG_PROGRAM([], [int i; return __sync_fetch_and_or(&i, 0);])], + [have_sync_fetch_and_or=yes], + [have_sync_fetch_and_or=no] +) + +AS_IF([test "$have_sync_fetch_and_or" = yes], + AC_DEFINE([HAVE_SYNC_FETCH_AND_OR], [1], + [Define if GCC has __sync_fetch_and_or])) + +AC_MSG_RESULT($have_sync_fetch_and_or) + +]) -- 1.7.1 ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ Ltp-list mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ltp-list
