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
