Glibc definitely does this transparent mapping as well. Calling
int fd = open(<path>, O_RDONLY)
yields
openat(AT_FDCWD, <path>, O_RDONLY)
when running through strace.
This really surprised me when I was digging into Linux tracing technology and noticed no `open` syscalls on my running system. It was all `openat`. I don't know when this transition happened, but I totally missed it.
This really surprised me when I was digging into Linux tracing technology and noticed no `open` syscalls on my running system. It was all `openat`. I don't know when this transition happened, but I totally missed it.