ID: 31358
Updated by: [EMAIL PROTECTED]
Reported By: hawk at pld-linux dot org
-Status: Analyzed
+Status: Assigned
Bug Type: Compile Failure
Operating System: PLD Linux 1.0 running on PowerPC
PHP Version: 4.3.10
-Assigned To:
+Assigned To: sniper
Previous Comments:
------------------------------------------------------------------------
[2005-02-07 10:14:28] [EMAIL PROTECTED]
I guess we need some autoconf-magic experts to make an autoconf resolve
these differences and try to find the right va_copy.
------------------------------------------------------------------------
[2005-01-04 16:02:48] [EMAIL PROTECTED]
va_copy is a C99 invention, so that's why it's not in gcc-2.95.2
(though some older gcc's had a __va_copy). But even in C99 va_copy is
explicitly allowed to be a function not a macro, I can't see any
guarantee that it is defined for the preprocessor as this code assumes.
(C99/7.15.1)
------------------------------------------------------------------------
[2005-01-04 14:35:44] hawk at pld-linux dot org
According to 'gcc -v':
Reading specs from /usr/lib/gcc-lib/ppc-pld-linux/2.95.4/specs
gcc version 2.95.4 20010319 (prerelease)
And yes, there is stdarg.h in
/usr/lib/gcc-lib/ppc-pld-linux/2.95.4/include/stdarg.h
------------------------------------------------------------------------
[2005-01-02 08:58:47] [EMAIL PROTECTED]
Which GCC do you have? It is rather strange va_copy is not defined on
Linux. Do you have stdarg.h anywhere?
------------------------------------------------------------------------
[2004-12-31 19:46:59] hawk at pld-linux dot org
The bug affects only PPC systems with older GCC which don't support
va_copy (sorry, didn't noticed this earlier), the workaround is to
change line 776 of zend.c:
usr_copy = args;
into
memcpy(usr_copy, args, sizeof(va_list));
for these architectures. It seems to work perfectly
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/31358
--
Edit this bug report at http://bugs.php.net/?id=31358&edit=1