com php-src: GCC prior 4.8.0 may generates wrong code: Zend/Zend.m4 Zend/zend_execute.c
| From: | Dmitry Stogov | Date: | Tue, 17 Mar 2015 23:15:49 +0000 |
| Subject: | com php-src: GCC prior 4.8.0 may generates wrong code: Zend/Zend.m4 Zend/zend_execute.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-85581@lists.php.net to get a copy of this message | ||
Commit: d6bb5c2cd48b9df0a3a7c19843ca2d5e6703f55d
Author: Dmitry Stogov <dmitry@zend.com> Wed, 18 Mar 2015 02:15:49 +0300
Parents: e39db5773d9443e2cfee92bc31651848c044c325
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d6bb5c2cd48b9df0a3a7c19843ca2d5e6703f55d
Log:
GCC prior 4.8.0 may generates wrong code
Changed paths:
M Zend/Zend.m4
M Zend/zend_execute.c
Diff:
diff --git a/Zend/Zend.m4 b/Zend/Zend.m4
index e12b00d..d61a8a0 100644
--- a/Zend/Zend.m4
+++ b/Zend/Zend.m4
@@ -421,10 +421,10 @@ AC_MSG_CHECKING(for global register variables support)
if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then
AC_TRY_COMPILE([
],[
-#if defined(__GNUC__) && defined(i386)
+#if defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(i386)
# define ZEND_VM_FP_GLOBAL_REG "%esi"
# define ZEND_VM_IP_GLOBAL_REG "%edi"
-#elif defined(__GNUC__) && defined(__x86_64__)
+#elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__x86_64__)
# define ZEND_VM_FP_GLOBAL_REG "%r14"
# define ZEND_VM_IP_GLOBAL_REG "%r15"
#else
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 42e9673..36942fe 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -2082,10 +2082,10 @@ static zend_always_inline void
zend_vm_stack_extend_call_frame(zend_execute_data
/* }}} */
#ifdef HAVE_GCC_GLOBAL_REGS
-# if defined(__GNUC__) && defined(i386)
+# if defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(i386)
# define ZEND_VM_FP_GLOBAL_REG "%esi"
# define ZEND_VM_IP_GLOBAL_REG "%edi"
-# elif defined(__GNUC__) && defined(__x86_64__)
+# elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__x86_64__)
# define ZEND_VM_FP_GLOBAL_REG "%r14"
# define ZEND_VM_IP_GLOBAL_REG "%r15"
# endif