]>
Commit | Line | Data |
---|---|---|
f56be28d AM |
1 | Fix recursion stack estimator |
2 | ||
3 | Due to inlining match() by recent GCC, the stack estimator reported 4-bytes | |
4 | stack consumption. | |
5 | ||
6 | Author: Sergei Golubchik <vuvova@gmail.com> | |
7 | <https://bugs.exim.org/show_bug.cgi?id=2173> | |
8 | ||
9 | diff --git a/pcre/pcre_exec.c b/pcre/pcre_exec.c | |
10 | --- a/pcre/pcre_exec.c | |
11 | +++ b/pcre/pcre_exec.c | |
12 | @@ -509,6 +509,12 @@ | |
13 | (e.g. stopped by repeated call or recursion limit) | |
14 | */ | |
15 | ||
16 | +#ifdef __GNUC__ | |
17 | +static int | |
18 | +match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, | |
19 | + PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, | |
20 | + unsigned int rdepth) __attribute__((noinline,noclone)); | |
21 | +#endif | |
22 | static int | |
23 | match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, | |
24 | PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, |