|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2004-12-31 19:46 UTC] hawk at pld-linux dot org
[2005-01-02 08:58 UTC] stas@php.net
[2005-01-04 14:35 UTC] hawk at pld-linux dot org
[2005-01-04 16:02 UTC] jorton@php.net
[2005-02-07 10:14 UTC] stas@php.net
[2005-06-18 23:44 UTC] sniper@php.net
[2005-06-28 00:06 UTC] sniper@php.net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Thu Oct 30 22:00:01 2025 UTC |
Description: ------------ The compilation of PHP 4.3.10 fails on Linux running on PowerPC with following error: /home/users/builder/rpm/BUILD/php-4.3.10/Zend/zend.c -o Zend/zend.lo /home/users/builder/rpm/BUILD/php-4.3.10/Zend/zend.c: In function `zend_error': /home/users/builder/rpm/BUILD/php-4.3.10/Zend/zend.c:776: incompatible types in assignment make: *** [Zend/zend.lo] Error 1 Following code change is reponsible for this bug: cvs diff -u -r 1.162.2.21 -r 1.162.2.22 Zend/zend.c Line 776 is: usr_copy = args; where both usr_copy and args are of type va_list. Such code will not compile on Linux on PowerPC (and probably on some other architectures too) because va_list is struct here. I know only two ways for fixing it. One is to use va_copy, but I'm not sure if its safe to change following portion of code: #if defined(va_copy) va_copy(usr_copy, args); #else usr_copy = args; #endif just into: va_copy(usr_copy, args); Probably its not safe. The second way is to use usr_copy[0] = args[0]; for the affected architectures, but its not safe either AFAIR. I also suppose that php 5.0.3 is affected too, because it contains same code