[ANNOUNCEMENT] TEST RELEASE: Cygwin 2.6.0-0.3

Corinna Vinschen corinna-cygwin@cygwin.com
Thu Jul 28 20:00:00 GMT 2016


On Jul 28 15:44, Ken Brown wrote:
> On 7/27/2016 4:33 PM, Corinna Vinschen wrote:
> > On Jul 27 10:58, Ken Brown wrote:
> >> On 7/27/2016 8:36 AM, Corinna Vinschen wrote:
> >>> Hi Cygwin developers and maintainers,
> >>> Hi everyone else,
> >>>
> >>>
> >>> I uploaded a new Cygwin test release 2.6.0-0.3.
> >>>
> >>> Supposed to fix the problems reported in
> >>> https://cygwin.com/ml/cygwin/2016-07/msg00306.html
> >>
> >> This is now fixed.  Here's another problem, with a very easy test case:
> >>
> >> $ locale -a
> >> Segmentation fault (core dumped)
> > 
> > Confirmed.  I missed to set a variable in case of the "th_TH.TIS-620"
> > locale or the "thai" locale alias.  I'll build a 0.4 tomorrow.
> 
> This is fixed in 0.4, and that's the last of the regressions that I've
> found by running the emacs test suite.
> 
> I built and tested texlive with no problem.
> 
> I also tried to build icu, but there are some glitches due to the new
> POSIX guard in /usr/include/locale.h.  For example: [...]
> 
> The errors go away if I move the prototypes of setlocale and
> localeconv outside of the new POSIX guard.

Ouch, right, they don't belong there.  What was I thinking?

Proposing this patch, can you give it a quick test?

diff --git a/newlib/libc/include/locale.h b/newlib/libc/include/locale.h
index f74e9c5..6b3b788 100644
--- a/newlib/libc/include/locale.h
+++ b/newlib/libc/include/locale.h
@@ -72,26 +72,26 @@ char *_EXFUN(_setlocale_r,(struct _reent *, int, const char *));
 struct lconv *_EXFUN(_localeconv_r,(struct _reent *));
 
 #if __POSIX_VISIBLE >= 200809
-
 locale_t _newlocale_r (struct _reent *, int, const char *, locale_t);
 void _freelocale_r (struct _reent *, locale_t);
 locale_t _duplocale_r (struct _reent *, locale_t);
 locale_t _uselocale_r (struct _reent *, locale_t);
+#endif /* __POSIX_VISIBLE >= 200809 */
 
 #ifndef _REENT_ONLY
 
 char *_EXFUN(setlocale,(int, const char *));
 struct lconv *_EXFUN(localeconv,(void));
 
+#if __POSIX_VISIBLE >= 200809
 locale_t newlocale (int, const char *, locale_t);
 void freelocale (locale_t);
 locale_t duplocale (locale_t);
 locale_t uselocale (locale_t);
+#endif /* __POSIX_VISIBLE >= 200809 */
 
 #endif /* _REENT_ONLY */
 
-#endif /* __POSIX_VISIBLE >= 200809 */
-
 _END_STD_C
 
 #endif /* _LOCALE_H_ */


Thanks (A LOT),
Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20160728/484b0a88/attachment.sig>


More information about the Cygwin mailing list