svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/configure.in branches/PHP_5_3/ext/standard/php_crypt_r.c branches/PHP_5_4/NEWS
branches/PHP_5_4/configure.in branches/PHP_5_4/ext/standard/php_crypt_r.c trunk/configure.in trunk/ext/standard/php_crypt_r.c
| From: | Felipe Pena | Date: | Tue, 15 Nov 2011 20:33:26 +0000 |
| Subject: | svn: /php/php-src/ branches/PHP_5_3/NEWS branches/PHP_5_3/configure.in branches/PHP_5_3/ext/standard/php_crypt_r.c branches/PHP_5_4/NEWS branches/PHP_5_4/configure.in branches/PHP_5_4/ext/standard/php_crypt_r.c trunk/configure.in trunk/ext/standard/php_crypt_r.c |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-66997@lists.php.net to get a copy of this message | ||
felipe Tue, 15 Nov 2011 20:33:26 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=319271
Log:
- Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs)
patch by: klightspeed at netspace dot net dot au
Bug: https://bugs.php.net/55874 (Open) GCC does not provide
__sync_fetch_and_add on some archs
Changed paths:
U php/php-src/branches/PHP_5_3/NEWS
U php/php-src/branches/PHP_5_3/configure.in
U php/php-src/branches/PHP_5_3/ext/standard/php_crypt_r.c
U php/php-src/branches/PHP_5_4/NEWS
U php/php-src/branches/PHP_5_4/configure.in
U php/php-src/branches/PHP_5_4/ext/standard/php_crypt_r.c
U php/php-src/trunk/configure.in
U php/php-src/trunk/ext/standard/php_crypt_r.c
Modified: php/php-src/branches/PHP_5_3/NEWS
===================================================================
--- php/php-src/branches/PHP_5_3/NEWS 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/branches/PHP_5_3/NEWS 2011-11-15 20:33:26 UTC (rev 319271)
@@ -3,6 +3,8 @@
?? ??? 2011, PHP 5.3.9
- Core:
+ . Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs).
+ (klightspeed at netspace dot net dot au)
. Fixed bug #52624 (tempnam() by-pass open_basedir with inexistent directory).
(Felipe)
Modified: php/php-src/branches/PHP_5_3/configure.in
===================================================================
--- php/php-src/branches/PHP_5_3/configure.in 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/branches/PHP_5_3/configure.in 2011-11-15 20:33:26 UTC (rev 319271)
@@ -661,6 +661,13 @@
AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
fi
+dnl Check for the __sync_fetch_and_add builtin
+AC_CACHE_CHECK([for __sync_fetch_and_add], ac_cv_func_sync_fetch_and_add,
+[AC_TRY_LINK([],[int
x;__sync_fetch_and_add(&x,1);],ac_cv_func_sync_fetch_and_add=yes,ac_cv_func_sync_fetch_and_add=no)])
+if test "$ac_cv_func_sync_fetch_and_add" = yes; then
+ AC_DEFINE(HAVE_SYNC_FETCH_AND_ADD,1,[Define if you have the __sync_fetch_and_add function])
+fi
+
AC_REPLACE_FUNCS(strlcat strlcpy getopt)
AC_FUNC_UTIME_NULL
AC_FUNC_ALLOCA
Modified: php/php-src/branches/PHP_5_3/ext/standard/php_crypt_r.c
===================================================================
--- php/php-src/branches/PHP_5_3/ext/standard/php_crypt_r.c 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/branches/PHP_5_3/ext/standard/php_crypt_r.c 2011-11-15 20:33:26 UTC (rev 319271)
@@ -94,8 +94,7 @@
if (!initialized) {
#ifdef PHP_WIN32
InterlockedIncrement(&initialized);
-#elif (defined(__GNUC__) && !defined(__hpux) && !defined(__hppa__) &&
(__GNUC__ > 4 || \
- (__GNUC__ == 4 && (__GNUC_MINOR__ > 1 || (__GNUC_MINOR__ == 1 &&
__GNUC_PATCHLEVEL__ > 1)))))
+#elif defined(HAVE_SYNC_FETCH_AND_ADD)
__sync_fetch_and_add(&initialized, 1);
#elif defined(HAVE_ATOMIC_H) /* Solaris 10 defines atomic API within */
membar_producer();
Modified: php/php-src/branches/PHP_5_4/NEWS
===================================================================
--- php/php-src/branches/PHP_5_4/NEWS 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/branches/PHP_5_4/NEWS 2011-11-15 20:33:26 UTC (rev 319271)
@@ -5,6 +5,8 @@
- Core:
. Fixed bug #60227 (header() cannot detect the multi-line header with
CR(0x0D)). (rui)
+ . Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs).
+ (klightspeed at netspace dot net dot au)
. Fixed bug #52624 (tempnam() by-pass open_basedir with inexistent directory).
(Felipe)
Modified: php/php-src/branches/PHP_5_4/configure.in
===================================================================
--- php/php-src/branches/PHP_5_4/configure.in 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/branches/PHP_5_4/configure.in 2011-11-15 20:33:26 UTC (rev 319271)
@@ -737,6 +737,13 @@
AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
fi
+dnl Check for the __sync_fetch_and_add builtin
+AC_CACHE_CHECK([for __sync_fetch_and_add], ac_cv_func_sync_fetch_and_add,
+[AC_TRY_LINK([],[int
x;__sync_fetch_and_add(&x,1);],ac_cv_func_sync_fetch_and_add=yes,ac_cv_func_sync_fetch_and_add=no)])
+if test "$ac_cv_func_sync_fetch_and_add" = yes; then
+ AC_DEFINE(HAVE_SYNC_FETCH_AND_ADD,1,[Define if you have the __sync_fetch_and_add function])
+fi
+
AC_REPLACE_FUNCS(strlcat strlcpy getopt)
AC_FUNC_UTIME_NULL
AC_FUNC_ALLOCA
Modified: php/php-src/branches/PHP_5_4/ext/standard/php_crypt_r.c
===================================================================
--- php/php-src/branches/PHP_5_4/ext/standard/php_crypt_r.c 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/branches/PHP_5_4/ext/standard/php_crypt_r.c 2011-11-15 20:33:26 UTC (rev 319271)
@@ -94,8 +94,7 @@
if (!initialized) {
#ifdef PHP_WIN32
InterlockedIncrement(&initialized);
-#elif (defined(__GNUC__) && !defined(__hpux) && !defined(__hppa__) &&
(__GNUC__ > 4 || \
- (__GNUC__ == 4 && (__GNUC_MINOR__ > 1 || (__GNUC_MINOR__ == 1 &&
__GNUC_PATCHLEVEL__ > 1)))))
+#elif defined(HAVE_SYNC_FETCH_AND_ADD)
__sync_fetch_and_add(&initialized, 1);
#elif defined(HAVE_ATOMIC_H) /* Solaris 10 defines atomic API within */
membar_producer();
Modified: php/php-src/trunk/configure.in
===================================================================
--- php/php-src/trunk/configure.in 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/trunk/configure.in 2011-11-15 20:33:26 UTC (rev 319271)
@@ -737,6 +737,13 @@
AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
fi
+dnl Check for the __sync_fetch_and_add builtin
+AC_CACHE_CHECK([for __sync_fetch_and_add], ac_cv_func_sync_fetch_and_add,
+[AC_TRY_LINK([],[int
x;__sync_fetch_and_add(&x,1);],ac_cv_func_sync_fetch_and_add=yes,ac_cv_func_sync_fetch_and_add=no)])
+if test "$ac_cv_func_sync_fetch_and_add" = yes; then
+ AC_DEFINE(HAVE_SYNC_FETCH_AND_ADD,1,[Define if you have the __sync_fetch_and_add function])
+fi
+
AC_REPLACE_FUNCS(strlcat strlcpy getopt)
AC_FUNC_UTIME_NULL
AC_FUNC_ALLOCA
Modified: php/php-src/trunk/ext/standard/php_crypt_r.c
===================================================================
--- php/php-src/trunk/ext/standard/php_crypt_r.c 2011-11-15 20:32:03 UTC (rev 319270)
+++ php/php-src/trunk/ext/standard/php_crypt_r.c 2011-11-15 20:33:26 UTC (rev 319271)
@@ -94,8 +94,7 @@
if (!initialized) {
#ifdef PHP_WIN32
InterlockedIncrement(&initialized);
-#elif (defined(__GNUC__) && !defined(__hpux) && !defined(__hppa__) &&
(__GNUC__ > 4 || \
- (__GNUC__ == 4 && (__GNUC_MINOR__ > 1 || (__GNUC_MINOR__ == 1 &&
__GNUC_PATCHLEVEL__ > 1)))))
+#elif defined(HAVE_SYNC_FETCH_AND_ADD)
__sync_fetch_and_add(&initialized, 1);
#elif defined(HAVE_ATOMIC_H) /* Solaris 10 defines atomic API within */
membar_producer();