mirror of
https://github.com/php/php-src.git
synced 2024-11-28 12:26:37 +08:00
- Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs)
patch by: klightspeed at netspace dot net dot au
This commit is contained in:
parent
b6530d8978
commit
42776c0259
2
NEWS
2
NEWS
@ -3,6 +3,8 @@ PHP NEWS
|
||||
?? ??? 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)
|
||||
|
||||
|
@ -661,6 +661,13 @@ if test "$ac_cv_func_getaddrinfo" = yes; then
|
||||
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
|
||||
|
@ -94,8 +94,7 @@ void _crypt_extended_init_r(void)
|
||||
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();
|
||||
|
Loading…
Reference in New Issue
Block a user