From 97f159d70288ae94f9a05a370121bcbea760ed9a Mon Sep 17 00:00:00 2001 From: Dmitry Stogov Date: Mon, 10 Aug 2015 19:12:11 +0300 Subject: [PATCH] Support for XLC compiler --- Zend/Zend.m4 | 5 ++++- Zend/zend_execute.c | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Zend/Zend.m4 b/Zend/Zend.m4 index 6104dc0bc9..bdeac672b4 100644 --- a/Zend/Zend.m4 +++ b/Zend/Zend.m4 @@ -421,7 +421,6 @@ AC_ARG_ENABLE(gcc-global-regs, AC_MSG_CHECKING(for global register variables support) if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then AC_TRY_COMPILE([ - ],[ #if defined(__GNUC__) # define ZEND_GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__) #else @@ -436,6 +435,9 @@ if test "$ZEND_GCC_GLOBAL_REGS" != "no"; then #elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__) # define ZEND_VM_FP_GLOBAL_REG "r28" # define ZEND_VM_IP_GLOBAL_REG "r29" +#elif defined(__IBMC__) && ZEND_GCC_VERSION >= 4002 && defined(__powerpc64__) +# define ZEND_VM_FP_GLOBAL_REG "r28" +# define ZEND_VM_IP_GLOBAL_REG "r29" #else # error "global register variables are not supported" #endif @@ -451,6 +453,7 @@ int emu(const opcode_handler_t *ip, void *fp) { FP = orig_fp; IP = orig_ip; } + ], [ ], [ ZEND_GCC_GLOBAL_REGS=yes ], [ diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index 090965611c..ad94634a45 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -2553,6 +2553,9 @@ void zend_cleanup_unfinished_execution(zend_execute_data *execute_data, uint32_t # elif defined(__GNUC__) && ZEND_GCC_VERSION >= 4008 && defined(__powerpc64__) # define ZEND_VM_FP_GLOBAL_REG "r28" # define ZEND_VM_IP_GLOBAL_REG "r29" +# elif defined(__IBMC__) && ZEND_GCC_VERSION >= 4002 && defined(__powerpc64__) +# define ZEND_VM_FP_GLOBAL_REG "r28" +# define ZEND_VM_IP_GLOBAL_REG "r29" # endif #endif -- 2.50.1