fat                                      Wed, 01 Sep 2010 08:17:18 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=302965

Log:
- Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they 
were not available).

Bug: http://bugs.php.net/52725 (Analyzed) gcc builtin atomic functions are 
sometimes used when they are not available
      
Changed paths:
    U   php/php-src/branches/PHP_5_3/NEWS
    U   php/php-src/branches/PHP_5_3/sapi/fpm/config.m4
    U   php/php-src/branches/PHP_5_3/sapi/fpm/fpm/fpm_atomic.h
    U   php/php-src/trunk/sapi/fpm/config.m4
    U   php/php-src/trunk/sapi/fpm/fpm/fpm_atomic.h

Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS   2010-09-01 02:34:15 UTC (rev 302964)
+++ php/php-src/branches/PHP_5_3/NEWS   2010-09-01 08:17:18 UTC (rev 302965)
@@ -17,6 +17,8 @@
 - Fixed possible crash in mssql_fetch_batch(). (Kalle)
 - Fixed inconsistent backlog default value (-1) in FPM on many systems. (fat)

+- Fixed bug #52725 (gcc builtin atomic functions were sometimes used when they
+  were not available). (fat)
 - Fixed bug #52745 (Binding params doesn't work when selecting a date inside a
   CASE-WHEN). (Andrey)
 - Fixed bug #52699 (PDO bindValue writes long int 32bit enum).

Modified: php/php-src/branches/PHP_5_3/sapi/fpm/config.m4
===================================================================
--- php/php-src/branches/PHP_5_3/sapi/fpm/config.m4     2010-09-01 02:34:15 UTC 
(rev 302964)
+++ php/php-src/branches/PHP_5_3/sapi/fpm/config.m4     2010-09-01 08:17:18 UTC 
(rev 302965)
@@ -499,6 +499,24 @@
   fi

 ])
+
+AC_DEFUN([AC_FPM_BUILTIN_ATOMIC],
+[
+  AC_MSG_CHECKING([if gcc supports __sync_bool_compare_and_swap])
+  AC_TRY_LINK(,
+  [
+    int variable = 1;
+    return (__sync_bool_compare_and_swap(&variable, 1, 2)
+           && __sync_add_and_fetch(&variable, 1)) ? 1 : 0;
+  ],
+  [
+    AC_MSG_RESULT([yes])
+    AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Define to 1 if gcc supports 
__sync_bool_compare_and_swap() a.o.])
+  ],
+  [
+    AC_MSG_RESULT([no])
+  ])
+])
 dnl }}}

 AC_MSG_CHECKING(for FPM build)
@@ -518,6 +536,7 @@
   AC_FPM_PRCTL
   AC_FPM_CLOCK
   AC_FPM_TRACE
+  AC_FPM_BUILTIN_ATOMIC

   PHP_ARG_WITH(fpm-user,,
   [  --with-fpm-user[=USER]  Set the user for php-fpm to run as. (default: 
nobody)], nobody, no)

Modified: php/php-src/branches/PHP_5_3/sapi/fpm/fpm/fpm_atomic.h
===================================================================
--- php/php-src/branches/PHP_5_3/sapi/fpm/fpm/fpm_atomic.h      2010-09-01 
02:34:15 UTC (rev 302964)
+++ php/php-src/branches/PHP_5_3/sapi/fpm/fpm/fpm_atomic.h      2010-09-01 
08:17:18 UTC (rev 302965)
@@ -12,7 +12,7 @@
 #endif
 #include <sched.h>

-#if (__GNUC__) && (__GNUC__ >= 4 &&  __GNUC_MINOR__ >= 1)
+#ifdef HAVE_BUILTIN_ATOMIC

 /**
  * all the cases below (as provided by upstream) define:

Modified: php/php-src/trunk/sapi/fpm/config.m4
===================================================================
--- php/php-src/trunk/sapi/fpm/config.m4        2010-09-01 02:34:15 UTC (rev 
302964)
+++ php/php-src/trunk/sapi/fpm/config.m4        2010-09-01 08:17:18 UTC (rev 
302965)
@@ -499,6 +499,24 @@
   fi

 ])
+
+AC_DEFUN([AC_FPM_BUILTIN_ATOMIC],
+[
+  AC_MSG_CHECKING([if gcc supports __sync_bool_compare_and_swap])
+  AC_TRY_LINK(,
+  [
+    int variable = 1;
+    return (__sync_bool_compare_and_swap(&variable, 1, 2)
+           && __sync_add_and_fetch(&variable, 1)) ? 1 : 0;
+  ],
+  [
+    AC_MSG_RESULT([yes])
+    AC_DEFINE(HAVE_BUILTIN_ATOMIC, 1, [Define to 1 if gcc supports 
__sync_bool_compare_and_swap() a.o.])
+  ],
+  [
+    AC_MSG_RESULT([no])
+  ])
+])
 dnl }}}

 AC_MSG_CHECKING(for FPM build)
@@ -518,6 +536,7 @@
   AC_FPM_PRCTL
   AC_FPM_CLOCK
   AC_FPM_TRACE
+  AC_FPM_BUILTIN_ATOMIC

   PHP_ARG_WITH(fpm-user,,
   [  --with-fpm-user[=USER]  Set the user for php-fpm to run as. (default: 
nobody)], nobody, no)

Modified: php/php-src/trunk/sapi/fpm/fpm/fpm_atomic.h
===================================================================
--- php/php-src/trunk/sapi/fpm/fpm/fpm_atomic.h 2010-09-01 02:34:15 UTC (rev 
302964)
+++ php/php-src/trunk/sapi/fpm/fpm/fpm_atomic.h 2010-09-01 08:17:18 UTC (rev 
302965)
@@ -12,7 +12,7 @@
 #endif
 #include <sched.h>

-#if (__GNUC__) && (__GNUC__ >= 4 &&  __GNUC_MINOR__ >= 1)
+#ifdef HAVE_BUILTIN_ATOMIC

 /**
  * all the cases below (as provided by upstream) define:

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to