Currently readlink(1) and stat(1) (and I do mean the man pages) have a very unhealthy relationship.
They're currently bound together based upon the accident of their parentage - that is, there is no readlink.c, readlink the command is accomplished by using stat with a particular set of options. That could easily have been done with a sh script, but instead is done by combining the two into one binary which tests argv[0] to decide what to do. That's all fine, and I am not proposing changing anything about the way the code works, or is implemented. But, the man page (there is currently just one for both) is a mess. Go read it (use either name, you get the same thing) and take a look. The two commands have an (almost) completely unrelated option sets, they are designed to do quite different things (even though stat can obviously be made to do what readlink does), and documenting them as if they were just minor variations on each other (like say, printf(3) and fprintf(3)) is just wrong. So, I'd like to give them each a man page of their own (they can each SEE ALSO the other, though the readink -> stat direction is the more important one for that). Any objections? kre