diff --git a/php-7.1.0-overflow.patch b/php-7.1.0-overflow.patch new file mode 100644 index 0000000..fce710b --- /dev/null +++ b/php-7.1.0-overflow.patch @@ -0,0 +1,72 @@ +From c2173c16d038cf99c5eff12ddc76f99d46a35c57 Mon Sep 17 00:00:00 2001 +From: Dmitry Stogov +Date: Thu, 17 Nov 2016 14:05:22 +0300 +Subject: [PATCH] Fixed 64-bit build + +--- + ext/opcache/zend_accelerator_module.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c +index 481660c..b6c8e13 100644 +--- a/ext/opcache/zend_accelerator_module.c ++++ b/ext/opcache/zend_accelerator_module.c +@@ -107,7 +107,7 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) + #else + char *base = (char *) ts_resource(*((int *) mh_arg2)); + #endif +- zend_long overflow; ++ zend_long megabyte, overflow; + double dummy; + + /* keep the compiler happy */ +@@ -132,7 +132,8 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) + + ini_entry->value = zend_string_init(new_new_value, 1, 1); + } +- ZEND_SIGNED_MULTIPLY_LONG(memsize, 1024 * 1024, *p, dummy, overflow); ++ megabyte = 1024 * 1024; ++ ZEND_SIGNED_MULTIPLY_LONG(memsize, megabyte, *p, dummy, overflow); + if (UNEXPECTED(overflow)) { + *p = ZEND_ULONG_MAX; + } +-- +2.1.4 + +From d4b3f89c53f8812cbaede013d7e4000917cf27e1 Mon Sep 17 00:00:00 2001 +From: Dmitry Stogov +Date: Thu, 17 Nov 2016 13:17:34 +0300 +Subject: [PATCH] Overflow check + +--- + ext/opcache/zend_accelerator_module.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/ext/opcache/zend_accelerator_module.c b/ext/opcache/zend_accelerator_module.c +index a7cf5c3..481660c 100644 +--- a/ext/opcache/zend_accelerator_module.c ++++ b/ext/opcache/zend_accelerator_module.c +@@ -107,6 +107,8 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) + #else + char *base = (char *) ts_resource(*((int *) mh_arg2)); + #endif ++ zend_long overflow; ++ double dummy; + + /* keep the compiler happy */ + (void)entry; (void)mh_arg2; (void)mh_arg3; (void)stage; +@@ -130,7 +132,10 @@ static ZEND_INI_MH(OnUpdateMemoryConsumption) + + ini_entry->value = zend_string_init(new_new_value, 1, 1); + } +- *p = memsize * (1024 * 1024); ++ ZEND_SIGNED_MULTIPLY_LONG(memsize, 1024 * 1024, *p, dummy, overflow); ++ if (UNEXPECTED(overflow)) { ++ *p = ZEND_ULONG_MAX; ++ } + return SUCCESS; + } + +-- +2.1.4 + diff --git a/php.spec b/php.spec index 59edecd..a141d39 100644 --- a/php.spec +++ b/php.spec @@ -100,6 +100,8 @@ Patch5: php-7.0.0-includedir.patch Patch6: php-5.6.3-embed.patch Patch7: php-5.3.0-recode.patch Patch8: php-7.0.2-libdb.patch +# Temporary revert for aarch64 +Patch9: php-7.1.0-overflow.patch # Functional changes Patch40: php-7.0.0-dlopen.patch @@ -712,6 +714,9 @@ httpd -V | grep -q 'threaded:.*yes' && exit 1 %patch6 -p1 -b .embed %patch7 -p1 -b .recode %patch8 -p1 -b .libdb +%ifarch aarch64 +%patch9 -p1 -R -b .overflow +%endif %patch40 -p1 -b .dlopen %patch42 -p1 -b .systzdata