Edit report at https://bugs.php.net/bug.php?id=55231&edit=1

 ID:                 55231
 User updated by:    php at dactar dot ch
 Reported by:        php at dactar dot ch
 Summary:            Unsatisfied symbols __sync_fetch_and_add_4
-Status:             Feedback
+Status:             Open
 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:

Hello pajoye.

I can't do that because I don't understand why the 97th line has changed on 24 
may. I don't have low level system / compiler skills to be exactly sure what 
I'm doing and how to correct that properly.

I can however test any patch and validate it.

Thanks for your help, 

@++ 
JC


Previous Comments:
------------------------------------------------------------------------
[2011-07-18 08:54:21] paj...@php.net

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.

------------------------------------------------------------------------
[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

Reply via email to