php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #55874 GCC does not provide __sync_fetch_and_add on some archs
Submitted: 2011-10-08 15:48 UTC Modified: 2011-11-15 20:35 UTC
From: klightspeed at netspace dot net dot au Assigned: felipe
Status: Closed Package: Compile Failure
PHP Version: trunk-SVN-2011-10-08 (SVN) OS: Linux
Private report: No CVE-ID:
 [2011-10-08 15:48 UTC] klightspeed at netspace dot net dot au
Description:
------------
Compilation currently fails on architectures without support for interlocked add, compare and swap, or a kernel cmpxchg helper, which includes:
  * PA-RISC with anything other than Linux
  * SPARCv7 and lower
  * ARM with GCC < 4.3
  * ARMv5 and lower with anything other than Linux
  * MIPS1

ext/standard/php_crypt_r.c currently tries to use __sync_fetch_and_add when the compiler is at least GCC 4.1.2 and the OS is neither HP-UX nor HP-PA.

Realistically, it should check that __sync_fetch_and_add is actually provided by the compiler.



Patches

check-if-__sync_fetch_and_add-is-provided (last revision 2011-10-08 15:51 UTC) by klightspeed at netspace dot net dot au)

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-11-15 20:33 UTC] felipe@php.net
Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&amp;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
 [2011-11-15 20:35 UTC] felipe@php.net
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.

Thanks for the patch!
 [2011-11-15 20:35 UTC] felipe@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: felipe
 [2012-04-18 09:47 UTC] laruence@php.net
Automatic comment on behalf of felipe
Revision: http://git.php.net/?p=php-src.git;a=commit;h=3d190388382e64e12e7cf501952c98f4e8f71ef8
Log: - Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs)   patch by: klightspeed at netspace dot net dot au
 [2012-07-24 23:38 UTC] rasmus@php.net
Automatic comment on behalf of felipe
Revision: http://git.php.net/?p=php-src.git;a=commit;h=3d190388382e64e12e7cf501952c98f4e8f71ef8
Log: - Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs)   patch by: klightspeed at netspace dot net dot au
 [2013-11-17 09:35 UTC] laruence@php.net
Automatic comment on behalf of felipe
Revision: http://git.php.net/?p=php-src.git;a=commit;h=3d190388382e64e12e7cf501952c98f4e8f71ef8
Log: - Fixed bug #55874 (GCC does not provide __sync_fetch_and_add on some archs)   patch by: klightspeed at netspace dot net dot au
 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Wed Apr 16 04:02:11 2014 UTC