-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Mon, Apr 25, 2005 at 05:52:33PM -0700, Zack Weinberg wrote: > Bruce Lilly <[EMAIL PROTECTED]> writes: > > Earlier versions of gcc retain static character strings in object > > files which can be used for identification via ident (RCS) or what > > (SCCS). Gcc 4.0.0 removes them above optimization level 1. > > The first observation I'd like to make is that we (the GCC developers, > collectively) don't really understand the need for this. We don't put > $Id$ strings in our own source code, never mind the object files.
$Id$ strings in object files are useful when you goof and forget or neglect to tag your code base immediately before building and releasing. If you can't tell with certainty exactly which revision of each source file went into your build, other people (typically nontechnical managers) almost inevitably start distracting from the real issue (poor release management) with spurious concerns over your use of "freeware" like CVS, SDCC and GCC instead of "professional" packages like MS Visual SourceSafe. Having been in this very situation a few weeks ago (where a development snapshot suddenly got retroactively promoted to "release" a month after), I can say that it could have made life easier if I had been able to extract the $Id$ strings from the executable. Think of it as a safety net in case you or someone else goofs and forgets to do 'cvs tag todays-release'. Doesn't cover uncommitted changes, though... > The attitude is that the version number of the program as a whole > suffices to figure out which release branch to go looking for the bug > in. That's because GCC, AFAICT, has a pretty good release process. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQFCbkKY/FmLrNfLpjMRAgSqAJ9ZuN3Sf4coFFCb/OS0RSesgOzseQCeL13B hWODRBDm+CfhALC6ap9euKo= =Q9oa -----END PGP SIGNATURE-----