pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: pkgsrc/www/ap-php



On Fri, Jul 27, 2018 at 07:11:10AM +0000, Emmanuel Dreyfus wrote:
> On Fri, Jul 27, 2018 at 02:43:07AM +0000, maya%netbsd.org@localhost wrote:
> > I fixed this problem in the PHP package. I hope it fixes your problem
> > too. I don't know how to bump enough PKGREVISIONs to ensure PHP is also
> > rebuilt.
> 
> You note modules are also affected. What is the impact of the problem
> beyond build failure?

GCC has an extension that allows to specify that a variable is stored in
a particular machine register.
PHP on i386 uses the following globals:

%esi for zend_execute_data
%edi for zend_op

So GCC must not accidentally use these registers for it to work out.
On i386 on top of having few registers, there are instructions which
always modify these registers, so the compiler has to know not to
use those instructions.

Somehow it worked to just require GCC 4.9 at the time of the bug report.
But now some things changed and we seem to need ever-newer compilers.
I'm not sure this GCC feature works :-)

For portability reasons, there's code for not using it completely and it
seems to work fine.



Home | Main Index | Thread Index | Old Index