Bug #81124 [NEW]: Determination of asm goto capability should be made by phpize configure script

From: Date: Thu, 10 Jun 2021 14:35:44 +0000
Subject: Bug #81124 [NEW]: Determination of asm goto capability should be made by phpize configure script
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-234351@lists.php.net to get a copy of this message
From:             php-bugs-2021 at ryandesign dot com
Operating system: macOS
PHP version:      8.0.7
Package:          *Compile Issues
Bug Type:         Bug
Bug description:Determination of asm goto capability should be made by phpize configure script

Description:
------------
php 7.3.? and later use asm goto in zend_operators.h if HAVE_ASM_GOTO is
set in php_config.h. A problem arises if the compiler that was used to
compile php supports asm goto but the compiler used to compile a
separate php module (with phpize) does not support asm goto. The error
message in that case is e.g.:

/opt/local/include/php73/php/Zend/zend_operators.h:523:10: error:
expected '(' after 'asm'
        __asm__ goto(
                ^

See https://trac.macports.org/ticket/62022 for
the way that this affects
php 7.3.x in MacPorts today, but note that as far as I know the
potential for similar issues continues to exist in all later php
versions too.

A previous bug report about this issue #75951 was closed as not a bug
because of the difference in compilers. While perhaps you would prefer
that all modules be compiled with the same compiler that was used to
compile php, that cannot always be assured. For example, maybe a user
compiles php, then changes their compiler (on macOS, maybe the user
changes their Xcode version -- maybe it is updated for them
automatically by Apple Software Update), then compiles a php module. Or
maybe the choice of compiler is dictated by deficiencies in or
requirements of a particular module (e.g. some require a C++11-capable
compiler and some don't).

php modules compiled with phpize get their own configure scripts, so
presumably it was already recognized that certain determinations must be
made anew for each module. Would it be possible to move or copy the
determination of whether the compiler supports asm goto into this
phpize-generated configure script?


-- 
Edit bug report at https://bugs.php.net/bug.php?id=81124&edit=1
-- 
Fix committed:                    https://bugs.php.net/fix.php?id=81124&r=fixed
Fixed in release:                 https://bugs.php.net/fix.php?id=81124&r=alreadyfixed
Need backtrace:                   https://bugs.php.net/fix.php?id=81124&r=needtrace
Need Reproduce Script:            https://bugs.php.net/fix.php?id=81124&r=needscript
Try newer version:                https://bugs.php.net/fix.php?id=81124&r=oldversion
Not developer issue:              https://bugs.php.net/fix.php?id=81124&r=support
Expected behavior:                https://bugs.php.net/fix.php?id=81124&r=notwrong
Not enough info:                  https://bugs.php.net/fix.php?id=81124&r=notenoughinfo
Submitted twice:                  https://bugs.php.net/fix.php?id=81124&r=submittedtwice
register_globals:                 https://bugs.php.net/fix.php?id=81124&r=globals
PHP version support discontinued: https://bugs.php.net/fix.php?id=81124&r=phptooold
Daylight Savings:                 https://bugs.php.net/fix.php?id=81124&r=dst
IIS Stability:                    https://bugs.php.net/fix.php?id=81124&r=isapi
Install GNU Sed:                  https://bugs.php.net/fix.php?id=81124&r=gnused
Floating point limitations:       https://bugs.php.net/fix.php?id=81124&r=float
No Zend Extensions:               https://bugs.php.net/fix.php?id=81124&r=nozend
MySQL Configuration Error:        https://bugs.php.net/fix.php?id=81124&r=mysqlcfg


Thread (5 messages)

« previous php.bugs (#234351) next »