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

Sebastian Huber sebastian.huber@embedded-brains.de
Thu Nov 2 12:08:00 GMT 2017


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.



More information about the Newlib mailing list