This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v3 2/2] newlib/.../getreent.c: Do not define if __DYNAMIC_REENT__ is enabled


On 27/10/17 23:32, Joel Sherrill wrote:
RTEMS provides the option to have a global or per-thread reentrancy
as part of application configuration. As part of this, RTEMS provides
the implementation of __getreent() as appropriate. Allow the target
to determine if this method is present in libc.a.
---
  newlib/libc/reent/getreent.c | 10 ++++++++++
  1 file changed, 10 insertions(+)

diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c
index 60ae6fb..b42a88b 100644
--- a/newlib/libc/reent/getreent.c
+++ b/newlib/libc/reent/getreent.c
@@ -1,5 +1,13 @@
  /* default reentrant pointer when multithread enabled */
+#include <reent.h>
+
+#ifdef __DYNAMIC_REENT__
+
+int _dummy_getreent;
+
+#else
+
  #include <_ansi.h>
  #include <reent.h>
@@ -12,3 +20,5 @@ _DEFUN_VOID(__getreent)
  {
    return _impure_ptr;
  }
+
+#endif

__getreent() is only used if __DYNAMIC_REENT__ is defined:

#if defined(__DYNAMIC_REENT__) && !defined(__SINGLE_THREAD__)
#ifndef __getreent
  struct _reent * _EXFUN(__getreent, (void));
#endif
# define _REENT (__getreent())
#else /* __SINGLE_THREAD__ || !__DYNAMIC_REENT__ */
# define _REENT _impure_ptr
#endif /* __SINGLE_THREAD__ || !__DYNAMIC_REENT__ */

Why can't we delete this file (newlib/libc/reent/getreent.c)?

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]