On 3/26/26 13:03, Pádraig Brady wrote:
Well I'm not too sure on all this,
but the replacement seems due to mbrtowc and mbrtoc32 returning EILSEQ
in the C locale
(as mentioned in the comment above the 3 lines referenced above in lib/
mcel.h
OK; does simply removing the "#undef mbrtoc32" from mcel.h give the
performance boost? Or do you also need to tell 'configure' that mbrtowc
is missing? And if the latter, why don't you also need to tell
'configure' that mbrtoc32 is missing?
With ./configure ac_cv_func_mbrtowc=no we get the following (and faster
operation):
HAVE_MBRTOC16='1'
HAVE_MBRTOC32='1'
HAVE_MBRTOWC='0'
REPLACE_MBRTOC16='0'
REPLACE_MBRTOC32='1'
REPLACE_MBRTOWC='1'
It sounds like we need to modify m4/mbrtowc.m4 so that it replaces
mbrtwoc on glibc. Maybe similarly for mbrtoc32?