]> TLD Linux GIT Repositories - packages/php.git/blobdiff - pcre-shared.patch
- updated to 7.3.12
[packages/php.git] / pcre-shared.patch
index 8bb03e442f1ca8fa7b4b946a4ac5661c7038a67f..c1b2627e27b3fa4c1a3c80e3d8874baf507e72c5 100644 (file)
@@ -1,51 +1,52 @@
---- 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)
+diff -urN php-7.3.12.orig/ext/pcre/config0.m4 php-7.3.12/ext/pcre/config0.m4
+--- php-7.3.12.orig/ext/pcre/config0.m4        2019-12-12 21:43:24.775000000 +0100
++++ php-7.3.12/ext/pcre/config0.m4     2019-12-12 21:43:36.336000000 +0100
+@@ -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
-@@ -33,7 +33,29 @@
+diff -urN php-7.3.12.orig/ext/pcre/php_pcre.c php-7.3.12/ext/pcre/php_pcre.c
+--- php-7.3.12.orig/ext/pcre/php_pcre.c        2019-12-12 21:43:24.775000000 +0100
++++ php-7.3.12/ext/pcre/php_pcre.c     2019-12-12 21:43:36.339000000 +0100
+@@ -19,6 +19,9 @@
+ #include "php.h"
+ #include "php_ini.h"
+ #include "php_globals.h"
++#if COMPILE_DL_PCRE
++#define COMPILE_DL_PCRE_NOREDIRECT
++#endif
+ #include "php_pcre.h"
+ #include "ext/standard/info.h"
+ #include "ext/standard/basic_functions.h"
+@@ -290,6 +293,17 @@
+               pcre2_set_match_limit(mctx, (uint32_t)PCRE_G(backtrack_limit));
+       }
++#if COMPILE_DL_PCRE
++      pcre_get_compiled_regex_p = pcre_get_compiled_regex;
++      pcre_get_compiled_regex_cache_p = pcre_get_compiled_regex_cache;
++      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;
+ }/*}}}*/
+diff -urN php-7.3.12.orig/ext/pcre/php_pcre.h php-7.3.12/ext/pcre/php_pcre.h
+--- php-7.3.12.orig/ext/pcre/php_pcre.h        2019-12-12 21:43:24.777000000 +0100
++++ php-7.3.12/ext/pcre/php_pcre.h     2019-12-12 21:45:10.506000000 +0100
+@@ -31,7 +31,35 @@
  #include <locale.h>
  #endif
  
@@ -55,6 +56,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
 +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, 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);
+@@ -43,21 +71,26 @@
  
-@@ -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);
+ PHPAPI pcre_cache_entry* pcre_get_compiled_regex_cache_ex(zend_string *regex, int locale_aware);
  
 +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
-@@ -21,6 +21,9 @@
- #include "php.h"
- #include "php_ini.h"
- #include "php_globals.h"
-+#if COMPILE_DL_PCRE
-+#define COMPILE_DL_PCRE_NOREDIRECT
-+#endif
- #include "php_pcre.h"
- #include "ext/standard/info.h"
- #include "ext/standard/basic_functions.h"
-@@ -208,6 +211,14 @@
-       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);
+ PHPAPI void  php_pcre_grep_impl(   pcre_cache_entry *pce, zval *input, zval *return_value,
+       zend_long flags);
  
-+#if COMPILE_DL_PCRE
-+      pcre_get_compiled_regex_p = pcre_get_compiled_regex;
-+      pcre_get_compiled_regex_cache_p = pcre_get_compiled_regex_cache;
-+      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;
-+#endif
-+
-       return SUCCESS;
- }
- /* }}} */
---- 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 @@
++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);
+@@ -65,7 +98,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)
+diff -urN php-7.3.12.orig/ext/phar/Makefile.frag php-7.3.12/ext/phar/Makefile.frag
+--- php-7.3.12.orig/ext/phar/Makefile.frag     2019-12-12 21:43:24.654000000 +0100
++++ php-7.3.12/ext/phar/Makefile.frag  2019-12-12 21:43:36.358000000 +0100
+@@ -14,7 +14,7 @@
+               $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
+               if test "x$(PHP_MODULES)" != "x"; then \
+               $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
+-              for i in spl bz2 zlib phar; do \
++              for i in pcre spl bz2 zlib phar; do \
+                       if test -f "$(top_builddir)/modules/$$i.la"; then \
+                               . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
+                       fi; \
+diff -urN php-7.3.12.orig/ext/standard/basic_functions.c php-7.3.12/ext/standard/basic_functions.c
+--- php-7.3.12.orig/ext/standard/basic_functions.c     2019-12-12 21:43:24.765000000 +0100
++++ php-7.3.12/ext/standard/basic_functions.c  2019-12-12 21:43:36.361000000 +0100
+@@ -112,6 +112,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"
  #include "streamsfuncs.h"
  
---- php-5.3.2/sapi/cli/tests/018.phpt~ 2008-03-17 16:05:39.000000000 +0200
-+++ php-5.3.2/sapi/cli/tests/018.phpt  2010-03-16 20:41:11.341251246 +0200
-@@ -20,8 +20,6 @@
- --EXPECTF--     
- [PHP Modules]
- %a
--pcre
--%a
- [Zend Modules]
- %aDone
---- php-7.0.0beta3/main/php_ini.c~     2015-08-26 18:50:15.000000000 +0300
-+++ php-7.0.0beta3/main/php_ini.c      2015-08-26 22:33:59.126957396 +0300
-@@ -765,8 +765,8 @@
+diff -urN php-7.3.12.orig/main/php_ini.c php-7.3.12/main/php_ini.c
+--- php-7.3.12.orig/main/php_ini.c     2019-12-12 21:43:24.549000000 +0100
++++ php-7.3.12/main/php_ini.c  2019-12-12 21:43:36.364000000 +0100
+@@ -807,8 +807,8 @@
   */
  void php_ini_register_extensions(void)
  {
  
        zend_llist_destroy(&extension_lists.engine);
        zend_llist_destroy(&extension_lists.functions);
---- php-5.3.1/ext/phar/Makefile.frag~  2009-07-23 15:48:04.000000000 +0000
-+++ php-5.3.1/ext/phar/Makefile.frag   2009-11-30 16:10:29.687175948 +0000
-@@ -10,7 +10,7 @@
-               $(top_srcdir)/build/shtool echo -n -- "$(top_builddir)/$(SAPI_CLI_PATH) -n"; \
-               if test "x$(PHP_MODULES)" != "x"; then \
-               $(top_srcdir)/build/shtool echo -n -- " -d extension_dir=$(top_builddir)/modules"; \
--              for i in spl bz2 zlib phar; do \
-+              for i in pcre spl bz2 zlib phar; do \
-                       if test -f "$(top_builddir)/modules/$$i.la"; then \
-                               . $(top_builddir)/modules/$$i.la; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \
-                       fi; \
+diff -urN php-7.3.12.orig/sapi/cli/tests/018.phpt php-7.3.12/sapi/cli/tests/018.phpt
+--- php-7.3.12.orig/sapi/cli/tests/018.phpt    2019-12-12 21:43:24.534000000 +0100
++++ php-7.3.12/sapi/cli/tests/018.phpt 2019-12-12 21:43:36.364000000 +0100
+@@ -20,8 +20,6 @@
+ --EXPECTF--
+ [PHP Modules]
+ %a
+-pcre
+-%a
+ [Zend Modules]
+ %aDone