update to 7.4.0RC4

This commit is contained in:
Remi Collet 2019-10-15 13:53:20 +02:00
parent 6d4134510c
commit 4d5a72b2d2
6 changed files with 20 additions and 130 deletions

1
.gitignore vendored
View File

@ -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

View File

@ -1,88 +0,0 @@
From d81eb77b4aaf579c151f7d16eef807838fcef9cc Mon Sep 17 00:00:00 2001
From: Nikita Popov <nikita.ppv@gmail.com>
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 <arm_acle.h>
# if defined(__linux__)
# include <sys/auxv.h>
@@ -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

View File

@ -1,33 +0,0 @@
From 78247eb2209b14c3c1273189dfa2615e2df21214 Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
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

12
php.ini
View File

@ -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

View File

@ -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 <remi@remirepo.net> - 7.4.0~RC4-1
- update to 7.4.0RC4
* Mon Oct 7 2019 Remi Collet <remi@remirepo.net> - 7.4.0~RC3-2
- ensure all shared extensions can be loaded
- add patch from https://github.com/php/php-src/pull/4794

View File

@ -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