What does it mean if two debuginfo packages create the same dwz build ID file?

Jan Kratochvil jan.kratochvil at redhat.com
Sat Sep 14 11:48:52 UTC 2013


On Sat, 14 Sep 2013 11:56:26 +0200, Richard W.M. Jones wrote:
>   /usr/lib/debug/.build-id/da/39a3ee5e6b4b0d3255bfef95601890afd80709.debug
> which is a symlink to:
>   /usr/lib/debug/.dwz/ocaml-pcre-7.0.2-5.fc21.x86_64
[...]
>   /usr/lib/debug/.build-id/da/39a3ee5e6b4b0d3255bfef95601890afd80709.debug
> which is a symlink to:
>   /usr/lib/debug/.dwz/ocaml-gettext-0.3.4-11.fc21.x86_64
> 
> Obviously this prevents me from installing both debuginfo packages at
> the same time.

The problem is these two files have exactly the same content so they get the
same build-id (which is a content hash - to be deterministic across builds).

They are the same as they are completely empty:
Section Headers:
  [Nr] Name              Type            Address          Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            0000000000000000 000000 000000 00      0   0  0
  [ 1] .note.gnu.build-id NOTE            0000000000000000 000040 000024 00      0   0  4
  [ 2] .shstrtab         STRTAB          0000000000000000 000124 000067 00      0   0  1

For normal .debug files their build-id is unique as the .debug file references
source files /usr/src/debug/NAME-VERSION/... where NAME-VERSION is different
for each package.  (It is not, it should be NVRA and not just NV, but that is
Bug 1002341 I work on these days.)

But .dwz files do not reference any /usr/src/debug/ files so maybe dwz or
debugedit really need an artifical build-id salt (from NVRA) for .dwz?
For debugedit FChE has implemented it in:
	https://bugzilla.redhat.com/show_bug.cgi?id=1002341#c0


Jan


More information about the devel mailing list