]> sourceware.org Git - newlib-cygwin.git/commit
Always allocate main thread stack from pthread stack area on x86_64.
authorCorinna Vinschen <corinna@vinschen.de>
Mon, 7 Dec 2015 15:10:55 +0000 (16:10 +0100)
committerCorinna Vinschen <corinna@vinschen.de>
Mon, 7 Dec 2015 15:10:55 +0000 (16:10 +0100)
commite753e4129ad0843859e97a4c56962b5395f390b6
treebd5d582009d7bb9af51487e6ac811fea52b55bb2
parent5aa8817e3a56da2b4177329e2d523f54eae7e142
Always allocate main thread stack from pthread stack area on x86_64.

        * dcrt0.cc: Semi-revert commit 12743c2d5d2721f3a80b4d7671a349be03c1f520.
        (dll_crt0_0): Drop setting wow64_needs_stack_adjustment on 64 bit.
        (_dll_crt0): Split out 64 bit code again and always create new main
        thread stack, unless forked off from the non main thread in the parent.
        Call create_new_main_thread_stack with parent stack commitsize if
        started from the parent's main thread.
        Only call child_info_fork::alloc_stack for the latter case on 64 bit.
        Slightly rearrange moving rsp and rbp to new stack and document how.
        Revert 32 bit wow64 handling to its former self.
        * miscfunc.cc (create_new_main_thread_stack): Take a commitsize
        parameter and use it if it's not 0.  Don't set _main_tls here, it's
        done in the caller _dll_crt0 anyway.  Return stackbase - 16 bytes,
        rather than stacklimit (which was very wrong anyway).
        * miscfuncs.h (create_new_main_thread_stack): Accommodate declaration
        to aforementioned change.
        * wincap.h (wincaps::has_3264_stack_broken): Remove element.
        * wincap.cc: Ditto, throughout.
        * wow64.cc: Semi-revert to pre-12743c2d5d2721f3a80b4d7671a349be03c1f520
        but keep architecture-agnostic type changes intact.  Fix formatting.
        * wow64.h: Revert to pre-12743c2d5d2721f3a80b4d7671a349be03c1f520.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
winsup/cygwin/ChangeLog
winsup/cygwin/dcrt0.cc
winsup/cygwin/miscfuncs.cc
winsup/cygwin/miscfuncs.h
winsup/cygwin/wincap.cc
winsup/cygwin/wincap.h
winsup/cygwin/wow64.cc
winsup/cygwin/wow64.h
This page took 0.031832 seconds and 5 git commands to generate.