From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 7EEF5395A457; Fri, 13 May 2022 12:38:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7EEF5395A457 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Corinna Vinschen To: cygwin-cvs@sourceware.org Subject: [newlib-cygwin] Cygwin: switch to _REENT_GLOBAL_STDIO_STREAMS X-Act-Checkin: newlib-cygwin X-Git-Author: Corinna Vinschen X-Git-Refname: refs/heads/master X-Git-Oldrev: 01c823efb760caff1f7db1f6bf37ba24829ed76a X-Git-Newrev: d02421e7f7a40d3af7a909dc612582f5f996da6c Message-Id: <20220513123802.7EEF5395A457@sourceware.org> Date: Fri, 13 May 2022 12:38:02 +0000 (GMT) X-BeenThere: cygwin-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin core component git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 May 2022 12:38:02 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Dd02421e7f7a= 40d3af7a909dc612582f5f996da6c commit d02421e7f7a40d3af7a909dc612582f5f996da6c Author: Corinna Vinschen Date: Fri May 13 13:26:54 2022 +0200 Cygwin: switch to _REENT_GLOBAL_STDIO_STREAMS =20 Signed-off-by: Corinna Vinschen Diff: --- winsup/cygwin/cygtls.cc | 12 +- winsup/cygwin/dcrt0.cc | 4 - winsup/cygwin/include/cygwin/config.h | 1 + winsup/cygwin/tlsoffsets.h | 216 +++++++++++++++++-------------= ---- winsup/cygwin/tlsoffsets64.h | 216 +++++++++++++++++-------------= ---- 5 files changed, 219 insertions(+), 230 deletions(-) diff --git a/winsup/cygwin/cygtls.cc b/winsup/cygwin/cygtls.cc index c8352adf9..4b6a85d10 100644 --- a/winsup/cygwin/cygtls.cc +++ b/winsup/cygwin/cygtls.cc @@ -55,16 +55,8 @@ _cygtls::init_thread (void *x, DWORD (*func) (void *, vo= id *)) _REENT_INIT_PTR (&local_clib); stackptr =3D stack; altstack.ss_flags =3D SS_DISABLE; - if (_GLOBAL_REENT) - { - local_clib._stdin =3D _GLOBAL_REENT->_stdin; - local_clib._stdout =3D _GLOBAL_REENT->_stdout; - local_clib._stderr =3D _GLOBAL_REENT->_stderr; - if (_GLOBAL_REENT->__cleanup) - local_clib.__cleanup =3D _cygtls::cleanup_early; - local_clib.__sglue._niobs =3D 3; - local_clib.__sglue._iobs =3D &_GLOBAL_REENT->__sf[0]; - } + if (_GLOBAL_REENT->__cleanup) + local_clib.__cleanup =3D _cygtls::cleanup_early; } =20 thread_id =3D GetCurrentThreadId (); diff --git a/winsup/cygwin/dcrt0.cc b/winsup/cygwin/dcrt0.cc index 5f460d8a5..c11f71942 100644 --- a/winsup/cygwin/dcrt0.cc +++ b/winsup/cygwin/dcrt0.cc @@ -756,10 +756,6 @@ dll_crt0_0 () SetErrorMode (SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX); =20 lock_process::init (); - _impure_ptr =3D _GLOBAL_REENT; - _impure_ptr->_stdin =3D &_impure_ptr->__sf[0]; - _impure_ptr->_stdout =3D &_impure_ptr->__sf[1]; - _impure_ptr->_stderr =3D &_impure_ptr->__sf[2]; user_data->impure_ptr =3D _impure_ptr; user_data->impure_ptr_ptr =3D &_impure_ptr; =20 diff --git a/winsup/cygwin/include/cygwin/config.h b/winsup/cygwin/include/= cygwin/config.h index 71a216fbd..56fc326bd 100644 --- a/winsup/cygwin/include/cygwin/config.h +++ b/winsup/cygwin/include/cygwin/config.h @@ -66,6 +66,7 @@ extern inline struct _reent *__getreent (void) /* The following block of macros is required to build newlib correctly for Cygwin. Changing them in applications has no or not the desired effect. Just leave them alone. */ +#define _REENT_GLOBAL_STDIO_STREAMS 1 #define _READ_WRITE_RETURN_TYPE _ssize_t #define _READ_WRITE_BUFSIZE_TYPE size_t #define __LARGE64_FILES 1 diff --git a/winsup/cygwin/tlsoffsets.h b/winsup/cygwin/tlsoffsets.h index 13d1003e3..c306d6611 100644 --- a/winsup/cygwin/tlsoffsets.h +++ b/winsup/cygwin/tlsoffsets.h @@ -7,60 +7,60 @@ //; $tls::plocal_clib =3D 1720; //; $tls::__dontuse =3D -10980; //; $tls::p__dontuse =3D 1720; -//; $tls::func =3D -9892; -//; $tls::pfunc =3D 2808; -//; $tls::saved_errno =3D -9888; -//; $tls::psaved_errno =3D 2812; -//; $tls::sa_flags =3D -9884; -//; $tls::psa_flags =3D 2816; -//; $tls::oldmask =3D -9880; -//; $tls::poldmask =3D 2820; -//; $tls::deltamask =3D -9876; -//; $tls::pdeltamask =3D 2824; -//; $tls::errno_addr =3D -9872; -//; $tls::perrno_addr =3D 2828; -//; $tls::sigmask =3D -9868; -//; $tls::psigmask =3D 2832; -//; $tls::sigwait_mask =3D -9864; -//; $tls::psigwait_mask =3D 2836; -//; $tls::altstack =3D -9860; -//; $tls::paltstack =3D 2840; -//; $tls::sigwait_info =3D -9848; -//; $tls::psigwait_info =3D 2852; -//; $tls::signal_arrived =3D -9844; -//; $tls::psignal_arrived =3D 2856; -//; $tls::will_wait_for_signal =3D -9840; -//; $tls::pwill_wait_for_signal =3D 2860; -//; $tls::__align =3D -9836; -//; $tls::p__align =3D 2864; -//; $tls::context =3D -9832; -//; $tls::pcontext =3D 2868; -//; $tls::thread_id =3D -9084; -//; $tls::pthread_id =3D 3616; -//; $tls::infodata =3D -9080; -//; $tls::pinfodata =3D 3620; -//; $tls::tid =3D -8932; -//; $tls::ptid =3D 3768; -//; $tls::_ctinfo =3D -8928; -//; $tls::p_ctinfo =3D 3772; -//; $tls::andreas =3D -8924; -//; $tls::pandreas =3D 3776; -//; $tls::wq =3D -8920; -//; $tls::pwq =3D 3780; -//; $tls::sig =3D -8892; -//; $tls::psig =3D 3808; -//; $tls::incyg =3D -8888; -//; $tls::pincyg =3D 3812; -//; $tls::spinning =3D -8884; -//; $tls::pspinning =3D 3816; -//; $tls::stacklock =3D -8880; -//; $tls::pstacklock =3D 3820; -//; $tls::stackptr =3D -8876; -//; $tls::pstackptr =3D 3824; -//; $tls::stack =3D -8872; -//; $tls::pstack =3D 3828; -//; $tls::initialized =3D -7848; -//; $tls::pinitialized =3D 4852; +//; $tls::func =3D -10244; +//; $tls::pfunc =3D 2456; +//; $tls::saved_errno =3D -10240; +//; $tls::psaved_errno =3D 2460; +//; $tls::sa_flags =3D -10236; +//; $tls::psa_flags =3D 2464; +//; $tls::oldmask =3D -10232; +//; $tls::poldmask =3D 2468; +//; $tls::deltamask =3D -10228; +//; $tls::pdeltamask =3D 2472; +//; $tls::errno_addr =3D -10224; +//; $tls::perrno_addr =3D 2476; +//; $tls::sigmask =3D -10220; +//; $tls::psigmask =3D 2480; +//; $tls::sigwait_mask =3D -10216; +//; $tls::psigwait_mask =3D 2484; +//; $tls::altstack =3D -10212; +//; $tls::paltstack =3D 2488; +//; $tls::sigwait_info =3D -10200; +//; $tls::psigwait_info =3D 2500; +//; $tls::signal_arrived =3D -10196; +//; $tls::psignal_arrived =3D 2504; +//; $tls::will_wait_for_signal =3D -10192; +//; $tls::pwill_wait_for_signal =3D 2508; +//; $tls::__align =3D -10188; +//; $tls::p__align =3D 2512; +//; $tls::context =3D -10184; +//; $tls::pcontext =3D 2516; +//; $tls::thread_id =3D -9436; +//; $tls::pthread_id =3D 3264; +//; $tls::infodata =3D -9432; +//; $tls::pinfodata =3D 3268; +//; $tls::tid =3D -9284; +//; $tls::ptid =3D 3416; +//; $tls::_ctinfo =3D -9280; +//; $tls::p_ctinfo =3D 3420; +//; $tls::andreas =3D -9276; +//; $tls::pandreas =3D 3424; +//; $tls::wq =3D -9272; +//; $tls::pwq =3D 3428; +//; $tls::sig =3D -9244; +//; $tls::psig =3D 3456; +//; $tls::incyg =3D -9240; +//; $tls::pincyg =3D 3460; +//; $tls::spinning =3D -9236; +//; $tls::pspinning =3D 3464; +//; $tls::stacklock =3D -9232; +//; $tls::pstacklock =3D 3468; +//; $tls::stackptr =3D -9228; +//; $tls::pstackptr =3D 3472; +//; $tls::stack =3D -9224; +//; $tls::pstack =3D 3476; +//; $tls::initialized =3D -8200; +//; $tls::pinitialized =3D 4500; //; __DATA__ =20 #define tls_locals (-12700) @@ -69,57 +69,57 @@ #define tls_plocal_clib (1720) #define tls___dontuse (-10980) #define tls_p__dontuse (1720) -#define tls_func (-9892) -#define tls_pfunc (2808) -#define tls_saved_errno (-9888) -#define tls_psaved_errno (2812) -#define tls_sa_flags (-9884) -#define tls_psa_flags (2816) -#define tls_oldmask (-9880) -#define tls_poldmask (2820) -#define tls_deltamask (-9876) -#define tls_pdeltamask (2824) -#define tls_errno_addr (-9872) -#define tls_perrno_addr (2828) -#define tls_sigmask (-9868) -#define tls_psigmask (2832) -#define tls_sigwait_mask (-9864) -#define tls_psigwait_mask (2836) -#define tls_altstack (-9860) -#define tls_paltstack (2840) -#define tls_sigwait_info (-9848) -#define tls_psigwait_info (2852) -#define tls_signal_arrived (-9844) -#define tls_psignal_arrived (2856) -#define tls_will_wait_for_signal (-9840) -#define tls_pwill_wait_for_signal (2860) -#define tls___align (-9836) -#define tls_p__align (2864) -#define tls_context (-9832) -#define tls_pcontext (2868) -#define tls_thread_id (-9084) -#define tls_pthread_id (3616) -#define tls_infodata (-9080) -#define tls_pinfodata (3620) -#define tls_tid (-8932) -#define tls_ptid (3768) -#define tls__ctinfo (-8928) -#define tls_p_ctinfo (3772) -#define tls_andreas (-8924) -#define tls_pandreas (3776) -#define tls_wq (-8920) -#define tls_pwq (3780) -#define tls_sig (-8892) -#define tls_psig (3808) -#define tls_incyg (-8888) -#define tls_pincyg (3812) -#define tls_spinning (-8884) -#define tls_pspinning (3816) -#define tls_stacklock (-8880) -#define tls_pstacklock (3820) -#define tls_stackptr (-8876) -#define tls_pstackptr (3824) -#define tls_stack (-8872) -#define tls_pstack (3828) -#define tls_initialized (-7848) -#define tls_pinitialized (4852) +#define tls_func (-10244) +#define tls_pfunc (2456) +#define tls_saved_errno (-10240) +#define tls_psaved_errno (2460) +#define tls_sa_flags (-10236) +#define tls_psa_flags (2464) +#define tls_oldmask (-10232) +#define tls_poldmask (2468) +#define tls_deltamask (-10228) +#define tls_pdeltamask (2472) +#define tls_errno_addr (-10224) +#define tls_perrno_addr (2476) +#define tls_sigmask (-10220) +#define tls_psigmask (2480) +#define tls_sigwait_mask (-10216) +#define tls_psigwait_mask (2484) +#define tls_altstack (-10212) +#define tls_paltstack (2488) +#define tls_sigwait_info (-10200) +#define tls_psigwait_info (2500) +#define tls_signal_arrived (-10196) +#define tls_psignal_arrived (2504) +#define tls_will_wait_for_signal (-10192) +#define tls_pwill_wait_for_signal (2508) +#define tls___align (-10188) +#define tls_p__align (2512) +#define tls_context (-10184) +#define tls_pcontext (2516) +#define tls_thread_id (-9436) +#define tls_pthread_id (3264) +#define tls_infodata (-9432) +#define tls_pinfodata (3268) +#define tls_tid (-9284) +#define tls_ptid (3416) +#define tls__ctinfo (-9280) +#define tls_p_ctinfo (3420) +#define tls_andreas (-9276) +#define tls_pandreas (3424) +#define tls_wq (-9272) +#define tls_pwq (3428) +#define tls_sig (-9244) +#define tls_psig (3456) +#define tls_incyg (-9240) +#define tls_pincyg (3460) +#define tls_spinning (-9236) +#define tls_pspinning (3464) +#define tls_stacklock (-9232) +#define tls_pstacklock (3468) +#define tls_stackptr (-9228) +#define tls_pstackptr (3472) +#define tls_stack (-9224) +#define tls_pstack (3476) +#define tls_initialized (-8200) +#define tls_pinitialized (4500) diff --git a/winsup/cygwin/tlsoffsets64.h b/winsup/cygwin/tlsoffsets64.h index d137408d0..9d42c20c7 100644 --- a/winsup/cygwin/tlsoffsets64.h +++ b/winsup/cygwin/tlsoffsets64.h @@ -7,60 +7,60 @@ //; $tls::plocal_clib =3D 2176; //; $tls::__dontuse =3D -10624; //; $tls::p__dontuse =3D 2176; -//; $tls::func =3D -8736; -//; $tls::pfunc =3D 4064; -//; $tls::saved_errno =3D -8728; -//; $tls::psaved_errno =3D 4072; -//; $tls::sa_flags =3D -8724; -//; $tls::psa_flags =3D 4076; -//; $tls::oldmask =3D -8720; -//; $tls::poldmask =3D 4080; -//; $tls::deltamask =3D -8712; -//; $tls::pdeltamask =3D 4088; -//; $tls::errno_addr =3D -8704; -//; $tls::perrno_addr =3D 4096; -//; $tls::sigmask =3D -8696; -//; $tls::psigmask =3D 4104; -//; $tls::sigwait_mask =3D -8688; -//; $tls::psigwait_mask =3D 4112; -//; $tls::altstack =3D -8680; -//; $tls::paltstack =3D 4120; -//; $tls::sigwait_info =3D -8656; -//; $tls::psigwait_info =3D 4144; -//; $tls::signal_arrived =3D -8648; -//; $tls::psignal_arrived =3D 4152; -//; $tls::will_wait_for_signal =3D -8640; -//; $tls::pwill_wait_for_signal =3D 4160; -//; $tls::__align =3D -8632; -//; $tls::p__align =3D 4168; -//; $tls::context =3D -8624; -//; $tls::pcontext =3D 4176; -//; $tls::thread_id =3D -7328; -//; $tls::pthread_id =3D 5472; -//; $tls::infodata =3D -7324; -//; $tls::pinfodata =3D 5476; -//; $tls::tid =3D -7176; -//; $tls::ptid =3D 5624; -//; $tls::_ctinfo =3D -7168; -//; $tls::p_ctinfo =3D 5632; -//; $tls::andreas =3D -7160; -//; $tls::pandreas =3D 5640; -//; $tls::wq =3D -7152; -//; $tls::pwq =3D 5648; -//; $tls::sig =3D -7104; -//; $tls::psig =3D 5696; -//; $tls::incyg =3D -7100; -//; $tls::pincyg =3D 5700; -//; $tls::spinning =3D -7096; -//; $tls::pspinning =3D 5704; -//; $tls::stacklock =3D -7092; -//; $tls::pstacklock =3D 5708; -//; $tls::stackptr =3D -7088; -//; $tls::pstackptr =3D 5712; -//; $tls::stack =3D -7080; -//; $tls::pstack =3D 5720; -//; $tls::initialized =3D -5032; -//; $tls::pinitialized =3D 7768; +//; $tls::func =3D -9312; +//; $tls::pfunc =3D 3488; +//; $tls::saved_errno =3D -9304; +//; $tls::psaved_errno =3D 3496; +//; $tls::sa_flags =3D -9300; +//; $tls::psa_flags =3D 3500; +//; $tls::oldmask =3D -9296; +//; $tls::poldmask =3D 3504; +//; $tls::deltamask =3D -9288; +//; $tls::pdeltamask =3D 3512; +//; $tls::errno_addr =3D -9280; +//; $tls::perrno_addr =3D 3520; +//; $tls::sigmask =3D -9272; +//; $tls::psigmask =3D 3528; +//; $tls::sigwait_mask =3D -9264; +//; $tls::psigwait_mask =3D 3536; +//; $tls::altstack =3D -9256; +//; $tls::paltstack =3D 3544; +//; $tls::sigwait_info =3D -9232; +//; $tls::psigwait_info =3D 3568; +//; $tls::signal_arrived =3D -9224; +//; $tls::psignal_arrived =3D 3576; +//; $tls::will_wait_for_signal =3D -9216; +//; $tls::pwill_wait_for_signal =3D 3584; +//; $tls::__align =3D -9208; +//; $tls::p__align =3D 3592; +//; $tls::context =3D -9200; +//; $tls::pcontext =3D 3600; +//; $tls::thread_id =3D -7904; +//; $tls::pthread_id =3D 4896; +//; $tls::infodata =3D -7900; +//; $tls::pinfodata =3D 4900; +//; $tls::tid =3D -7752; +//; $tls::ptid =3D 5048; +//; $tls::_ctinfo =3D -7744; +//; $tls::p_ctinfo =3D 5056; +//; $tls::andreas =3D -7736; +//; $tls::pandreas =3D 5064; +//; $tls::wq =3D -7728; +//; $tls::pwq =3D 5072; +//; $tls::sig =3D -7680; +//; $tls::psig =3D 5120; +//; $tls::incyg =3D -7676; +//; $tls::pincyg =3D 5124; +//; $tls::spinning =3D -7672; +//; $tls::pspinning =3D 5128; +//; $tls::stacklock =3D -7668; +//; $tls::pstacklock =3D 5132; +//; $tls::stackptr =3D -7664; +//; $tls::pstackptr =3D 5136; +//; $tls::stack =3D -7656; +//; $tls::pstack =3D 5144; +//; $tls::initialized =3D -5608; +//; $tls::pinitialized =3D 7192; //; __DATA__ =20 #define tls_locals (-12800) @@ -69,57 +69,57 @@ #define tls_plocal_clib (2176) #define tls___dontuse (-10624) #define tls_p__dontuse (2176) -#define tls_func (-8736) -#define tls_pfunc (4064) -#define tls_saved_errno (-8728) -#define tls_psaved_errno (4072) -#define tls_sa_flags (-8724) -#define tls_psa_flags (4076) -#define tls_oldmask (-8720) -#define tls_poldmask (4080) -#define tls_deltamask (-8712) -#define tls_pdeltamask (4088) -#define tls_errno_addr (-8704) -#define tls_perrno_addr (4096) -#define tls_sigmask (-8696) -#define tls_psigmask (4104) -#define tls_sigwait_mask (-8688) -#define tls_psigwait_mask (4112) -#define tls_altstack (-8680) -#define tls_paltstack (4120) -#define tls_sigwait_info (-8656) -#define tls_psigwait_info (4144) -#define tls_signal_arrived (-8648) -#define tls_psignal_arrived (4152) -#define tls_will_wait_for_signal (-8640) -#define tls_pwill_wait_for_signal (4160) -#define tls___align (-8632) -#define tls_p__align (4168) -#define tls_context (-8624) -#define tls_pcontext (4176) -#define tls_thread_id (-7328) -#define tls_pthread_id (5472) -#define tls_infodata (-7324) -#define tls_pinfodata (5476) -#define tls_tid (-7176) -#define tls_ptid (5624) -#define tls__ctinfo (-7168) -#define tls_p_ctinfo (5632) -#define tls_andreas (-7160) -#define tls_pandreas (5640) -#define tls_wq (-7152) -#define tls_pwq (5648) -#define tls_sig (-7104) -#define tls_psig (5696) -#define tls_incyg (-7100) -#define tls_pincyg (5700) -#define tls_spinning (-7096) -#define tls_pspinning (5704) -#define tls_stacklock (-7092) -#define tls_pstacklock (5708) -#define tls_stackptr (-7088) -#define tls_pstackptr (5712) -#define tls_stack (-7080) -#define tls_pstack (5720) -#define tls_initialized (-5032) -#define tls_pinitialized (7768) +#define tls_func (-9312) +#define tls_pfunc (3488) +#define tls_saved_errno (-9304) +#define tls_psaved_errno (3496) +#define tls_sa_flags (-9300) +#define tls_psa_flags (3500) +#define tls_oldmask (-9296) +#define tls_poldmask (3504) +#define tls_deltamask (-9288) +#define tls_pdeltamask (3512) +#define tls_errno_addr (-9280) +#define tls_perrno_addr (3520) +#define tls_sigmask (-9272) +#define tls_psigmask (3528) +#define tls_sigwait_mask (-9264) +#define tls_psigwait_mask (3536) +#define tls_altstack (-9256) +#define tls_paltstack (3544) +#define tls_sigwait_info (-9232) +#define tls_psigwait_info (3568) +#define tls_signal_arrived (-9224) +#define tls_psignal_arrived (3576) +#define tls_will_wait_for_signal (-9216) +#define tls_pwill_wait_for_signal (3584) +#define tls___align (-9208) +#define tls_p__align (3592) +#define tls_context (-9200) +#define tls_pcontext (3600) +#define tls_thread_id (-7904) +#define tls_pthread_id (4896) +#define tls_infodata (-7900) +#define tls_pinfodata (4900) +#define tls_tid (-7752) +#define tls_ptid (5048) +#define tls__ctinfo (-7744) +#define tls_p_ctinfo (5056) +#define tls_andreas (-7736) +#define tls_pandreas (5064) +#define tls_wq (-7728) +#define tls_pwq (5072) +#define tls_sig (-7680) +#define tls_psig (5120) +#define tls_incyg (-7676) +#define tls_pincyg (5124) +#define tls_spinning (-7672) +#define tls_pspinning (5128) +#define tls_stacklock (-7668) +#define tls_pstacklock (5132) +#define tls_stackptr (-7664) +#define tls_pstackptr (5136) +#define tls_stack (-7656) +#define tls_pstack (5144) +#define tls_initialized (-5608) +#define tls_pinitialized (7192)