summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--package/php/Makefile4
-rw-r--r--package/php/patches/patch-ext_standard_crc32_c69
2 files changed, 54 insertions, 19 deletions
diff --git a/package/php/Makefile b/package/php/Makefile
index c7b7818d4..83aa35b0d 100644
--- a/package/php/Makefile
+++ b/package/php/Makefile
@@ -4,9 +4,9 @@
include $(ADK_TOPDIR)/rules.mk
PKG_NAME:= php
-PKG_VERSION:= 7.4.24
+PKG_VERSION:= 7.4.25
PKG_RELEASE:= 1
-PKG_HASH:= ff7658ee2f6d8af05b48c21146af5f502e121def4e76e862df5ec9fa06e98734
+PKG_HASH:= 12a758f1d7fee544387a28d3cf73226f47e3a52fb3049f07fcc37d156d393c0a
PKG_DESCR:= php language interpreter
PKG_SECTION:= dev/lang
PKG_BUILDDEP:= libpng
diff --git a/package/php/patches/patch-ext_standard_crc32_c b/package/php/patches/patch-ext_standard_crc32_c
index c04b5b80c..2d55e1ed5 100644
--- a/package/php/patches/patch-ext_standard_crc32_c
+++ b/package/php/patches/patch-ext_standard_crc32_c
@@ -1,17 +1,21 @@
---- php-7.4.24.orig/ext/standard/crc32.c 2021-09-21 13:23:20.000000000 +0200
-+++ php-7.4.24/ext/standard/crc32.c 2021-09-29 10:27:37.144637295 +0200
-@@ -23,7 +23,6 @@
- #if HAVE_AARCH64_CRC32
- # include <arm_acle.h>
- # if defined(__linux__)
--# include <sys/auxv.h>
- # include <asm/hwcap.h>
- # endif
+--- php-7.4.25.orig/ext/standard/crc32.c 2021-10-19 17:18:19.000000000 +0200
++++ php-7.4.25/ext/standard/crc32.c 2021-10-29 14:58:12.777563842 +0200
+@@ -20,56 +20,6 @@
+ #include "basic_functions.h"
+ #include "crc32.h"
-@@ -32,13 +31,6 @@ static inline int has_crc32_insn() {
- static int res = -1;
- if (res != -1)
- return res;
+-#if HAVE_AARCH64_CRC32
+-# include <arm_acle.h>
+-# if defined(__linux__)
+-# include <sys/auxv.h>
+-# include <asm/hwcap.h>
+-# endif
+-
+-static inline int has_crc32_insn() {
+- /* Only go through the runtime detection once. */
+- static int res = -1;
+- if (res != -1)
+- return res;
-# if defined(HWCAP_CRC32)
- res = getauxval(AT_HWCAP) & HWCAP_CRC32;
- return res;
@@ -19,10 +23,41 @@
- res = getauxval(AT_HWCAP2) & HWCAP2_CRC32;
- return res;
-# else
- res = 0;
- return res;
- # endif
-@@ -85,13 +77,6 @@ PHP_NAMED_FUNCTION(php_if_crc32)
+- res = 0;
+- 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)
+ Calculate the crc32 polynomial of a string */
+ PHP_NAMED_FUNCTION(php_if_crc32)
+@@ -85,13 +35,6 @@ PHP_NAMED_FUNCTION(php_if_crc32)
crc = crcinit^0xFFFFFFFF;