Date: Wed, 24 Apr 2013 09:32:13 -0400 From: Rich Felker <dalias@...ifal.cx> To: musl@...ts.openwall.com Subject: Re: cluts test suite with musl On Wed, Apr 24, 2013 at 03:26:57PM +0300, Timerlan Moldobaev wrote: > Thanks ! > > I applied the patch. Still have some tests failing. > > For instance tests/buf fails with the following error message: > > iconv(&<"abcd">, &<4>, &s, &<3>) caused a SIGSEGV! > > I am not sure but it seems that iconv() that is called from wrap_iconv() > should return an error return value and set an errno value. > At least to my understanding that the way the test is written. > For musl implementation of iconv() returns 0 and sets no errno. > > While in the case of standard Linux implementation, errno = E2BIG and -1 > returned ( error return value) . > > For the case buf linked dynamically against the standard libc.so library: > > ldd tests/buf > libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030d1000000) > librt.so.1 => /lib64/librt.so.1 (0x00000030d4400000) > libm.so.6 => /lib64/libm.so.6 (0x00000030d0800000) > libc.so.6 => /lib64/libc.so.6 (0x00000030d0400000) > /lib64/ld-linux-x86-64.so.2 (0x00000030cf400000) > > > uname -a > Linux lnxbdc96 2.6.18-164.11.1.el5 #1 SMP Wed Jan 6 13:26:04 EST 2010 > x86_64 x86_64 x86_64 GNU/Linux > > Can you please look into this ? Yes, the test is invoking undefined behavior by failing to check the return value of iconv_open and passing an invalid conversion descriptor ((iconv_t)-1) to iconv. I don't know why it's crashing for you but not me; probably a difference from being 64-bit vs 32-bit affecting the way the bits of the conversion descriptor are handled. Apparently the test was written based on GNU documentation that allows "" as an alias for the current locale's encoding. This usage is non-portable, but may be something we should add to musl. nl_langinfo(CODESET) is the portable way to get this. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.