lol

pcre: add patch fixing stack frame size detection

+19
+3
pkgs/development/libraries/pcre/default.nix
··· 33 33 34 34 buildInputs = optional (hostPlatform.libc == "msvcrt") windows.mingw_w64_pthreads; 35 35 36 + # https://bugs.exim.org/show_bug.cgi?id=2173 37 + patches = [ ./stacksize-detection.patch ]; 38 + 36 39 doCheck = !(with hostPlatform; isCygwin || isFreeBSD) && hostPlatform == buildPlatform; 37 40 # XXX: test failure on Cygwin 38 41 # we are running out of stack on both freeBSDs on Hydra
+16
pkgs/development/libraries/pcre/stacksize-detection.patch
··· 1 + diff --git a/pcre_exec.c b/pcre_exec.c 2 + --- a/pcre_exec.c 3 + +++ b/pcre_exec.c 4 + @@ -509,6 +509,12 @@ 5 + (e.g. stopped by repeated call or recursion limit) 6 + */ 7 + 8 + +#ifdef __GNUC__ 9 + +static int 10 + +match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, 11 + + PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb, 12 + + unsigned int rdepth) __attribute__((noinline,noclone)); 13 + +#endif 14 + static int 15 + match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode, 16 + PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,