Changed -p -> --preserve=mode,ownership for 'cp' workaround in case /proc is
not mounted.
c`oreutils use *at() functions (i.e. openat(), futimesat(), unlinkat(),
fstatat(), etc) since long; on systems that provide them natively (e.g. Solaris)
they are configured at _build_ time to use native versions, without any
fallback; otherwise they emulate them, usually with {fchdir; func; fchdir back}
idiom.
Recent linux kernels provide syscalls for those *at() functions
Recent glibc versions (2.4+) provide those *at() functions; when run on a
kernel which doesn't support the corresponding syscalls, glibc falls back to
emulation using /proc/self/fd
2 files changed