David Pitt, on 16 Jul, wrote: > John-Mark Bell, on 31 May, wrote: > > > Hi, > > > > In the process of upgrading the third-party components required to build
> > NetSurf, it became apparent that OpenSSL 3 makes use of the extended > > locale APIs introduced in POSIX.1-2008. While it only uses a subset of > > these APIs, I've taken the opportunity to implement the majority of them > > in UnixLib. > > > > Items outstanding (for the standard APIs -- I've ignored the GNU > > extensions entirely) are: > > > > 1. strftime_l() has not been implemented. > > 2. The uselocale() implementation does not conform to the specification. > > It should be setting a thread-local locale (and, further, the global > > variable it updates is entirely ignored by all the APIs that would > > ordinarily use the global locale -- these would need updating to make > > use of the thread-local locale, if it exists). > > > > Additionally, the extended-locale ctype functions (i.e. isalpha_l() and > > friends) are not in any way optimised like their non-extended > > counterparts. Doing so will require making parts of the struct pointed > > to by a locale_t public (which is what glibc does, at least). > > Having updated my local autobuilder to revision 7702 to include this patch > neither gcc4 nor build-world build. The errors are of the form :- > > In file included from > /home/pi/gccsdk/gcc4/srcdir/gcc/libunixlib/common/riscosify.c:48:0: > /home/pi/gccsdk/gcc4/srcdir/gcc/libunixlib/include/string.h:97:27: fatal > error: bits/locale_t.h: No such file or directory Revision 7703 supplies the missing locale_t header but a gcc4 build now fails with :- /home/djp/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/lib/scl-module/hard/fpa/libunixlib.a(stricmp.o): In function `strcasecmp_l': /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43: undefined reference to `tolower_l' /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/stricmp.c:43: undefined reference to `tolower_l' /home/djp/gccsdk/cross/lib/gcc/arm-unknown-riscos/4.7.4/../../../../arm-unknown-riscos/lib/scl-module/hard/fpa/libunixlib.a(strnicmp.o): In function `strncasecmp_l': /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/strnicmp.c:41: undefined reference to `tolower_l' /home/djp/gccsdk/gcc4/srcdir/gcc/libunixlib/string/strnicmp.c:42: undefined reference to `tolower_l' collect2: error: ld returned 1 exit status -- David Pitt _______________________________________________ GCCSDK mailing list gcc@gccsdk.riscos.info Bugzilla: http://www.riscos.info/bugzilla/index.cgi List Info: http://www.riscos.info/mailman/listinfo/gcc Main Page: http://www.riscos.info/index.php/GCCSDK