diff options
-rw-r--r-- | Zend/zend.c | 2 | ||||
-rw-r--r-- | Zend/zend_cpuinfo.c | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/Zend/zend.c b/Zend/zend.c index effc95deb2..ba84f84def 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -753,7 +753,9 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions) / extern zend_php_scanner_globals language_scanner_globals; #endif +#ifndef HAVE_FUNC_ATTRIBUTE_IFUNC zend_cpu_startup(); +#endif #ifdef ZEND_WIN32 php_win32_cp_set_by_id(65001); diff --git a/Zend/zend_cpuinfo.c b/Zend/zend_cpuinfo.c index ce92460fb4..2b087afaef 100644 --- a/Zend/zend_cpuinfo.c +++ b/Zend/zend_cpuinfo.c @@ -68,6 +68,10 @@ void zend_cpu_startup(void) } ZEND_API int zend_cpu_supports(zend_cpu_feature feature) { +#ifdef HAVE_FUNC_ATTRIBUTE_IFUNC + /* The resolver is invoked before zend_startup(). */ + zend_cpu_startup(); +#endif if (feature & ZEND_CPU_EDX_MASK) { return (cpuinfo.edx & (feature & ~ZEND_CPU_EDX_MASK)); } else { |