From add425e11e6c7c7550edb92dcd1f976345470c8b Mon Sep 17 00:00:00 2001 From: Craig Comstock Date: Thu, 29 Aug 2024 14:22:02 -0500 Subject: [PATCH] Fixed various php compilation problems: - Modified php building for buggy old toolchains https://github.com/php/php-src/issues/12774 https://sourceware.org/bugzilla/show_bug.cgi?id=23169 - Patched php configure script for ubuntu-16 old gcc version 5 The check in php/build/php.m4 is not sufficient to guard for gcc 5 on ubuntu 16 Ticket: ENT-12140 Changelog: none. --- deps-packaging/php/cfbuild-php.spec | 2 +- deps-packaging/php/debian/rules | 3 ++- .../php/old-gcc-check-avx512-better.patch | 21 +++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 deps-packaging/php/old-gcc-check-avx512-better.patch diff --git a/deps-packaging/php/cfbuild-php.spec b/deps-packaging/php/cfbuild-php.spec index 975400e46..c0baba5f1 100644 --- a/deps-packaging/php/cfbuild-php.spec +++ b/deps-packaging/php/cfbuild-php.spec @@ -34,7 +34,7 @@ fi --with-iconv \ --with-zlib=%{prefix} \ --with-libmbfl=%{prefix} \ - --enable-mbstring \ + --enable-mbstring=shared \ --enable-sockets \ --disable-mbregex \ --without-fpm-user \ diff --git a/deps-packaging/php/debian/rules b/deps-packaging/php/debian/rules index 94eaf588d..01694bc45 100755 --- a/deps-packaging/php/debian/rules +++ b/deps-packaging/php/debian/rules @@ -12,6 +12,7 @@ build: build-stamp build-stamp: dh_testdir + patch -p0 < $(CURDIR)/old-gcc-check-avx512-better.patch ./configure --prefix=$(PREFIX)/httpd/php \ --with-config-file-scan-dir=$(PREFIX)/httpd/php/lib \ --with-apxs2=$(PREFIX)/httpd/bin/apxs \ @@ -22,7 +23,7 @@ build-stamp: --with-iconv \ --with-zlib=$(PREFIX) \ --with-libmbfl=$(PREFIX) \ ---enable-mbstring \ +--enable-mbstring=shared \ --enable-sockets \ --disable-mbregex \ --without-fpm-user \ diff --git a/deps-packaging/php/old-gcc-check-avx512-better.patch b/deps-packaging/php/old-gcc-check-avx512-better.patch new file mode 100644 index 000000000..c64294296 --- /dev/null +++ b/deps-packaging/php/old-gcc-check-avx512-better.patch @@ -0,0 +1,21 @@ +--- configure.old ++++ configure +@@ -18114,6 +18114,10 @@ printf %s "checking for avx512 supports in compiler... " >&6; } + #include + int main(void) { + __m512i mask = _mm512_set1_epi32(0x1); ++ __builtin_cpu_supports("avx512dq"); ++ __builtin_cpu_supports("avx512cd"); ++ __builtin_cpu_supports("avx512bw"); ++ __builtin_cpu_supports("avx512vl"); + char out[32]; + _mm512_storeu_si512(out, _mm512_shuffle_epi8(mask, mask)); + return 0; +@@ -18152,6 +18156,7 @@ printf %s "checking for avx512 vbmi supports in compiler... " >&6; } + + #include + int main(void) { ++ __builtin_cpu_supports("avx512vbmi"); + __m512i mask = _mm512_set1_epi32(0x1); + char out[32]; + _mm512_storeu_si512(out, _mm512_permutexvar_epi8(mask, mask));