Bug #55231 [Opn->Fbk]: Unsatisfied symbols __sync_fetch_and_add_4
| From: | pajoye@php.net | Date: | Mon, 18 Jul 2011 12:54:21 +0000 |
| Subject: | Bug #55231 [Opn->Fbk]: Unsatisfied symbols __sync_fetch_and_add_4 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-161963@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=55231&edit=1
ID: 55231
Updated by: pajoye@php.net
Reported by: php at dactar dot ch
Summary: Unsatisfied symbols __sync_fetch_and_add_4
-Status: Open
+Status: Feedback
Type: Bug
Package: *Compile Issues
Operating System: HP-UX 11.11
PHP Version: 5.3.7RC3
Block user comment: N
Private report: N
New Comment:
Thanks for your feedback.
Please provide a patch (svn diff -u) and add a test for HPUX11 as well as this
code is perfectly valid on other (almost all) platforms using gcc.
Previous Comments:
------------------------------------------------------------------------
[2011-07-18 08:32:05] php at dactar dot ch
Description:
------------
Hello,
I've compiled PHP 5.3.7 RC3 on HP-UX 11.11 with gcc 4.1.2 and following parameters :
./configure --with-config-file-path=/path/to/etc/php --with-imap=/path/to/imap --with-imap-ssl=/usr
--with-libxml-dir=/path/to/libxml2 --with-gd --with-png-dir=/path/to/libpng
--with-jpeg-dir=/path/to/jpeg --with-ldap --prefix=/path/to/php --with-ncurses=/path/to/ncurses
--with-freetype-dir=/path/to/freetype
I've this error after make :
/usr/ccs/bin/ld: Unsatisfied symbols:
__sync_fetch_and_add_4 (first referenced in ext/standard/php_crypt_r.o) (code)
collect2: ld returned 1 exit status
*** Error exit code 1
It works fine with PHP 5.3.6 but not with PHP 5.3.7 RC3.
The diff between 5.3.6 and PHP 5.3.7 RC3 for ext/standard/php_crypt_r.c is :
1c1
< /* $Id: php_crypt_r.c 311390 2011-05-24 13:48:04Z pajoye $ */
---
> /* $Id: php_crypt_r.c 306939 2011-01-01 02:19:59Z felipe $ */
97c97
< #elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 1))
---
> #elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 2))
200c200
< dwHashLen = 16;
---
> dwHashLen = pwl + sl + pwl;
I've resolved the situation by return back for line 97 from
#elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 1))
__sync_fetch_and_add(&initialized, 1);
to
#elif (defined(__GNUC__) && (__GNUC__ >= 4 && __GNUC_MINOR__ >= 2))
__sync_fetch_and_add(&initialized, 1);
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=55231&edit=1