[PATCH 2/3] Reentrancy, conditionally provide default __getreent() implementation

Pekka Seppänen pexu@sourceware.mail.kapsi.fi
Wed Aug 30 09:16:32 GMT 2023


Conditionally provide default __getreent() implementation only if
_REENT_THREAD_LOCAL is not defined.  If struct _reent is replaced by
dedicated thread-local objects neither the structure nor _impure_ptr is
available.
---
  newlib/libc/reent/getreent.c | 4 ++++
  1 file changed, 4 insertions(+)

diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c
index 5fa98e96b..86bb04fb9 100644
--- a/newlib/libc/reent/getreent.c
+++ b/newlib/libc/reent/getreent.c
@@ -9,6 +9,8 @@ int _dummy_getreent;
  #include <_ansi.h>
  #include <reent.h>

+#ifndef _REENT_THREAD_LOCAL
+
  #ifdef __getreent
  #undef __getreent
  #endif
@@ -19,4 +21,6 @@ __getreent (void)
    return _impure_ptr;
  }

+#endif /* !_REENT_THREAD_LOCAL */
+
  #endif
-- 
2.34.1


More information about the Newlib mailing list