fix sem_close regression test sem_close with O_CREAT takes 4 parameters, not 3. The last parameter, the initial value for the semaphore, had an arbitrary value from whatever was on the stack, and lead to spurious failures with EINVAL when it happened to be greater than SEM_VALUE_MAX. Since there isn't error checking in this test, this lead to a segfault in the first sem_post call.
fix flockfile-list regression test this test should check if freed stdio memory is clobbered after an funlockfile. the old method was very fragile: it tried to reuse the freed memory via a malloc and check if that allocation is clobbered. now musl supports malloc interposition so we can use that to directly check the required property.
Makefile: prevent linking duplicate object files previously the foo.OBJS list could not include foo.o because that's already linked into foo.exe, but this is an easy mistake to make when using foo.OBJS to link multiple objects into a test binary so ensure that objects are not duplicated on the link command line.
add utime (utimensat, futimens) functional tests these tests check for the ability to set file timestamps using UTIME_NOW, UTIME_OMIT, and explicit timespecs. they indirectly check that fstat works as well, and include a check of the first Y2038 timestamp that overflows 32-bit time_t, reporting errors for a Y2038 EOL implementaton (if time_t is 32-bit) or a kernel, filesystem, or library implementation that fails to set and read back timestamps past the 32-bit limit despite having a time_t type that can represent such a timestamp.
allow omitted inexact in nearest integer functions in ceil, floor, trunc, round, lround and llround omitting inexact is not an error (in fact it will be required to be omitted in c2x, but c11 allows both behaviours).
skip known math failures mark known failures with X and let the test pass if the error is acceptable and not expected to be fixed soon. this way the excessive math failures are easier to grep out.