> I noticed that a build of CVS coreutils on Solaris 8 created > executables that didn't run on Solaris 10, because on Solaris 10 > /proc/self/fd/NNN/.. is equivalent to /proc/sef/fd, not to the parent > directory of the file with descriptor NNN. I'm not sure why Sun made > this change, but it broke the openat emulation. I installed the > following into gnulib to work around the problem.
Cygwin has the same bug, FWIW. I'll have to test if your fix helps (my hack was just to check in lib/at-func.c if the current file name is "..", skip the block of code that does BUILD_PROC_NAME and CALL_FUNC, falling back instead on the fchdir path). -- Eric Blake