summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch')
-rw-r--r--dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch b/dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch
new file mode 100644
index 00000000000..0fd6b5f3b22
--- /dev/null
+++ b/dev-libs/libpcre/files/libpcre-8.41-fix-stack-size-detection.patch
@@ -0,0 +1,18 @@
+https://bugs.exim.org/show_bug.cgi?id=2173#c4
+
+diff --git a/pcre/pcre_exec.c b/pcre/pcre_exec.c
+--- a/pcre/pcre_exec.c
++++ b/pcre/pcre_exec.c
+@@ -509,6 +509,12 @@
+ (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,