Tcl Source Code

Check-in [e0c216c183]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Prevent inlining of StackGrowsDown(), in case of cross-compiling
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | prevent-inline
Files: files | file ages | folders
SHA1:e0c216c18364867c86d8182f03d3f7af3aeea11c
User & Date: jan.nijtmans 2013-04-02 10:57:56
Context
2013-04-03
13:26
[Bug 3205320]: stack space detection defeated by inlining. Now fixed in the cross-compile case as we... check-in: dea7c55032 user: jan.nijtmans tags: core-8-5-branch
2013-04-02
10:57
Prevent inlining of StackGrowsDown(), in case of cross-compiling Closed-Leaf check-in: e0c216c183 user: jan.nijtmans tags: prevent-inline
2013-03-28
14:48
Undo [6a9ee3273c]. Last commit in Tk's core-8-5-branch makes this change no longer necessary. check-in: 12f98a9528 user: jan.nijtmans tags: core-8-5-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to unix/tclUnixInit.c.

1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
....
1182
1183
1184
1185
1186
1187
1188



1189
1190
1191
1192
1193
1194
1195
				 * impact on the stack. */
#ifdef TCL_CROSS_COMPILE
    if (stackGrowsDown == -1) {
	/*
	 * Not initialised!
	 */

	stackGrowsDown = StackGrowsDown(&result);
    }
#endif
    
    /*
     * The first time through in a thread: record the "outermost" stack
     * frame and inquire with the OS about the stack size.
     */
................................................................................

#ifdef TCL_CROSS_COMPILE
int
StackGrowsDown(
    int *parent)
{
    int here;



    return (&here < parent);
}
#endif
 
/*
 *----------------------------------------------------------------------
 *







|







 







>
>
>







1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
....
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
				 * impact on the stack. */
#ifdef TCL_CROSS_COMPILE
    if (stackGrowsDown == -1) {
	/*
	 * Not initialised!
	 */

	stackGrowsDown = StackGrowsDown(NULL);
    }
#endif
    
    /*
     * The first time through in a thread: record the "outermost" stack
     * frame and inquire with the OS about the stack size.
     */
................................................................................

#ifdef TCL_CROSS_COMPILE
int
StackGrowsDown(
    int *parent)
{
    int here;
    if (!parent) {
	return StackGrowsDown(&here);
    }
    return (&here < parent);
}
#endif
 
/*
 *----------------------------------------------------------------------
 *