On Wed, Jun 20, 2012 at 03:28:02PM -0400, Rich Felker wrote:
> > Replacement of getcwd, because of
> > checking whether getcwd handles long file names properly... no, but it is
> > partly working
This test is failing because musl uses the kernel to resolve the
current directory name, and the kernel does not support pathnames
longer than PATH_MAX. For some reason, the test only considers this an
error if AT_FDCWD is defined.
Does gnulib aim to provide a getcwd that always works regardless of
path depth? If so, replacing getcwd is the right action for gnulib on
musl.
> > checking whether getcwd aborts when 4k < cwd_length < 16k... no
No is the correct result here. This test is looking for a bug that
only exists on some archs with large page sizes (>4k), and no means it
did not find the bug.
> > Replacement of mktime, because of
> > checking for working mktime... no
This test is buggy; it goes into an infinite loop due to integer
overflow UB, because the condition to break out of the loop is only
checked when the test does not fail:
for (j = 1; ; j <<= 1)
if (! bigtime_test (j))
result |= 4;
else if (INT_MAX / 2 < j)
break;
However this does indicate a bug in musl. The relevant code is very
old and I suspect it's not checking for integer overflows at all, just
generating huge time_t values that get truncated rather than mapped to
(time_t)-1.
Both need to be fixed.
> > test-fcntl.c:382: assertion failed
> > FAIL: test-fcntl
>
> Pending; intend to fix.
Fixed.
> > test-fma2.h:116: assertion failed
> > FAIL: test-fma2
>
> Unknown. Asking nsz..
Fixed by nsz. :-)
Rich