php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #75300 SLJIT_CACHE_FLUSH: The builtin "__builtin___clear_cache" is not supported
Submitted: 2017-10-01 10:51 UTC Modified: 2017-10-09 18:59 UTC
From: kaplan@php.net Assigned:
Status: Open Package: Compile Failure
PHP Version: 7.2.0RC3 OS: Linux/POWER8
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2017-10-01 10:51 UTC] kaplan@php.net
Description:
------------
While trying to build PHP 7.2.0RC3 on POWER8 (both Ubuntu 14.04 and Centos7) I see this error. On Linux with x86_64 same source works fine.

Actual result:
--------------
/bin/sh /php-7.2.0RC3/libtool --silent --preserve-dup-deps --mode=compile xlc -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -Iext/zlib/ -I/php-7.2.0RC3/ext/zlib/ -DPHP_ATOM_INC -I/php-7.2.0RC3/include -I/php-7.2.0RC3/main -I/php-7.2.0RC3 -I/php-7.2.0RC3/ext/date/lib -I/usr/local/include/libxml2 -I/usr/local/openssl-1.0.1u/include -I/usr/local/include -I/php-7.2.0RC3/TSRM -I/php-7.2.0RC3/Zend  -fPIC  -I/usr/include -fPIC -g -fvisibility=hidden -DZEND_SIGNALS   -c /php-7.2.0RC3/ext/zlib/zlib_fopen_wrapper.c -o ext/zlib/zlib_fopen_wrapper.lo 
In file included from /php-7.2.0RC3/ext/pcre/pcrelib/pcre_jit_compile.c:62:
In file included from /php-7.2.0RC3/ext/pcre/pcrelib/sljit/sljitLir.c:1745:
/php-7.2.0RC3/ext/pcre/pcrelib/sljit/sljitNativePPC_common.c:519:2: error: 1540-2993 The builtin "__builtin___clear_cache" is not supported.
        SLJIT_CACHE_FLUSH(code, code_ptr);
        ^
/php-7.2.0RC3/ext/pcre/pcrelib/sljit/sljitConfigInternal.h:278:2: note: expanded from macro 'SLJIT_CACHE_FLUSH'
        __builtin___clear_cache((char*)from, (char*)to)
        ^
1 error generated.
Error while processing /php-7.2.0RC3/ext/pcre/pcrelib/pcre_jit_compile.c.
make: *** [ext/pcre/pcrelib/pcre_jit_compile.lo] Error 1

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2017-10-09 18:59 UTC] pollita@php.net
275 #if __has_builtin(__builtin___clear_cache)
276 
277 #define SLJIT_CACHE_FLUSH(from, to) \
278     __builtin___clear_cache((char*)from, (char*)to)
279 
280 #endif /* __has_builtin(__builtin___clear_cache) */

Seems like a bug in whatever compiler you're using since that define is guarded by an #if __has_builtin check.
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Sun Aug 18 22:01:26 2019 UTC