There are two old ld (binutils) bug reports I found that relate to bad
build ID generation. I didn't think these had affected any f14 builds,
but maybe they did.
https://bugzilla.redhat.com/show_bug.cgi?id=501582
https://bugzilla.redhat.com/show_bug.cgi?id=472152
However, there is an important thing to note about this. Normally
rpmbuild (/usr/lib/rpm/debugedit) regenerates build IDs from scratch
after it rewrites the source file directory names in the DWARF data.
Because of that, any such buggy ld behavior will usually be masked.
The build IDs are regenerated only if any DWARF file names were
actually changed. But if things are built properly, there should
always be some DWARF file names that had to be changed.
So, there are some steps to investigate the two binaries that got that
same build ID. First, see if the stripped binaries are in fact
identical. (Be sure to undo any prelinking with 'prelink -u' before
comparing.) If the files are not byte-for-byte identical, then see if
their ELF contents are identical, as indicated by eu-elfcmp. If their
contents differ but IDs are the same, then the builds must have used a
buggy ld. (Koji database info should let us discover what tools were
used in making each build.)
Whether or not the stripped files are identical, compare their .debug
files. If those are not identical, then we have a bug in debugedit
that has not been seen before, and we certainly need to investigate
that thoroughly. If they are identical, then it might be that they
just don't actually contain source file information. This indicates
the package build didn't use -g, or stripped files in %install or
suchlike, which needs to be fixed in the package.
Finally, if they really do contain source file information in their
DWARF data and are identical nonetheless, then this could be the
(known) shortcoming of the way we package the source files in
/usr/src/debug. Those file names depend only on %{VERSION} and not on
%{RELEASE}, so it's possible that between two different package
builds with the same V but different R, this binary didn't change at
all. We haven't seen that case come up before in practice AFAIK, but
it is possible with the way things are done now. If that issue is
striking us now, then we may need to accelerate plans to revamp the
/usr/src/debug layout.
Thanks,
Roland