php: fix how PCRE JIT is disabled
PATCH 1/1 php: fix how PCRE JIT is disabled
When the internal PCRE library of PHP is used, it tries to use a JIT engine, which is only available on some architectures.
However, the mechanism used to disable JIT has changed in recent PHP versions, and it now has a proper --without-pcre-jit option. Switch over to that to properly disable JIT on unsupported platforms.
It has been tested to fix the build of PHP on ARC and Microblaze.
Fixes:
http://autobuild.buildroot.net/results/e1359fcad7bc57e3c5a7ecc37abaa2cf6a6a9ffa/
--- package/php/php.mk | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
package/php/php.mk +4 -6
@@ -228,10 +228,6 @@ ifneq ($(BR2_PACKAGE_PHP_EXT_MYSQLI)$(BR2_PACKAGE_PHP_EXT_PDO_MYSQL),) PHP_CONF_OPTS += --with-mysql-sock=$(MYSQL_SOCKET) endif -define PHP_DISABLE_PCRE_JIT - $(SED) '/^#define SUPPORT_JIT/d' $(@D)/ext/pcre/pcrelib/config.h -endef - define PHP_DISABLE_VALGRIND $(SED) '/^#define HAVE_VALGRIND/d' $(@D)/main/php_config.h endef
@@ -249,8 +245,10 @@ ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),) PHP_CFLAGS += -DSLJIT_SINGLE_THREADED=1 endif # check ext/pcre/pcrelib/sljit/sljitConfigInternal.h for supported archs -ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),) -PHP_POST_CONFIGURE_HOOKS += PHP_DISABLE_PCRE_JIT +ifeq ($(BR2_i386)$(BR2_x86_64)$(BR2_arm)$(BR2_armeb)$(BR2_aarch64)$(BR2_mips)$(BR2_mipsel)$(BR2_mips64)$(BR2_mips64el)$(BR2_powerpc)$(BR2_sparc),y) +PHP_CONF_OPTS += --with-pcre-jit +else +PHP_CONF_OPTS += --without-pcre-jit endif endif
Signature · 1 line
2.14.3
Thomas Petazzoni
AppliedPATCH 1/1 php: fix how PCRE JIT is disabled
Hello,
Quoted 9 lines · Thomas Petazzoni
When the internal PCRE library of PHP is used, it tries to use a JIT engine, which is only available on some architectures.
However, the mechanism used to disable JIT has changed in recent PHP versions, and it now has a proper --without-pcre-jit option. Switch over to that to properly disable JIT on unsupported platforms.
It has been tested to fix the build of PHP on ARC and Microblaze.
Quoted 8 lines
Fixes:
http://autobuild.buildroot.net/results/e1359fcad7bc57e3c5a7ecc37abaa2cf6a6a9ffa/
Signed-off-by Thomas Petazzoni <[email protected]>--- package/php/php.mk | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
Applied to master, thanks.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons) Embedded Linux and Kernel engineering https://bootlin.com
PATCH 1/1 php: fix how PCRE JIT is disabled
In reply to Thomas PetazzoniQuoted 9 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Thomas" == Thomas Petazzoni <[email protected]> writes:
When the internal PCRE library of PHP is used, it tries to use a JIT engine, which is only available on some architectures.
However, the mechanism used to disable JIT has changed in recent PHP versions, and it now has a proper --without-pcre-jit option. Switch over to that to properly disable JIT on unsupported platforms.
Quoted 7 lines
It has been tested to fix the build of PHP on ARC and Microblaze.
Fixes:
http://autobuild.buildroot.net/results/e1359fcad7bc57e3c5a7ecc37abaa2cf6a6a9ffa/
Signed-off-by Thomas Petazzoni <[email protected]>
Committed to 2018.02.x, thanks.
Signature · 1 line
Bye, Peter Korsgaard