Re: Newlib Digest, Vol 27, Issue 23

Алексей Бондаренко <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <CAPHM6Q+Ayxuiadtt+-iUeEYOFe3k8SG4N7twnw+9XZmkJCfovg@mail.gmail.com>
All dubious actions - freeze, 24/7 under the attacks of scammers, perhaps
there is a substitution of identity.legitimate device is only this and then
they are trying to perform remote control, apple, Mac, there is no more
trust.

пн, 16 мая 2022 г., 09:58 <[email protected]>:

> Send Newlib mailing list submissions to
>         [email protected]
>
> To subscribe or unsubscribe via the World Wide Web, visit
>         https://sourceware.org/mailman/listinfo/newlib
> or, via email, send a message with subject or body 'help' to
>         [email protected]
>
> You can reach the person managing the list at
>         [email protected]
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of Newlib digest..."
> Today's Topics:
>
>    1. Re: [PATCH 2/7] Cygwin: Enable backward binary compatibility
>       (Sebastian Huber)
>    2. [PATCH 2/6] Optional struct _reent::__unused_sdidinit
>       (Sebastian Huber)
>    3. [PATCH 5/6] Optional struct
>       _reent::_new::_reent::_unused_rand (Sebastian Huber)
>    4. [PATCH 3/6] Optional struct _reent::_unspecified_locale_info
>       (Sebastian Huber)
>    5. [PATCH 4/6] Optional struct _reent::_new::_unused
>       (Sebastian Huber)
>    6. [PATCH 0/6] Add --enable-newlib-reent-binary-compat configure
>       option (Sebastian Huber)
>
>
>
> ---------- Forwarded message ----------
> From: Sebastian Huber <[email protected]>
> To: [email protected]
> Cc:
> Bcc:
> Date: Mon, 16 May 2022 07:31:38 +0200
> Subject: Re: [PATCH 2/7] Cygwin: Enable backward binary compatibility
> On 13/05/2022 22:15, Corinna Vinschen wrote:
> > On May 13 15:46, Sebastian Huber wrote:
> >> ---
> >>   winsup/cygwin/include/cygwin/config.h | 1 +
> >>   1 file changed, 1 insertion(+)
> >>
> >> diff --git a/winsup/cygwin/include/cygwin/config.h
> b/winsup/cygwin/include/cygwin/config.h
> >> index 71a216fbd..2d410a2e7 100644
> >> --- a/winsup/cygwin/include/cygwin/config.h
> >> +++ b/winsup/cygwin/include/cygwin/config.h
> >> @@ -80,6 +80,7 @@ extern inline struct _reent *__getreent (void)
> >>   #define __TM_GMTOFF tm_gmtoff
> >>   #define __TM_ZONE   tm_zone
> >>   #define _USE_LONG_TIME_T 1
> >> +#define _NEWLIB_BACKWARD_BINARY_COMPAT 1
> > Why?
> >
> > AFAICS we don't expose _REENT to user space.  In theory (knocking
> > on wood here), we shouldn't need _REENT binary compat.
>
> Ok good, I always thought the unused members in struct _reent were
> mainly for Cygwin.
>
> Maybe the option should be named --enable-newlib-reent-binary-compat and
> restricted to struct _reent.
>
> --
> embedded brains GmbH
> Herr Sebastian HUBER
> Dornierstr. 4
> 82178 Puchheim
> Germany
> email: [email protected]
> phone: +49-89-18 94 741 - 16
> fax:   +49-89-18 94 741 - 08
>
> Registergericht: Amtsgericht München
> Registernummer: HRB 157899
> Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
> Unsere Datenschutzerklärung finden Sie hier:
> https://embedded-brains.de/datenschutzerklaerung/
>
>
>
>
> ---------- Forwarded message ----------
> From: Sebastian Huber <[email protected]>
> To: [email protected]
> Cc:
> Bcc:
> Date: Mon, 16 May 2022 08:55:53 +0200
> Subject: [PATCH 2/6] Optional struct _reent::__unused_sdidinit
> Provide struct _reent::__unused_sdidinit only if
> _REENT_BACKWARD_BINARY_COMPAT
> is defined.
> ---
>  newlib/libc/include/sys/reent.h | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/newlib/libc/include/sys/reent.h
> b/newlib/libc/include/sys/reent.h
> index fa9ac57da..e2fd0b422 100644
> --- a/newlib/libc/include/sys/reent.h
> +++ b/newlib/libc/include/sys/reent.h
> @@ -342,6 +342,12 @@ struct _rand48 {
>  #define _REENT_ASCTIME_SIZE 26
>  #define _REENT_SIGNAL_SIZE 24
>
> +#ifdef _REENT_BACKWARD_BINARY_COMPAT
> +#define _REENT_INIT_UNUSED_SDIDINIT 0,
> +#else
> +#define _REENT_INIT_UNUSED_SDIDINIT /* Nothing to initialize */
> +#endif
> +
>  /*
>   * struct _reent
>   *
> @@ -395,9 +401,11 @@ struct _reent
>
>    char *_emergency;
>
> +#ifdef _REENT_BACKWARD_BINARY_COMPAT
>    /* No longer used, but member retained for binary compatibility.
>       Now, the __cleanup member is used to check initialization. */
>    int _unused_sdidinit;
> +#endif
>
>    int _unspecified_locale_info;        /* unused, reserved for locale
> stuff */
>    struct __locale_t *_locale;/* per-thread locale */
> @@ -440,7 +448,7 @@ struct _reent
>      &__sf[2], \
>      0,   \
>      _NULL, \
> -    0, \
> +    _REENT_INIT_UNUSED_SDIDINIT \
>      0, \
>      _NULL, \
>      _NULL, \
> @@ -478,7 +486,7 @@ extern const struct __sFILE_fake __sf_fake_stderr;
>      (__FILE *)&__sf_fake_stderr, \
>      0, \
>      _NULL, \
> -    0, \
> +    _REENT_INIT_UNUSED_SDIDINIT \
>      0, \
>      _NULL, \
>      _NULL, \
> @@ -633,9 +641,11 @@ struct _reent
>    int _unspecified_locale_info;        /* unused, reserved for locale
> stuff */
>    struct __locale_t *_locale;/* per-thread locale */
>
> +#ifdef _REENT_BACKWARD_BINARY_COMPAT
>    /* No longer used, but member retained for binary compatibility.
>       Now, the __cleanup member is used to check initialization. */
>    int _unused_sdidinit;
> +#endif
>
>    void (*__cleanup) (struct _reent *);
>
> @@ -723,7 +733,7 @@ struct _reent
>      "", \
>      0, \
>      _NULL, \
> -    0, \
> +    _REENT_INIT_UNUSED_SDIDINIT \
>      _NULL, \
>      _NULL, \
>      0, \
> --
> 2.35.3
>
>
>
>
>
> ---------- Forwarded message ----------
> From: Sebastian Huber <[email protected]>
> To: [email protected]
> Cc:
> Bcc:
> Date: Mon, 16 May 2022 08:55:56 +0200
> Subject: [PATCH 5/6] Optional struct _reent::_new::_reent::_unused_rand
> Provide struct _reent::_new::_reent::_unused_rand only if
> _REENT_BACKWARD_BINARY_COMPAT is defined.
> ---
>  newlib/libc/include/sys/reent.h | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/newlib/libc/include/sys/reent.h
> b/newlib/libc/include/sys/reent.h
> index 1884ed982..4683ecc2f 100644
> --- a/newlib/libc/include/sys/reent.h
> +++ b/newlib/libc/include/sys/reent.h
> @@ -344,9 +344,11 @@ struct _rand48 {
>
>  #ifdef _REENT_BACKWARD_BINARY_COMPAT
>  #define _REENT_INIT_UNUSED_LOCALE_INFO 0,
> +#define _REENT_INIT_UNUSED_RAND 0,
>  #define _REENT_INIT_UNUSED_SDIDINIT 0,
>  #else
>  #define _REENT_INIT_UNUSED_LOCALE_INFO /* Nothing to initialize */
> +#define _REENT_INIT_UNUSED_RAND /* Nothing to initialize */
>  #define _REENT_INIT_UNUSED_SDIDINIT /* Nothing to initialize */
>  #endif
>
> @@ -667,7 +669,9 @@ struct _reent
>      {
>        struct
>          {
> +#ifdef _REENT_BACKWARD_BINARY_COMPAT
>            unsigned int _unused_rand;
> +#endif
>            char * _strtok_last;
>            char _asctime_buf[_REENT_ASCTIME_SIZE];
>            struct __tm _localtime_buf;
> @@ -749,7 +753,7 @@ struct _reent
>      _NULL, \
>      { \
>        { \
> -        0, \
> +        _REENT_INIT_UNUSED_RAND \
>          _NULL, \
>          "", \
>          {0, 0, 0, 0, 0, 0, 0, 0, 0}, \
> --
> 2.35.3
>
>
>
>
>
> ---------- Forwarded message ----------
> From: Sebastian Huber <[email protected]>
> To: [email protected]
> Cc:
> Bcc:
> Date: Mon, 16 May 2022 08:55:54 +0200
> Subject: [PATCH 3/6] Optional struct _reent::_unspecified_locale_info
> Provide struct _reent::_unspecified_locale_info only if
> _REENT_BACKWARD_BINARY_COMPAT is defined.
> ---
>  newlib/libc/include/sys/reent.h | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/newlib/libc/include/sys/reent.h
> b/newlib/libc/include/sys/reent.h
> index e2fd0b422..5f557111e 100644
> --- a/newlib/libc/include/sys/reent.h
> +++ b/newlib/libc/include/sys/reent.h
> @@ -343,8 +343,10 @@ struct _rand48 {
>  #define _REENT_SIGNAL_SIZE 24
>
>  #ifdef _REENT_BACKWARD_BINARY_COMPAT
> +#define _REENT_INIT_UNUSED_LOCALE_INFO 0,
>  #define _REENT_INIT_UNUSED_SDIDINIT 0,
>  #else
> +#define _REENT_INIT_UNUSED_LOCALE_INFO /* Nothing to initialize */
>  #define _REENT_INIT_UNUSED_SDIDINIT /* Nothing to initialize */
>  #endif
>
> @@ -405,9 +407,9 @@ struct _reent
>    /* No longer used, but member retained for binary compatibility.
>       Now, the __cleanup member is used to check initialization. */
>    int _unused_sdidinit;
> -#endif
>
>    int _unspecified_locale_info;        /* unused, reserved for locale
> stuff */
> +#endif
>    struct __locale_t *_locale;/* per-thread locale */
>
>    struct _mprec *_mp;
> @@ -449,7 +451,7 @@ struct _reent
>      0,   \
>      _NULL, \
>      _REENT_INIT_UNUSED_SDIDINIT \
> -    0, \
> +    _REENT_INIT_UNUSED_LOCALE_INFO \
>      _NULL, \
>      _NULL, \
>      _NULL, \
> @@ -487,7 +489,7 @@ extern const struct __sFILE_fake __sf_fake_stderr;
>      0, \
>      _NULL, \
>      _REENT_INIT_UNUSED_SDIDINIT \
> -    0, \
> +    _REENT_INIT_UNUSED_LOCALE_INFO \
>      _NULL, \
>      _NULL, \
>      _NULL, \
> @@ -638,7 +640,9 @@ struct _reent
>    char _emergency[_REENT_EMERGENCY_SIZE];
>
>    /* TODO */
> +#ifdef _REENT_BACKWARD_BINARY_COMPAT
>    int _unspecified_locale_info;        /* unused, reserved for locale
> stuff */
> +#endif
>    struct __locale_t *_locale;/* per-thread locale */
>
>  #ifdef _REENT_BACKWARD_BINARY_COMPAT
> @@ -731,7 +735,7 @@ struct _reent
>      _REENT_STDIO_STREAM(&(var), 2), \
>      0, \
>      "", \
> -    0, \
> +    _REENT_INIT_UNUSED_LOCALE_INFO \
>      _NULL, \
>      _REENT_INIT_UNUSED_SDIDINIT \
>      _NULL, \
> --
> 2.35.3
>
>
>
>
>
> ---------- Forwarded message ----------
> From: Sebastian Huber <[email protected]>
> To: [email protected]
> Cc:
> Bcc:
> Date: Mon, 16 May 2022 08:55:55 +0200
> Subject: [PATCH 4/6] Optional struct _reent::_new::_unused
> Provide struct _reent::_new::_unused only if _REENT_BACKWARD_BINARY_COMPAT
> is
> defined.
> ---
>  newlib/libc/include/sys/reent.h | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/newlib/libc/include/sys/reent.h
> b/newlib/libc/include/sys/reent.h
> index 5f557111e..1884ed982 100644
> --- a/newlib/libc/include/sys/reent.h
> +++ b/newlib/libc/include/sys/reent.h
> @@ -687,6 +687,7 @@ struct _reent
>            _mbstate_t _wcsrtombs_state;
>           int _h_errno;
>          } _reent;
> +#ifdef _REENT_BACKWARD_BINARY_COMPAT
>    /* Two next two fields were once used by malloc.  They are no longer
>       used. They are used to preserve the space used before so as to
>       allow addition of new reent fields and keep binary compatibility.
>  */
> @@ -696,6 +697,7 @@ struct _reent
>            unsigned char * _nextf[_N_LISTS];
>            unsigned int _nmalloc[_N_LISTS];
>          } _unused;
> +#endif
>      } _new;
>
>  # ifndef _REENT_GLOBAL_ATEXIT
> --
> 2.35.3
>
>
>
>
>
> ---------- Forwarded message ----------
> From: Sebastian Huber <[email protected]>
> To: [email protected]
> Cc:
> Bcc:
> Date: Mon, 16 May 2022 08:55:51 +0200
> Subject: [PATCH 0/6] Add --enable-newlib-reent-binary-compat configure
> option
> This patch set adds the --enable-newlib-reent-binary-compat configure
> option
> which may be used to define the new Newlib configuration option
> _REENT_BACKWARD_BINARY_COMPAT.  This option is used to provide binary
> backward
> compatibility for struct _reent by preserving unused members in struct
> _reent
> to keep the structure layout.  Make _REENT_GLOBAL_ATEXIT the default and
> remove
> this option.
>
> v2:
>
> * Rename --enable-newlib-backward-binary-compat in
> --enable-newlib-reent-binary-compat.
>
> * Do not enable option for Cygwin.
>
> * Adjust code in libgloss.
>
> Sebastian Huber (6):
>   Add --enable-newlib-reent-binary-compat
>   Optional struct _reent::__unused_sdidinit
>   Optional struct _reent::_unspecified_locale_info
>   Optional struct _reent::_new::_unused
>   Optional struct _reent::_new::_reent::_unused_rand
>   Use global atexit data for all configurations
>
>  libgloss/arc/crt0.S                 | 11 +++--
>  libgloss/epiphany/crt0.S            | 26 +++++-----
>  libgloss/sparc_leon/locore_atexit.c |  4 +-
>  newlib/README                       | 12 ++---
>  newlib/configure                    | 30 ++++++++----
>  newlib/configure.ac                 | 25 +++++++---
>  newlib/libc/include/sys/config.h    |  7 ++-
>  newlib/libc/include/sys/reent.h     | 74 +++++++++++++++++------------
>  newlib/libc/reent/reent.c           | 19 --------
>  newlib/libc/stdlib/__atexit.c       | 15 ++----
>  newlib/libc/stdlib/__call_atexit.c  |  8 ++--
>  newlib/newlib.hin                   |  6 +--
>  12 files changed, 125 insertions(+), 112 deletions(-)
>
> --
> 2.35.3
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.