summaryrefslogtreecommitdiffstats
path: root/unix
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-03-10 21:32:38 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-03-10 21:32:38 (GMT)
commit431a5aa6e55618adddc4fcc98744cf8aea6b36e7 (patch)
treeaab3e98644bbfdde7cee9e7d0644843efc3b481b /unix
parentfacf8dcf55076e56b16a813876e8544cf56f6604 (diff)
downloadtcl-431a5aa6e55618adddc4fcc98744cf8aea6b36e7.zip
tcl-431a5aa6e55618adddc4fcc98744cf8aea6b36e7.tar.gz
tcl-431a5aa6e55618adddc4fcc98744cf8aea6b36e7.tar.bz2
[Bug 3205320]: stack space detection defeated by inlining
Diffstat (limited to 'unix')
-rwxr-xr-xunix/configure8
-rw-r--r--unix/configure.in8
2 files changed, 10 insertions, 6 deletions
diff --git a/unix/configure b/unix/configure
index 8fbaebc..96e50d9 100755
--- a/unix/configure
+++ b/unix/configure
@@ -18734,11 +18734,13 @@ cat >>conftest.$ac_ext <<_ACEOF
int StackGrowsUp(int *parent) {
int here;
- return (&here < parent);
+ if (parent)
+ return (&here < parent);
+ else
+ return StackGrowsUp(&here);
}
int main (int argc, char *argv[]) {
- int foo;
- return StackGrowsUp(&foo);
+ return StackGrowsUp(0);
}
_ACEOF
diff --git a/unix/configure.in b/unix/configure.in
index 87731a1..473758d 100644
--- a/unix/configure.in
+++ b/unix/configure.in
@@ -705,11 +705,13 @@ AC_CACHE_CHECK([if the C stack grows upwards in memory], tcl_cv_stack_grows_up,
AC_TRY_RUN([
int StackGrowsUp(int *parent) {
int here;
- return (&here < parent);
+ if (parent)
+ return (&here < parent);
+ else
+ return StackGrowsUp(&here);
}
int main (int argc, char *argv[]) {
- int foo;
- return StackGrowsUp(&foo);
+ return StackGrowsUp(0);
}
], tcl_cv_stack_grows_up=yes, tcl_cv_stack_grows_up=no,
tcl_cv_stack_grows_up=unknown)])