X-Git-Url: https://git.tld-linux.org/?p=packages%2Fphp.git;a=blobdiff_plain;f=pcre-shared.patch;h=384b23d25075650dd2aae0abded79db0767527ce;hp=8bb03e442f1ca8fa7b4b946a4ac5661c7038a67f;hb=c5549919419b5888c219c98b421cf560bffb2455;hpb=a52c3e6b87b405761c9e3b61d02c44420594c460 diff --git a/pcre-shared.patch b/pcre-shared.patch index 8bb03e4..384b23d 100644 --- a/pcre-shared.patch +++ b/pcre-shared.patch @@ -1,50 +1,18 @@ ---- php-7.2.0RC4/ext/pcre/config0.m4~ 2017-10-15 16:17:20.000000000 +0300 -+++ php-7.2.0RC4/ext/pcre/config0.m4 2017-10-15 18:34:27.673725678 +0300 -@@ -11,7 +11,7 @@ - - if test "$PHP_PCRE_REGEX" != "yes" && test "$PHP_PCRE_REGEX" != "no"; then - AC_MSG_CHECKING([for PCRE headers location]) -- for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include; do -+ for i in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/include $PHP_PCRE_REGEX/include/pcre $PHP_PCRE_REGEX/local/include /usr/include; do - test -f $i/pcre.h && PCRE_INCDIR=$i - done - -@@ -21,7 +21,7 @@ - AC_MSG_RESULT([$PCRE_INCDIR]) - - AC_MSG_CHECKING([for PCRE library location]) -- for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR; do -+ for j in $PHP_PCRE_REGEX $PHP_PCRE_REGEX/$PHP_LIBDIR /usr/$PHP_LIBDIR; do - test -f $j/libpcre.a || test -f $j/libpcre.$SHLIB_SUFFIX_NAME && PCRE_LIBDIR=$j - done - -@@ -52,12 +52,13 @@ - ],[ - -L$PCRE_LIBDIR - ]) -- PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR) -+ PHP_ADD_LIBRARY_WITH_PATH(pcre, $PCRE_LIBDIR, PCRE_SHARED_LIBADD) - - AC_DEFINE(HAVE_PCRE, 1, [ ]) - PHP_ADD_INCLUDE($PCRE_INCDIR) +--- php-7.3.0RC5/ext/pcre/config0.m4~ 2018-11-06 12:22:53.000000000 +0200 ++++ php-7.3.0RC5/ext/pcre/config0.m4 2018-11-12 13:30:52.805036671 +0200 +@@ -84,8 +84,9 @@ + ]) + fi + - PHP_NEW_EXTENSION(pcre, php_pcre.c, no,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) + PHP_NEW_EXTENSION(pcre, php_pcre.c, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1) PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h]) -+ EXTRA_LIBS="$EXTRA_LIBS -lpcre" ++ EXTRA_LIBS="$EXTRA_LIBS -lpcre2-8" else AC_MSG_CHECKING([for PCRE library to use]) AC_MSG_RESULT([bundled]) -@@ -61,7 +62,7 @@ - pcrelib/pcre_version.c pcrelib/pcre_xclass.c \ - pcrelib/pcre_jit_compile.c" - PHP_PCRE_CFLAGS="-DHAVE_CONFIG_H -I@ext_srcdir@/pcrelib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1" -- PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, no,,$PHP_PCRE_CFLAGS) -+ PHP_NEW_EXTENSION(pcre, $pcrelib_sources php_pcre.c, $ext_shared,,$PHP_PCRE_CFLAGS) - PHP_ADD_BUILD_DIR($ext_builddir/pcrelib) - PHP_INSTALL_HEADERS([ext/pcre], [php_pcre.h pcrelib/]) - AC_DEFINE(HAVE_BUNDLED_PCRE, 1, [ ]) ---- php-7.2.0beta1/ext/pcre/php_pcre.h 2017-07-22 12:35:11.071146616 +0300 -+++ php-7.2.0beta1/ext/pcre/php_pcre.h 2017-07-22 12:41:01.858859537 +0300 +--- php-7.3.0alpha3/ext/pcre/php_pcre.h~ 2018-07-03 15:56:43.000000000 +0300 ++++ php-7.3.0alpha3/ext/pcre/php_pcre.h 2018-07-10 11:11:55.739017013 +0300 @@ -33,7 +33,29 @@ #include #endif @@ -70,32 +38,32 @@ +extern void *php_pcre_split_impl_p; +#endif + - PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, int limit, int *replace_count); + PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, size_t subject_len, zend_string *replace_str, size_t limit, size_t *replace_count); +PCRE_EXTERN - PHPAPI pcre* pcre_get_compiled_regex(zend_string *regex, pcre_extra **extra, int *options); - PHPAPI pcre* pcre_get_compiled_regex_ex(zend_string *regex, pcre_extra **extra, int *preg_options, int *coptions); + PHPAPI pcre2_code* pcre_get_compiled_regex(zend_string *regex, uint32_t *capture_count, uint32_t *options); + PHPAPI pcre2_code* pcre_get_compiled_regex_ex(zend_string *regex, uint32_t *capture_count, uint32_t *preg_options, uint32_t *coptions); + +@@ -45,14 +67,18 @@ -@@ -56,14 +78,18 @@ - int refcount; - } pcre_cache_entry; + typedef struct _pcre_cache_entry pcre_cache_entry; +PCRE_EXTERN PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache(zend_string *regex); +PCRE_EXTERN - PHPAPI void php_pcre_match_impl( pcre_cache_entry *pce, char *subject, int subject_len, zval *return_value, - zval *subpats, int global, int use_flags, zend_long flags, zend_long start_offset); + PHPAPI void php_pcre_match_impl( pcre_cache_entry *pce, char *subject, size_t subject_len, zval *return_value, + zval *subpats, int global, int use_flags, zend_long flags, zend_off_t start_offset); +PCRE_EXTERN - PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, int subject_len, zend_string *replace_str, - int limit, int *replace_count); + PHPAPI zend_string *php_pcre_replace_impl(pcre_cache_entry *pce, zend_string *subject_str, char *subject, size_t subject_len, zend_string *replace_str, + size_t limit, size_t *replace_count); +PCRE_EXTERN PHPAPI void php_pcre_split_impl( pcre_cache_entry *pce, zend_string *subject_str, zval *return_value, zend_long limit_val, zend_long flags); ---- php-5.3.1.pcre/ext/pcre/php_pcre.c 2009-11-30 21:38:01.759684456 +0000 -+++ php-7.2.0beta1/ext/pcre/php_pcre.c 2017-07-22 12:42:57.878062137 +0300 +--- php-7.3.0beta3/ext/pcre/php_pcre.c~ 2018-09-11 11:43:27.000000000 +0300 ++++ php-7.3.0beta3/ext/pcre/php_pcre.c 2018-09-11 11:43:30.747506034 +0300 @@ -21,6 +21,9 @@ #include "php.h" #include "php_ini.h" @@ -106,7 +74,7 @@ #include "php_pcre.h" #include "ext/standard/info.h" #include "ext/standard/basic_functions.h" -@@ -208,6 +211,14 @@ +@@ -208,6 +211,17 @@ REGISTER_LONG_CONSTANT("PREG_JIT_STACKLIMIT_ERROR", PHP_PCRE_JIT_STACKLIMIT_ERROR, CONST_CS | CONST_PERSISTENT); REGISTER_STRING_CONSTANT("PCRE_VERSION", (char *)pcre_version(), CONST_CS | CONST_PERSISTENT); @@ -116,6 +84,9 @@ + php_pcre_replace_impl_p = php_pcre_replace_impl; + php_pcre_match_impl_p = php_pcre_match_impl; + php_pcre_split_impl_p = php_pcre_split_impl; ++ php_pcre_create_match_data_p = php_pcre_create_match_data; ++ php_pcre_free_match_data_p = php_pcre_free_match_data; ++ php_pcre_mctx_p = php_pcre_mctx; +#endif + return SUCCESS; @@ -123,17 +94,20 @@ /* }}} */ --- php-7.2.0RC5/ext/standard/basic_functions.c 2017-10-28 21:08:47.383549141 +0300 +++ php-7.2.0RC5/ext/standard/basic_functions.c 2017-10-28 21:10:20.625051932 +0300 -@@ -113,6 +113,15 @@ +@@ -113,6 +113,18 @@ PHPAPI php_basic_globals basic_globals; #endif +#if COMPILE_DL_PCRE -+// for pcre shared patch symbol ++// Declare the pointers in core library +void *pcre_get_compiled_regex_p; +void *pcre_get_compiled_regex_cache_p; +void *php_pcre_replace_impl_p; +void *php_pcre_match_impl_p; +void *php_pcre_split_impl_p; ++void *php_pcre_create_match_data_p; ++void *php_pcre_free_match_data_p; ++void *php_pcre_mctx_p; +#endif + #include "php_fopen_wrappers.h" @@ -173,3 +147,43 @@ if test -f "$(top_builddir)/modules/$$i.la"; then \ . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ fi; \ +--- php-7.3.0beta3/ext/pcre/php_pcre.h~ 2018-09-11 11:41:50.000000000 +0300 ++++ php-7.3.0beta3/ext/pcre/php_pcre.h 2018-09-11 11:41:54.865778887 +0300 +@@ -37,6 +37,9 @@ + #define php_pcre_replace_impl (*php_pcre_replace_impl_p) + #define php_pcre_match_impl (*php_pcre_match_impl_p) + #define php_pcre_split_impl (*php_pcre_split_impl_p) ++#define php_pcre_create_match_data (*php_pcre_create_match_data_p) ++#define php_pcre_free_match_data (*php_pcre_free_match_data_p) ++#define php_pcre_mctx (*php_pcre_mctx_p) + #if !defined(COMPILE_DL_PCRE_NOEXTERN) + # define PCRE_EXTERN extern + #else +@@ -50,6 +53,9 @@ + extern void *php_pcre_replace_impl_p; + extern void *php_pcre_match_impl_p; + extern void *php_pcre_split_impl_p; ++extern void *php_pcre_create_match_data_p; ++extern void *php_pcre_free_match_data_p; ++extern void *php_pcre_mctx_p; + #endif + + PHPAPI zend_string *php_pcre_replace(zend_string *regex, zend_string *subject_str, char *subject, size_t subject_len, zend_string *replace_str, size_t limit, size_t *replace_count); +@@ -83,6 +89,7 @@ + PHPAPI void php_pcre_grep_impl( pcre_cache_entry *pce, zval *input, zval *return_value, + zend_long flags); + ++PCRE_EXTERN + PHPAPI pcre2_match_context *php_pcre_mctx(void); + PHPAPI pcre2_general_context *php_pcre_gctx(void); + PHPAPI pcre2_compile_context *php_pcre_cctx(void); +@@ -90,7 +97,9 @@ + PHPAPI void php_pcre_pce_decref(pcre_cache_entry *); + PHPAPI pcre2_code *php_pcre_pce_re(pcre_cache_entry *); + /* capture_count can be ignored, re is required. */ ++PCRE_EXTERN + PHPAPI pcre2_match_data *php_pcre_create_match_data(uint32_t, pcre2_code *); ++PCRE_EXTERN + PHPAPI void php_pcre_free_match_data(pcre2_match_data *); + + ZEND_BEGIN_MODULE_GLOBALS(pcre)