diff options
author | perky <perky@FreeBSD.org> | 2003-09-28 02:29:04 +0800 |
---|---|---|
committer | perky <perky@FreeBSD.org> | 2003-09-28 02:29:04 +0800 |
commit | 5a542d8f20c81797ac7dac0cef50c2348f2d7497 (patch) | |
tree | 06fc72f7691ae5bbbd1ea989dd3fb96a9c8c7fab /lang | |
parent | 2421bcf27543295c99aee3a1e2ee6d8d45984bfe (diff) | |
download | freebsd-ports-gnome-5a542d8f20c81797ac7dac0cef50c2348f2d7497.tar.gz freebsd-ports-gnome-5a542d8f20c81797ac7dac0cef50c2348f2d7497.tar.zst freebsd-ports-gnome-5a542d8f20c81797ac7dac0cef50c2348f2d7497.zip |
Use smaller recursion limits on amd64 and sparc64 to avoid
stack overflows.
Tested on: sledge, panther
Diffstat (limited to 'lang')
-rw-r--r-- | lang/python/files/patch-Modules::_sre.c | 19 | ||||
-rw-r--r-- | lang/python23/files/patch-Modules::_sre.c | 19 | ||||
-rw-r--r-- | lang/python24/files/patch-Modules::_sre.c | 19 |
3 files changed, 57 insertions, 0 deletions
diff --git a/lang/python/files/patch-Modules::_sre.c b/lang/python/files/patch-Modules::_sre.c new file mode 100644 index 000000000000..e316a144e075 --- /dev/null +++ b/lang/python/files/patch-Modules::_sre.c @@ -0,0 +1,19 @@ +--- Modules/_sre.c 26 Jun 2003 14:41:08 -0000 2.99 ++++ Modules/_sre.c 27 Sep 2003 18:13:15 -0000 +@@ -71,9 +71,14 @@ + Win64 (MS_WIN64), Linux64 (__LP64__), Monterey (64-bit AIX) (_LP64) */ + /* FIXME: maybe the limit should be 40000 / sizeof(void*) ? */ + #define USE_RECURSION_LIMIT 7500 +-#else + +-#if defined(__GNUC__) && defined(WITH_THREAD) && defined(__FreeBSD__) ++#elif defined(__FreeBSD__) ++/* FreeBSD/amd64 and /sparc64 requires even smaller limit */ ++#if defined(__amd64__) ++#define USE_RECURSION_LIMIT 6000 ++#elif defined(__sparc64__) ++#define USE_RECURSION_LIMIT 3000 ++#elif defined(__GNUC__) && defined(WITH_THREAD) + /* the pthreads library on FreeBSD has a fixed 1MB stack size for the + * initial (or "primary") thread, which is insufficient for the default + * recursion limit. gcc 3.x at the default optimisation diff --git a/lang/python23/files/patch-Modules::_sre.c b/lang/python23/files/patch-Modules::_sre.c new file mode 100644 index 000000000000..e316a144e075 --- /dev/null +++ b/lang/python23/files/patch-Modules::_sre.c @@ -0,0 +1,19 @@ +--- Modules/_sre.c 26 Jun 2003 14:41:08 -0000 2.99 ++++ Modules/_sre.c 27 Sep 2003 18:13:15 -0000 +@@ -71,9 +71,14 @@ + Win64 (MS_WIN64), Linux64 (__LP64__), Monterey (64-bit AIX) (_LP64) */ + /* FIXME: maybe the limit should be 40000 / sizeof(void*) ? */ + #define USE_RECURSION_LIMIT 7500 +-#else + +-#if defined(__GNUC__) && defined(WITH_THREAD) && defined(__FreeBSD__) ++#elif defined(__FreeBSD__) ++/* FreeBSD/amd64 and /sparc64 requires even smaller limit */ ++#if defined(__amd64__) ++#define USE_RECURSION_LIMIT 6000 ++#elif defined(__sparc64__) ++#define USE_RECURSION_LIMIT 3000 ++#elif defined(__GNUC__) && defined(WITH_THREAD) + /* the pthreads library on FreeBSD has a fixed 1MB stack size for the + * initial (or "primary") thread, which is insufficient for the default + * recursion limit. gcc 3.x at the default optimisation diff --git a/lang/python24/files/patch-Modules::_sre.c b/lang/python24/files/patch-Modules::_sre.c new file mode 100644 index 000000000000..e316a144e075 --- /dev/null +++ b/lang/python24/files/patch-Modules::_sre.c @@ -0,0 +1,19 @@ +--- Modules/_sre.c 26 Jun 2003 14:41:08 -0000 2.99 ++++ Modules/_sre.c 27 Sep 2003 18:13:15 -0000 +@@ -71,9 +71,14 @@ + Win64 (MS_WIN64), Linux64 (__LP64__), Monterey (64-bit AIX) (_LP64) */ + /* FIXME: maybe the limit should be 40000 / sizeof(void*) ? */ + #define USE_RECURSION_LIMIT 7500 +-#else + +-#if defined(__GNUC__) && defined(WITH_THREAD) && defined(__FreeBSD__) ++#elif defined(__FreeBSD__) ++/* FreeBSD/amd64 and /sparc64 requires even smaller limit */ ++#if defined(__amd64__) ++#define USE_RECURSION_LIMIT 6000 ++#elif defined(__sparc64__) ++#define USE_RECURSION_LIMIT 3000 ++#elif defined(__GNUC__) && defined(WITH_THREAD) + /* the pthreads library on FreeBSD has a fixed 1MB stack size for the + * initial (or "primary") thread, which is insufficient for the default + * recursion limit. gcc 3.x at the default optimisation |