From fe09d8d4d3c8c663217be1d1db49fb579bfdadbe Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Fri, 14 Feb 2020 15:16:46 +1100 Subject: libcsupport/newlib: Call newlib's __sinit to force reent initialisation - 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(-) (limited to 'cpukit') 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; } -- cgit v1.2.3