Created attachment 5130 [details] testcase hi, on execve() man page: http://www.kernel.org/doc/man-pages/online/pages/man2/execve.2.html we can read: (...) RETURN VALUE On success, execve() does not return, on error -1 is returned, and errno is set appropriately. (...) ENOENT The file filename or a script or ELF interpreter does not exist, or a shared library needed for file or interpreter cannot be found. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ but in the real world the execve() doesn't return if i accidentaly try to run a child process w/o required shared libs on search path. $ make gcc -Wall -g2 parent.c -o parent gcc -Wall -g2 hello.c -shared -fpic -o libhello.so gcc -Wall -g2 child.c -o child ./libhello.so rm libhello.so ./parent <program name unknown>: error while loading shared libraries: ./libhello.so: cannot open shared object file: No such file or directory
Then get the man page changed. It has to follow the implementation and not the other way round.