-----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-----

Reply via email to