Re: PHP 7.3 zif_handler changes

From: Date: Tue, 26 Jun 2018 11:15:32 +0000
Subject: Re: PHP 7.3 zif_handler changes
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-102451@lists.php.net to get a copy of this message
On 26.06.2018 at 08:42, Jan Ehrhardt wrote: > Apparently, there were changes in the zend internal functions handler > (aka zif_handler), but I cannot find any info on it. Neither in the > linked documents, nor in > 6ý,HÅ+ÓYb > ܶ [-https://github.com/php/php-src/blob/php-7.3.0alpha2/UPGRADING.INTERNALS > > I ran into this in at least three extensions, while compiling on Windows > (vc15, x64, nts). > > pcs: > |PCS_Loader.c(575): error C2440: '=': cannot convert from 'zif_handler' to > 'void (__cdecl *)(zend_execute_data *,zval *)' > |PCS_Loader.c(581): error C2440: '=': cannot convert from 'zif_handler' to > 'void (__cdecl *)(zend_execute_data *,zval *)' > |PCS_Loader.c(587): error C2440: '=': cannot convert from 'zif_handler' to > 'void (__cdecl *)(zend_execute_data *,zval *)' > > pecl_http: > |php_http_client_curl_user.c(190): error C2440: '=': cannot convert from 'void > (__cdecl *)(zend_execute_data *,zval *)' to 'zif_handler' > > taint seems to have comparable errors. See > > https://github.com/laruence/taint/commit/9debfe9682d22e172906cd2e7754a8380bf13453#commitcomment-29461798 > > Can this be fixed and/or added to UPGRADING.INTERNALS? Apparently, zif_handler() has been changed to use the ZEND_FASTCALL calling convention[1] which results in this incompatibility. Not sure if that should be reverted, or just documented in UPGRADING.INTERNALS. [1] <https://github.com/php/php-src/commit/f3aca3c852df1dc169e73c01ef1d47927a51a57a> <https://github.com/php/php-src/commit/0673aa7f6182dae11798c7a9055dbfd672d87c01> -- Christoph M. Becker

« previous php.internals (#102451) next »