aboutsummaryrefslogtreecommitdiffstats
path: root/community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch
diff options
context:
space:
mode:
authorAndy Postnikov <apostnikov@gmail.com>2016-12-10 18:27:55 +0300
committerJakub Jirutka <jakub@jirutka.cz>2016-12-10 21:56:02 +0100
commitc0c97226c82735c1756ff6685b418fefa277e9ab (patch)
tree4851c52824c4cda2a8b91289137bc1a5633cc0d9 /community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch
parent8c2ddb0f562ad96d389e37f139aa6a9ebca7d06d (diff)
downloadaports-c0c97226c82735c1756ff6685b418fefa277e9ab.tar.bz2
aports-c0c97226c82735c1756ff6685b418fefa277e9ab.tar.xz
community/php7: fix build for aarch64
Diffstat (limited to 'community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch')
-rw-r--r--community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch b/community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch
new file mode 100644
index 0000000000..7a210b6e11
--- /dev/null
+++ b/community/php7/fix-asm-constraints-in-aarch64-multiply-macro.patch
@@ -0,0 +1,31 @@
+From 6cbb9f4c247c5361b8c165fbb40b4118d5d7c0e5 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab@linux-m68k.org>
+Date: Mon, 25 Apr 2016 11:59:14 +0200
+Subject: [PATCH] Fix asm constraints in aarch64 multiply macro
+
+All operands must be register operands and the output operands are early
+clobbered.
+
+See https://bugs.php.net/bug.php?id=70015
+---
+ Zend/zend_multiply.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Zend/zend_multiply.h b/Zend/zend_multiply.h
+index dfd21f7..651dd43 100644
+--- a/Zend/zend_multiply.h
++++ b/Zend/zend_multiply.h
+@@ -53,8 +53,8 @@
+ __asm__("mul %0, %2, %3\n" \
+ "smulh %1, %2, %3\n" \
+ "sub %1, %1, %0, asr #63\n" \
+- : "=X"(__tmpvar), "=X"(usedval) \
+- : "X"(a), "X"(b)); \
++ : "=&r"(__tmpvar), "=&r"(usedval) \
++ : "r"(a), "r"(b)); \
+ if (usedval) (dval) = (double) (a) * (double) (b); \
+ else (lval) = __tmpvar; \
+ } while (0)
+--
+2.8.0
+