]> sourceware.org Git - newlib-cygwin.git/commit
Fix __getreent function for Cygwin
authorCorinna Vinschen <corinna@vinschen.de>
Thu, 18 Aug 2016 08:27:14 +0000 (10:27 +0200)
committerCorinna Vinschen <corinna@vinschen.de>
Thu, 18 Aug 2016 08:27:14 +0000 (10:27 +0200)
commit4de8596b8e249c6201648352fc349023f0b230c9
treeac0463b5018d109bdb729632607cdf76cb8e6beb
parent0e2e3c958c9861861f0c556eba6e896707978c5c
Fix __getreent function for Cygwin

So far the lib function __getreent always returned _impure_ptr.  On Cygwin
this is only correct after _impure_ptr got initialized.  The inline
function in include/cygwin/config.h always returns the right _reent ptr,
though.

After introducing per-thread locales, the __getreent function is called
prior to initialization of _impure_ptr (from dll_crt0_0) to access the
locale pointer, which leads to a crash.

Fix the __getreent lib function for Cygwin to return the correct _reent
pointer all the time.  Rename inline function to __inline_getreent
and introduce a macro __getreent calling the inline function.  Change
the lib function __getreent to call __inline_getreent on Cygwin.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
newlib/libc/reent/getreent.c
winsup/cygwin/include/cygwin/config.h
This page took 0.032044 seconds and 5 git commands to generate.