0ff79b80a2
`linkat(2)` doesn't have `AT_EMPTY_PATH` as a valid flag in this implementation because it isn't POSIX. We have it (and have support for it), but it is more effort to add it. If we need it at some point, it can be added in about 3 lines. `openat(2)` previously wasn't exposed, and William was not aware of `Sys::openat`'s existence. We use it under the hood for `mkfifoat(2)` and friends, so expose it as a libc API. This helps to pass more os-test tests. Lastly, the 3 implemented syscalls here help pass some os-test tests.