in turn fixes mariadb configure step on non-clang archs. Patch from https://bugs.exim.org/show_bug.cgi?id=2173 via George Koehler, thanks ! Tested on sparc64 & macppc with gcc 6. ok robert@ (MAINTAINER)
26 lines
904 B
Plaintext
26 lines
904 B
Plaintext
$OpenBSD: patch-pcre_exec_c,v 1.1 2018/11/24 11:20:08 landry Exp $
|
|
|
|
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,
|