[PATCH 0/6] Add --enable-newlib-reent-binary-compat configure option

Sebastian Huber sebastian.huber@embedded-brains.de
Mon May 16 06:55:51 GMT 2022


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



More information about the Newlib mailing list