diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-12-03 22:56:44 +0100 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-12-03 22:56:44 +0100 |
commit | 12743c2d5d2721f3a80b4d7671a349be03c1f520 (patch) | |
tree | eef2fbd63e2fb09cb011b7463e14c056251c892e /newlib/libc/stdlib/wcstombs.c | |
parent | 8f4da28eb68d583840cfbca8896755c60d2c8d15 (diff) | |
download | cygnal-12743c2d5d2721f3a80b4d7671a349be03c1f520.tar.gz cygnal-12743c2d5d2721f3a80b4d7671a349be03c1f520.tar.bz2 cygnal-12743c2d5d2721f3a80b4d7671a349be03c1f520.zip |
On 64 bit, only create new thread stack if started from 32 bit process on affected platforms
* dcrt0.cc (dll_crt0_0): On 64 bit, set wow64_needs_stack_adjustment
if not started from a 64 bit process.
(_dll_crt0): Enable wow64_needs_stack_adjustment branch on 64 bit
as well. Remove 64 bit only code. Introduce CREATE_STACK and
FIX_STACK macros to conditionalize the code. Rearrange and
partially rewrite comments.
* wincap.h (wincaps::has_3264_stack_broken): New element.
* wincap.cc: Implement above element throughout.
(wincapc::init): Set has_3264_stack_broken to false on 32 bit.
* wow64.cc: Enable functionality on 64 bit architecture, except for
wow64_revert_to_original_stack. Enhance comments to explain.
(wow64_eval_expected_main_stack): Make 64 bit clean.
(wow64_test_for_64bit_parent): Ditto.
* wow64.h: Export wow64_revert_to_original_stack on 32 bit only,
everything else on all architectures.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libc/stdlib/wcstombs.c')
0 files changed, 0 insertions, 0 deletions