ports/devel/pcre/patches/patch-pcre_exec_c

23 lines
836 B
Text

When ports-gcc optimized match(), it broke the stack frame size
calculation. Apply the fix that Sergei Golubchik put in MariaDB's
copy of pcre.
https://bugs.exim.org/show_bug.cgi?id=2173
https://github.com/MariaDB/server/commit/440157c
Index: pcre_exec.c
--- pcre_exec.c.orig
+++ pcre_exec.c
@@ -509,6 +509,12 @@ Returns: MATCH_MATCH if matched ) th
(e.g. stopped by repeated call or recursion limit)
*/
+#ifdef __GNUC__
+static int
+match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
+ unsigned int rdepth) __attribute__((noinline,noclone));
+#endif
static int
match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,