Khem Raj wrote:
> > Khem Raj wrote:
> > > > * tests/test-c32isalnum.c(main): Disable failing testcase on musl.
> >
> > With which distribution and which musl libc version did you see the
> > test fail?
>
> This is with yocto based custom embedded Linux distribution I can share
> more info and how to reproduce it if you are interested
This appears to be a distro where each user creates their own custom system
[1] (like Gentoo). Then, it's of no point for me to try to reproduce anything;
instead you'll have to help with debugging info from your system.
* Facts:
Yocto has multiple versions of musl libc [2] and multiple versions of
libunistring [3], but they don't contain specific patches regarding character
properties [4].
The test-c32ispunct.c file tests the behaviour of the function c32ispunct,
which is defined in lib/c32ispunct.c and lib/c32is-impl.h.
This function uses either WCHAR_FUNC = iswpunct (whose value at U+E003A is 0
[5]) or UCS_FUNC = uc_is_punct (whose value at U+E003A is 1 [6]).
* Hypothesis:
On your system, c32ispunct uses UCS_FUNC, when in fact it should use
WCHAR_FUNC,
most likely due to configuration issues. In particular, it could be that some
of these macros have an incorrect value:
GNULIB_defined_mbstate_t
HAVE_WORKING_MBRTOC32
HAVE_WORKING_C32RTOMB
_GL_WCHAR_T_IS_UCS4
_GL_SMALL_WCHAR_T
GL_CHAR32_T_IS_UNICODE
GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION
* Actions:
Please provide as attachments
- the output of the 'configure' command of m4-1.4.20,
- the resulting config.log file,
- the resulting config.status file,
- the resulting config.h file,
- the preprocessed output of lib/c32ispunct.c. That is, take the
compilation command of this file from your build log, remove the
"-c" and "-o outputfile" options and add "-E -dD > c32ispunct.i"
instead, and send us this file c32ispunct.i.
Bruno
[1] https://www.yoctoproject.org/
[2] https://layers.openembedded.org/layerindex/recipe/44287/
[3] https://layers.openembedded.org/rrs/recipedetail/OE-Core/272/
[4] https://git.openembedded.org/openembedded-core/tree/meta/recipes-core/musl
[5] musl/src/ctype/iswpunct.c
[6] gnulib/tests/unictype/test-ctype_punct.c