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

Reply via email to