According to Pádraig Brady on 1/8/2010 10:13 AM:
touch: setting times of `dangling': Function not implemented
The test is assuming that because glibc declared utimensat, that it will
work. But obviously it doesn't, because your kernel is too old. I don't
know of any better way to filter out this test, other than to add logic
that skips (rather than fails) if touch dies with ENOSYS.
Yes we should skip in this case, and there are probably
lots of other tests that would need skipping on unsupported
operations also. Detecting "unsupported" generally though may
be tricky as I'm not sure can we depend on particular error numbers.
But for this _particular_ test, the error text will always include
"Function not implemented". Why? Because so far, Linux is the only
system where utimensat() exists at link time but where it fails with
ENOSYS. All other platforms either lack utimensat, or utimensat succeeds
as documented.
So it seems like this would do the trick (but I have not yet tested it on
a system with the mismatch between kernel and glibc, so no ChangeLog yet...)