diff --git a/.gitignore b/.gitignore index 10ab3eb..4a74c1a 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ php-7.*.xz /php-7.3.10RC1.tar.xz.asc /php-7.3.10.tar.xz.asc /php-7.4.0RC3.tar.xz.asc +/php-7.4.0RC4.tar.xz.asc diff --git a/php-aarch64.patch b/php-aarch64.patch deleted file mode 100644 index 093597a..0000000 --- a/php-aarch64.patch +++ /dev/null @@ -1,88 +0,0 @@ -From d81eb77b4aaf579c151f7d16eef807838fcef9cc Mon Sep 17 00:00:00 2001 -From: Nikita Popov -Date: Wed, 2 Oct 2019 14:41:02 +0200 -Subject: [PATCH] Fix AArch64 build - ---- - ext/standard/crc32.c | 49 ++++++++++++++++++++++++++++--------------------- - 1 file changed, 28 insertions(+), 21 deletions(-) - -diff --git a/ext/standard/crc32.c b/ext/standard/crc32.c -index 904ea25ff79..853c95ef54f 100644 ---- a/ext/standard/crc32.c -+++ b/ext/standard/crc32.c -@@ -21,7 +21,6 @@ - #include "crc32.h" - - #if defined(__aarch64__) --# pragma GCC target ("+nothing+crc") - # include - # if defined(__linux__) - # include -@@ -44,6 +43,31 @@ static inline int has_crc32_insn() { - return res; - # endif - } -+ -+# pragma GCC push_options -+# pragma GCC target ("+nothing+crc") -+static uint32_t crc32_aarch64(uint32_t crc, char *p, size_t nr) { -+ while (nr >= sizeof(uint64_t)) { -+ crc = __crc32d(crc, *(uint64_t *)p); -+ p += sizeof(uint64_t); -+ nr -= sizeof(uint64_t); -+ } -+ if (nr >= sizeof(int32_t)) { -+ crc = __crc32w(crc, *(uint32_t *)p); -+ p += sizeof(uint32_t); -+ nr -= sizeof(uint32_t); -+ } -+ if (nr >= sizeof(int16_t)) { -+ crc = __crc32h(crc, *(uint16_t *)p); -+ p += sizeof(uint16_t); -+ nr -= sizeof(uint16_t); -+ } -+ if (nr) { -+ crc = __crc32b(crc, *p); -+ } -+ return crc; -+} -+# pragma GCC pop_options - #endif - - /* {{{ proto string crc32(string str) -@@ -63,28 +87,11 @@ PHP_NAMED_FUNCTION(php_if_crc32) - - #if defined(__aarch64__) - if (has_crc32_insn()) { -- while(nr >= sizeof(uint64_t)) { -- crc = __crc32d(crc, *(uint64_t *)p); -- p += sizeof(uint64_t); -- nr -= sizeof(uint64_t); -- } -- if (nr >= sizeof(int32_t)) { -- crc = __crc32w(crc, *(uint32_t *)p); -- p += sizeof(uint32_t); -- nr -= sizeof(uint32_t); -- } -- if (nr >= sizeof(int16_t)) { -- crc = __crc32h(crc, *(uint16_t *)p); -- p += sizeof(uint16_t); -- nr -= sizeof(uint16_t); -- } -- if (nr) { -- crc = __crc32b(crc, *p); -- p += sizeof(uint8_t); -- nr -= sizeof(uint8_t); -- } -+ crc = crc32_aarch64(crc, p, nr); -+ RETVAL_LONG(crc^0xFFFFFFFF); - } - #endif -+ - for (; nr--; ++p) { - crc = ((crc >> 8) & 0x00FFFFFF) ^ crc32tab[(crc ^ (*p)) & 0xFF ]; - } --- -2.11.0 - diff --git a/php-librt.patch b/php-librt.patch deleted file mode 100644 index 6d99fb0..0000000 --- a/php-librt.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 78247eb2209b14c3c1273189dfa2615e2df21214 Mon Sep 17 00:00:00 2001 -From: Remi Collet -Date: Mon, 7 Oct 2019 16:31:09 +0200 -Subject: [PATCH] add librt for opcache - ---- - ext/opcache/config.m4 | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/ext/opcache/config.m4 b/ext/opcache/config.m4 -index a388dd787b67..931e27b010f5 100644 ---- a/ext/opcache/config.m4 -+++ b/ext/opcache/config.m4 -@@ -13,6 +13,9 @@ PHP_ARG_ENABLE([huge-code-pages], - - if test "$PHP_OPCACHE" != "no"; then - -+ dnl Always build as shared extension -+ ext_shared=yes -+ - if test "$PHP_HUGE_CODE_PAGES" = "yes"; then - AC_DEFINE(HAVE_HUGE_CODE_PAGES, 1, [Define to enable copying PHP CODE pages into HUGE PAGES (experimental)]) - fi -@@ -248,6 +251,9 @@ int main() { - Optimizer/zend_dump.c, - shared,,-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,,yes) - -+ PHP_CHECK_LIBRARY(rt, shm_unlink, [PHP_ADD_LIBRARY(rt,1,OPCACHE_SHARED_LIBADD)]) -+ - PHP_ADD_BUILD_DIR([$ext_builddir/Optimizer], 1) - PHP_ADD_EXTENSION_DEP(opcache, pcre) -+ PHP_SUBST(OPCACHE_SHARED_LIBADD) - fi diff --git a/php.ini b/php.ini index 057ba03..d95f287 100644 --- a/php.ini +++ b/php.ini @@ -284,6 +284,13 @@ implicit_flush = Off ; callback-function. unserialize_callback_func = +; The unserialize_max_depth specifies the default depth limit for unserialized +; structures. Setting the depth limit too high may result in stack overflows +; during unserialization. The unserialize_max_depth ini setting can be +; overridden by the max_depth option on individual unserialize() calls. +; A value of 0 disables the depth limit. +;unserialize_max_depth = 4096 + ; When floats & doubles are serialized, store serialize_precision significant ; digits after the floating point. The default value ensures that when floats ; are decoded with unserialize, the data will remain the same. @@ -1565,6 +1572,11 @@ zend.assertions = -1 ; Default: 100000 ;mbstring.regex_stack_limit=100000 +; This directive specifies maximum retry count for mbstring regular expressions. It is similar +; to the pcre.backtrack_limit for PCRE. +; Default: 1000000 +;mbstring.regex_retry_limit=1000000 + [gd] ; Tell the jpeg decode to ignore warnings and try to create ; a gd image. The warning will then be displayed as notices diff --git a/php.spec b/php.spec index 3db269a..5679f3a 100644 --- a/php.spec +++ b/php.spec @@ -52,12 +52,12 @@ %endif %global upver 7.4.0 -%global rcver RC3 +%global rcver RC4 Summary: PHP scripting language for creating dynamic web sites Name: php Version: %{upver}%{?rcver:~%{rcver}} -Release: 2%{?dist} +Release: 1%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -106,9 +106,6 @@ Patch46: php-7.2.4-fixheader.patch Patch47: php-5.6.3-phpinfo.patch # Upstream fixes (100+) -# fix for https://bugs.php.net/78622 -Patch100: php-aarch64.patch -Patch101: php-librt.patch # Security fixes (200+) @@ -715,8 +712,6 @@ in pure PHP. %patch47 -p1 -b .phpinfo # upstream patches -%patch100 -p1 -b .wip -%patch101 -p1 -b .wip2 # security patches @@ -1508,6 +1503,9 @@ systemctl try-restart php-fpm.service >/dev/null 2>&1 || : %changelog +* Tue Oct 15 2019 Remi Collet - 7.4.0~RC4-1 +- update to 7.4.0RC4 + * Mon Oct 7 2019 Remi Collet - 7.4.0~RC3-2 - ensure all shared extensions can be loaded - add patch from https://github.com/php/php-src/pull/4794 diff --git a/sources b/sources index af909f3..23a45f1 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (php-7.4.0RC3.tar.xz) = 433f5bdafe753948f9ea837205988ae3c779a03c23505795f4c7c71a6cc62354cf61a2f30aa3480a588b9b44faa184664322616025af74627784d5b64b1e8dfb -SHA512 (php-7.4.0RC3.tar.xz.asc) = 426fee1bdadfc8b4bb44a896d0d4ea97568477911b8bf8dee673ea68909d27b7ff7d53b9dc66d96b68716959c0b25b16c77abb01acea7a05471f29148ab52f67 +SHA512 (php-7.4.0RC4.tar.xz) = 473bd7dd021d2377957799b36b410b29b6650c4813431ff27884e6b0511d4af32ed0500f241b449fefeb562538b0db81df76c14d84654c1d6faaee6e4c560a70 +SHA512 (php-7.4.0RC4.tar.xz.asc) = 0e1534f3fc2c6664b1bc97e618c51571f1cb974f539ad1221ea6e17658131a112951ae03ab53cc189257c9761d755720afa78aad35dad785b5a76eca77afd1c2