diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2022-05-03 14:34:42 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2022-05-03 14:39:28 +0200 |
commit | b827d4d36a7df77e8e0bcaed38bf639d83f6d233 (patch) | |
tree | 370fe68553f375509c4f3b19c28bf8f61fb65748 /winsup | |
parent | 01c734b0d7c1ce0f848f7efc091856c58a6ef55e (diff) | |
download | newlib-b827d4d36a7df77e8e0bcaed38bf639d83f6d233.zip newlib-b827d4d36a7df77e8e0bcaed38bf639d83f6d233.tar.gz newlib-b827d4d36a7df77e8e0bcaed38bf639d83f6d233.tar.bz2 |
Cygwin: simplify create_new_main_thread_stack
Originally the function was designed to be used in forked
processes as well, but it has never been used this way. Drop
the parameter only required for forkees.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/dcrt0.cc | 6 | ||||
-rw-r--r-- | winsup/cygwin/miscfuncs.cc | 7 | ||||
-rw-r--r-- | winsup/cygwin/miscfuncs.h | 3 |
3 files changed, 4 insertions, 12 deletions
diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index e757c47..dee8482 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -1064,11 +1064,7 @@ _dll_crt0 () /* Must be static since it's referenced after the stack and frame pointer registers have been changed. */ static PVOID allocationbase; - SIZE_T commitsize = in_forkee ? (PBYTE) fork_info->stackbase - - (PBYTE) fork_info->stacklimit - : 0; - PVOID stackaddr = create_new_main_thread_stack (allocationbase, - commitsize); + PVOID stackaddr = create_new_main_thread_stack (allocationbase); if (stackaddr) { /* Set stack pointer to new address. Set frame pointer to diff --git a/winsup/cygwin/miscfuncs.cc b/winsup/cygwin/miscfuncs.cc index fcb0822..905c242 100644 --- a/winsup/cygwin/miscfuncs.cc +++ b/winsup/cygwin/miscfuncs.cc @@ -629,7 +629,7 @@ thread_allocator thr_alloc NO_COPY; maintained by the thr_alloc class. See the description in the x86_64-only code in _dll_crt0 to understand why we have to do this. */ PVOID -create_new_main_thread_stack (PVOID &allocationbase, SIZE_T parent_commitsize) +create_new_main_thread_stack (PVOID &allocationbase) { PIMAGE_DOS_HEADER dosheader; PIMAGE_NT_HEADERS ntheader; @@ -647,10 +647,7 @@ create_new_main_thread_stack (PVOID &allocationbase, SIZE_T parent_commitsize) allocationbase = thr_alloc.alloc (ntheader->OptionalHeader.SizeOfStackReserve); guardsize = wincap.def_guard_page_size (); - if (parent_commitsize) - commitsize = (SIZE_T) parent_commitsize; - else - commitsize = ntheader->OptionalHeader.SizeOfStackCommit; + commitsize = ntheader->OptionalHeader.SizeOfStackCommit; commitsize = roundup2 (commitsize, wincap.page_size ()); if (commitsize > stacksize - guardsize - wincap.page_size ()) commitsize = stacksize - guardsize - wincap.page_size (); diff --git a/winsup/cygwin/miscfuncs.h b/winsup/cygwin/miscfuncs.h index 47cef6f..f571031 100644 --- a/winsup/cygwin/miscfuncs.h +++ b/winsup/cygwin/miscfuncs.h @@ -109,8 +109,7 @@ ssize_t __reg3 check_iovec (const struct iovec *, int, bool); #define check_iovec_for_write(a, b) check_iovec ((a), (b), true) #ifdef __x86_64__ -extern PVOID create_new_main_thread_stack (PVOID &allocationbase, - SIZE_T parent_commitsize); +extern PVOID create_new_main_thread_stack (PVOID &allocationbase); #endif extern "C" DWORD WINAPI pthread_wrapper (PVOID arg); |