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,