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