From: Chris Johns <chr...@rtems.org>

- Newlib overtites any FILE pointers set in stdin, stdout or stderr.
Closes #3870
---
 cpukit/libcsupport/src/newlibc_reent.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/cpukit/libcsupport/src/newlibc_reent.c 
b/cpukit/libcsupport/src/newlibc_reent.c
index 430157cf0f..6dc0b1eeaa 100644
--- a/cpukit/libcsupport/src/newlibc_reent.c
+++ b/cpukit/libcsupport/src/newlibc_reent.c
@@ -44,7 +44,10 @@ bool newlib_create_hook(
   }
 #endif
 
-  _REENT_INIT_PTR((creating_task->libc_reent)); /* GCC extension: structure 
constants */
+  extern void __sinit (struct _reent *s);
+  struct _reent *reent = (struct _reent *) creating_task->libc_reent;
+  _REENT_INIT_PTR((reent)); /* GCC extension: structure constants */
+  __sinit( reent );
 
   return true;
 }
-- 
2.23.0

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to