Le 19/01/2022 à 11:53, Jakub Jelinek a écrit :
On Wed, Jan 19, 2022 at 07:27:44AM +0100, Remi Collet wrote:
> Le 14/01/2022 à 15:31, Jakub Jelinek a écrit :
>> gcc 12 snapshot has landed as the system compiler into rawhide today.
>
> PHP is now FTBFS on s390x only
>
https://koji.fedoraproject.org/koji/taskinfo?taskID=81436437
>
>
> Any help welcome,
> Remi
>
>
> P.S. from build.log
>
>
> /builddir/build/BUILD/php-8.1.2/Zend/zend_variables.h: In function
> 'ZEND_FETCH_OBJ_IS_SPEC_CONST_TMPVAR_HANDLER':
> /builddir/build/BUILD/php-8.1.2/Zend/zend_variables.h:32:32: error: inlining
> failed in call to 'always_inline' 'zval_ptr_dtor_nogc': target
specific
> option mismatch
> 32 | static zend_always_inline void zval_ptr_dtor_nogc(zval *zval_ptr)
> | ^~~~~~~~~~~~~~~~~~
> In file included from
> /builddir/build/BUILD/php-8.1.2/Zend/zend_execute.c:5071:
> /builddir/build/BUILD/php-8.1.2/Zend/zend_vm_execute.h:8772:9: note: called
> from here
> 8772 | zval_ptr_dtor_nogc(EX_VAR(opline->op2.var));
> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
That error means that there is difference in the target attribute or #pragma
GCC target between the caller of the always_inline function and the
always_inline function which prevents the inlining (and always_inline
requires to be inlined).
I'd need preprocessed source + gcc command line to say more.
Still failing with 12.0.1-0.2 recently built on rawhide
Trying to disabled the always_inline don't solves the problem
(same issue with memcpy call)
Sorry, but I have no idea how to check the "target" used
can't find anything in the source code
and don't have (simple) access to s390x computer
Remi