From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1921) id 1D1513839C5E; Fri, 13 May 2022 11:19:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D1513839C5E Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Sebastian Huber To: newlib-cvs@sourceware.org Subject: [newlib-cygwin] Move __sglue initializations to __sfp() X-Act-Checkin: newlib-cygwin X-Git-Author: Matt Joyce X-Git-Refname: refs/heads/master X-Git-Oldrev: d83aa402b7ba3e3ec16d247a26cc8343a2e7efa3 X-Git-Newrev: a7bdda05038d3a95daed5aca7d0d4c6ce755e1d9 Message-Id: <20220513111952.1D1513839C5E@sourceware.org> Date: Fri, 13 May 2022 11:19:52 +0000 (GMT) X-BeenThere: newlib-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib GIT logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 May 2022 11:19:52 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dnewlib-cygwin.git;h=3Da7bdda05038= d3a95daed5aca7d0d4c6ce755e1d9 commit a7bdda05038d3a95daed5aca7d0d4c6ce755e1d9 Author: Matt Joyce Date: Tue May 3 06:17:15 2022 +0200 Move __sglue initializations to __sfp() =20 Moved last remaining __sglue initializations from __sinit() to __sfp(). The move better encapsulates access to __sglue and facilitates its decoupling from struct _reent in a follow-on patch. Diff: --- newlib/libc/stdio/findfp.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c index afbdad9b1..7434c343c 100644 --- a/newlib/libc/stdio/findfp.c +++ b/newlib/libc/stdio/findfp.c @@ -151,8 +151,14 @@ __sfp (struct _reent *d) =20 _newlib_sfp_lock_start (); =20 - if (_GLOBAL_REENT->__cleanup =3D=3D NULL) + if (_GLOBAL_REENT->__cleanup =3D=3D NULL) { +#ifdef _REENT_GLOBAL_STDIO_STREAMS + _GLOBAL_REENT->__sglue._niobs =3D 3; + _GLOBAL_REENT->__sglue._iobs =3D &__sf[0]; +#endif __sinit (_GLOBAL_REENT); + } + for (g =3D &_GLOBAL_REENT->__sglue;; g =3D g->_next) { for (fp =3D g->_iobs, n =3D g->_niobs; --n >=3D 0; fp++) @@ -256,8 +262,6 @@ __sinit (struct _reent *s) =20 #ifdef _REENT_GLOBAL_STDIO_STREAMS if (__sf[0]._cookie =3D=3D NULL) { - _GLOBAL_REENT->__sglue._niobs =3D 3; - _GLOBAL_REENT->__sglue._iobs =3D &__sf[0]; stdin_init (&__sf[0]); stdout_init (&__sf[1]); stderr_init (&__sf[2]);