* dcrt0.cc (sm): Delete.

(alloc_stack_hard_way): Figure out where the stack lives here rather than
relying on previously filled out information which has been invalid since
1.5.19.
This commit is contained in:
Christopher Faylor 2006-04-03 16:04:02 +00:00
parent 29c2d97a8c
commit 1a6aafd031
2 changed files with 13 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2006-04-03 Christopher Faylor <cgf@timesys.com>
* dcrt0.cc (sm): Delete.
(alloc_stack_hard_way): Figure out where the stack lives here rather
than relying on previously filled out information which has been
invalid since 1.5.19.
2006-03-31 Corinna Vinschen <corinna@vinschen.de>
* fhandler_disk_file.cc (FS_IS_SAMBA_WITH_QUOTA): New define.

View File

@ -452,7 +452,6 @@ check_sanity_and_sync (per_process *p)
}
child_info NO_COPY *child_proc_info = NULL;
static MEMORY_BASIC_INFORMATION NO_COPY sm;
#define CYGWIN_GUARD ((wincap.has_page_guard ()) ? \
PAGE_EXECUTE_READWRITE|PAGE_GUARD : PAGE_NOACCESS)
@ -464,10 +463,14 @@ alloc_stack_hard_way (child_info_fork *ci, volatile char *b)
MEMORY_BASIC_INFORMATION m;
void *newbase;
int newlen;
LPBYTE curbot = (LPBYTE) sm.BaseAddress + sm.RegionSize;
bool noguard;
if (ci->stacktop > (LPBYTE) sm.AllocationBase && ci->stacktop < curbot)
if (!VirtualQuery ((LPCVOID) &b, &m, sizeof m))
api_fatal ("fork: couldn't get stack info, %E");
LPBYTE curbot = (LPBYTE) m.BaseAddress + m.RegionSize;
if (ci->stacktop > (LPBYTE) m.AllocationBase && ci->stacktop < curbot)
{
newbase = curbot;
newlen = (LPBYTE) ci->stackbottom - (LPBYTE) curbot;