summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xunix/configure8
-rw-r--r--unix/configure.in8
3 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 781589c..cd908d6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-10 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * unix/configure.in [Bug 3205320]: stack space detection defeated by inlining
+ * unix/configure: (autoconf-2.59)
+
2011-03-09 Don Porter <dgp@users.sourceforge.net>
* generic/tclNamesp.c: Tighten the detector of nested [namespace code]
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)])