Hi misc@ I have a question regarding the what(1) command. In one interview I saw Theo mentioning the what(1) utility:
> Two numbers exist for every component of OpenBSD. One number is the release > that the piece came in, ie. 2.8. > > The other number exists in each source file that was built. And that number > is also in each binary that was built > from those files. You can use the what(1) command to determine the revisions > of source files which make up > each binary. The way I understood this I could use the what utility on a binary file in the base OpenBSD system to see exactly which CVS revisions of specific files composed into the resulting binary. I tried using the tool on several base utilities like ssh, adventure, ls etc. None of them produced any output except the executable name itself. I took a look at the source and the manpage and saw that what this utility really does is stepping through the binary in search of the revision markup then printing out the stuff it found. I tried the utility on all the files in /usr/bin/*, /bin/* and /usr/lib/* and found that the only ones producing output (actual revision markers and source files) are plain text shell scripts. Additionally output is also produced for the kernel files (/bsd, /bsd.sp, /bsd.rd). >From the manpage > The what utility is compliant with the X/Open System Interfaces option of the > IEEE Std 1003.1-2008 (“POSIX.1”) specification. I understand that this is part of POSIX but my question is: Is standard compliance the sole purpose of the existence of this tool or was it actually able to produce output for regular system binaries back in the old days? In case of the latter - is there some kind of additional stripping or a build step change that causes the information no longer being embedded in the executables? I'm not saying that something is broken, but really interested to know what changed. Especially after seeing this URL http://prefetch.net/blog/index.php/2005/05/17/fix-for-solaris-ssh-client-hangs/ showing the output of what(1) ran against OpenSSH on Solaris. In case this matters. I'm running a i386 snapshot from 27-Dec-2014. Regards, -- Adam Wolk [email protected]

