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
No comments:
Post a Comment