945572">

Debian Bug report logs - #945572
diffoscope: Substitution of the filename with "<elf>" can cause irrelevant differences

version graph

Package: diffoscope; Maintainer for diffoscope is Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>; Source for diffoscope is src:diffoscope (PTS, buildd, popcon).

Reported by: Mike Hommey <mh+reportbug@glandium.org>

Date: Wed, 27 Nov 2019 08:57:02 UTC

Severity: normal

Found in version diffoscope/132

Fixed in version diffoscope/133

Done: Chris Lamb <lamby@debian.org>

Bug is archived. No further changes may be made.

Forwarded to https://salsa.debian.org/reproducible-builds/diffoscope/issues/80

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#945572; Package diffoscope. (Wed, 27 Nov 2019 08:57:04 GMT) (full text, mbox, link).


Acknowledgement sent to Mike Hommey <mh+reportbug@glandium.org>:
New Bug report received and forwarded. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Wed, 27 Nov 2019 08:57:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, " can cause irrelevant differences&In-Reply-To=<157484340545.13756.5559874211751105852.reportbug@mitsuha.glandium.org>&References=<157484340545.13756.5559874211751105852.reportbug@mitsuha.glandium.org>">reply):

From: Mike Hommey <mh+reportbug@glandium.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: diffoscope: Substitution of the filename with "<elf>" can cause irrelevant differences
Date: Wed, 27 Nov 2019 17:30:05 +0900
Package: diffoscope
Version: 132
Severity: normal

Steps to reproduce:

$ cat > foo.c <<EOF
int foo() {
  return N;
}
EOF
$ cat > foo.syms <<EOF
libfoo.so {
    global: *;
};
EOF
$ mkdir old
$ gcc -o old/libfoo.so -shared foo.c -fPIC -DN=42 -Wl,--version-script,foo.syms
$ gcc -o libfoo.so -shared foo.c -fPIC -DN=2 -Wl,--version-script,foo.syms
$ diffoscope old/libfoo.so libfoo.so
--- old/libfoo.so
+++ libfoo.so
├── readelf --wide --symbols {}
│ @@ -2,16 +2,16 @@
│  Symbol table '.dynsym' contains 7 entries:
│     Num:    Value          Size Type    Bind   Vis      Ndx Name
│       0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
│       1: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_finalize
│       2: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
│       3: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTable
│       4: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
│ -     5: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS libfoo.so
│ -     6: 00000000000010f5    11 FUNC    GLOBAL DEFAULT   11 foo@@libfoo.so
│ +     5: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS <elf>
│ +     6: 00000000000010f5    11 FUNC    GLOBAL DEFAULT   11 foo@@<elf>
│  
│  Symbol table '.symtab' contains 48 entries:
│     Num:    Value          Size Type    Bind   Vis      Ndx Name
│       0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
│       1: 0000000000000238     0 SECTION LOCAL  DEFAULT    1 
│       2: 0000000000000260     0 SECTION LOCAL  DEFAULT    2 
│       3: 0000000000000288     0 SECTION LOCAL  DEFAULT    3 
│ @@ -53,9 +53,9 @@
│      39: 0000000000002000     0 NOTYPE  LOCAL  DEFAULT   13 __GNU_EH_FRAME_HDR
│      40: 0000000000001100     0 FUNC    LOCAL  DEFAULT   12 _fini
│      41: 0000000000004000     0 OBJECT  LOCAL  DEFAULT   19 _GLOBAL_OFFSET_TABLE_
│      42: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __cxa_finalize
│      43: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
│      44: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTable
│      45: 00000000000010f5    11 FUNC    GLOBAL DEFAULT   11 foo
│ -    46: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS libfoo.so
│ +    46: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS <elf>
│      47: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
├── readelf --wide --notes {}
│ @@ -1,4 +1,4 @@
│  
│  Displaying notes found in: .note.gnu.build-id
│    Owner                Data size 	Description
│ -  GNU                  0x00000014	NT_GNU_BUILD_ID (unique build ID bitstring)	    Build ID: 53f0f7a35b61ebb857235ac3e519faf82f1dc6e1
│ +  GNU                  0x00000014	NT_GNU_BUILD_ID (unique build ID bitstring)	    Build ID: ffcb9d36c33ccdc0b1c5819bbfb239e28559c8ee
├── readelf --wide --version-info {}
│ @@ -1,10 +1,10 @@
│  
│  Version symbols section '.gnu.version' contains 7 entries:
│   Addr: 0x0000000000000394  Offset: 0x000394  Link: 3 (.dynsym)
│    000:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*)    
│ -  004:   0 (*local*)       2 (libfoo.so)     2 (libfoo.so)  
│ +  004:   0 (*local*)       2 (<elf>)     2 (<elf>)  
│  
│  Version definition section '.gnu.version_d' contains 2 entries:
│   Addr: 0x00000000000003a8  Offset: 0x0003a8  Link: 4 (.dynstr)
│ -  000000: Rev: 1  Flags: BASE  Index: 1  Cnt: 1  Name: libfoo.so
│ -  0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: libfoo.so
│ +  000000: Rev: 1  Flags: BASE  Index: 1  Cnt: 1  Name: <elf>
│ +  0x001c: Rev: 1  Flags: none  Index: 2  Cnt: 1  Name: <elf>
├── objdump --line-numbers --disassemble --demangle --reloc --section=.text {}
│ @@ -59,10 +59,10 @@
│  frame_dummy():
│      10f0:	e9 7b ff ff ff       	jmpq   1070 <register_tm_clones>
│  
│  00000000000010f5 <foo>:
│  foo():
│      10f5:	55                   	push   %rbp
│      10f6:	48 89 e5             	mov    %rsp,%rbp
│ -    10f9:	b8 2a 00 00 00       	mov    $0x2a,�x
│ +    10f9:	b8 02 00 00 00       	mov    $0x2,�x
│      10fe:	5d                   	pop    %rbp
│      10ff:	c3                   	retq


None of these libfoo.so vs. <elf> differences are relevant. They are
entirely due to diffoscope doing the substitution of the filename with
<elf>. Passing full file paths to the command works around the problem:

$ diffoscope old/libfoo.so  $PWD/libfoo.so
--- old/libfoo.so
+++ /tmp/libfoo.so
├── readelf --wide --notes {}
│ @@ -1,4 +1,4 @@
│  
│  Displaying notes found in: .note.gnu.build-id
│    Owner                Data size 	Description
│ -  GNU                  0x00000014	NT_GNU_BUILD_ID (unique build ID bitstring)	    Build ID: 53f0f7a35b61ebb857235ac3e519faf82f1dc6e1
│ +  GNU                  0x00000014	NT_GNU_BUILD_ID (unique build ID bitstring)	    Build ID: ffcb9d36c33ccdc0b1c5819bbfb239e28559c8ee
├── objdump --line-numbers --disassemble --demangle --reloc --section=.text {}
│ @@ -59,10 +59,10 @@
│  frame_dummy():
│      10f0:	e9 7b ff ff ff       	jmpq   1070 <register_tm_clones>
│  
│  00000000000010f5 <foo>:
│  foo():
│      10f5:	55                   	push   %rbp
│      10f6:	48 89 e5             	mov    %rsp,%rbp
│ -    10f9:	b8 2a 00 00 00       	mov    $0x2a,�x
│ +    10f9:	b8 02 00 00 00       	mov    $0x2,�x
│      10fe:	5d                   	pop    %rbp
│      10ff:	c3                   	retq


-- System Information:
Debian Release: bullseye/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'testing'), (1, 'experimental-debug'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.2.0-3-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_WARN
Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8), LANGUAGE=ja_JP.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages diffoscope depends on:
ii  python3                3.7.5-1
ii  python3-distro         1.3.0-2
ii  python3-distutils      3.7.5-1
ii  python3-libarchive-c   2.8-0.4
ii  python3-magic          2:0.4.15-2
ii  python3-pkg-resources  41.2.0-1

Versions of packages diffoscope recommends:
ii  abootimg                         0.6-1+b2
ii  acl                              2.2.53-5
ii  apktool                          2.4.0-1
ii  binutils-multiarch               2.33.1-1
ii  bzip2                            1.0.8-2
pn  caca-utils                       <none>
ii  colord                           1.4.3-4
ii  db-util                          5.3.1+nmu1
pn  device-tree-compiler             <none>
pn  docx2txt                         <none>
ii  e2fsprogs                        1.45.4-1
ii  enjarify                         1:1.0.3-4
ii  ffmpeg                           7:4.1.4-1+b3
pn  fontforge-extras                 <none>
pn  fp-utils                         <none>
pn  genisoimage                      <none>
ii  gettext                          0.19.8.1-9
pn  ghc                              <none>
ii  ghostscript                      9.27~dfsg-3.1
pn  giflib-tools                     <none>
ii  gnumeric                         1.12.45-1+b1
ii  gnupg                            2.2.17-3
ii  gnupg-utils                      2.2.17-3
ii  imagemagick                      8:6.9.10.23+dfsg-2.1+b2
ii  imagemagick-6.q16 [imagemagick]  8:6.9.10.23+dfsg-2.1+b2
pn  jsbeautifier                     <none>
pn  libarchive-tools                 <none>
ii  llvm                             1:8.0-48.3
ii  lz4 [liblz4-tool]                1.9.1-2
pn  mono-utils                       <none>
pn  ocaml-nox                        <none>
pn  odt2txt                          <none>
pn  oggvideotools                    <none>
ii  openjdk-8-jdk [java-sdk]         8u232-b09-1
ii  openssh-client                   1:8.1p1-1
pn  pgpdump                          <none>
ii  poppler-utils                    0.71.0-6
pn  procyon-decompiler               <none>
pn  python3-argcomplete              <none>
ii  python3-binwalk                  2.2.0+dfsg1-1
ii  python3-debian                   0.1.36
ii  python3-defusedxml               0.6.0-1
pn  python3-guestfs                  <none>
ii  python3-jsondiff                 1.1.1-4
pn  python3-progressbar              <none>
pn  python3-pypdf2                   <none>
ii  python3-pyxattr                  0.6.1-1
pn  python3-tlsh                     <none>
pn  r-base-core                      <none>
ii  rpm2cpio                         4.14.2.1+dfsg1-1
pn  sng                              <none>
ii  sqlite3                          3.30.1-1
ii  squashfs-tools                   1:4.4-1
ii  tcpdump                          4.9.3-2
ii  unzip                            6.0-25
ii  vim-common                       2:8.1.2136-1
ii  wabt                             1.0.12-1
ii  xmlbeans                         3.0.2-1
ii  xxd                              2:8.1.2136-1
ii  xz-utils                         5.2.4-1+b1
ii  zip                              3.0-11+b1
ii  zstd                             1.4.3+dfsg-1

Versions of packages diffoscope suggests:
ii  libjs-jquery  3.3.1~dfsg-3

-- no debconf information

Information forwarded to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#945572; Package diffoscope. (Wed, 27 Nov 2019 11:33:05 GMT) (full text, mbox, link).


Acknowledgement sent to "Chris Lamb" <lamby@debian.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>. (Wed, 27 Nov 2019 11:33:05 GMT) (full text, mbox, link).


Message #10 received at 945572@bugs.debian.org (full text, mbox, wrote: > forwarded 945572 https://salsa.debian.org/reproducible-builds/diffoscope/issues/80 > thanks > > I've forwarded this "upstream" here: > > https://salsa.debian.org/reproducible-builds/diffoscope/issues/80 > > Thanks! :) > > > Regards, > > -- > ,''`. > : :' : Chris Lamb > `. `'` lamby@debian.org / chris-lamb.co.uk > `- > > &subject=Re: =?UTF-8?Q?Re:_diffoscope:_Substitution_of_the_filename_with_""_can_?= =?UTF-8?Q?cause_irrelevant_differences?=">reply):

From: "Chris Lamb" <lamby@debian.org>
To: 945572@bugs.debian.org
Cc: "Mike Hommey" <mh+reportbug@glandium.org>
Subject: Re: diffoscope: Substitution of the filename with "<elf>" can cause irrelevant differences
Date: Wed, 27 Nov 2019 11:28:46 +0000
forwarded 945572 https://salsa.debian.org/reproducible-builds/diffoscope/issues/80
thanks

I've forwarded this "upstream" here:

  https://salsa.debian.org/reproducible-builds/diffoscope/issues/80

Thanks! :)


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      lamby@debian.org / chris-lamb.co.uk
       `-



Set Bug forwarded-to-address to 'https://salsa.debian.org/reproducible-builds/diffoscope/issues/80'. Request was from "Chris Lamb" <lamby@debian.org> to control@bugs.debian.org. (Wed, 27 Nov 2019 11:33:06 GMT) (full text, mbox, link).


Added tag(s) pending. Request was from "Chris Lamb" <lamby@debian.org> to control@bugs.debian.org. (Wed, 27 Nov 2019 16:45:07 GMT) (full text, mbox, link).


Reply sent to Chris Lamb <lamby@debian.org>:
You have taken responsibility. (Thu, 28 Nov 2019 10:57:06 GMT) (full text, mbox, link).


Notification sent to Mike Hommey <mh+reportbug@glandium.org>:
Bug acknowledged by developer. (Thu, 28 Nov 2019 10:57:06 GMT) (full text, mbox, link).


Message #19 received at 945572-close@bugs.debian.org (full text, mbox, reply):

From: Chris Lamb <lamby@debian.org>
To: 945572-close@bugs.debian.org
Subject: Bug#945572: fixed in diffoscope 133
Date: Thu, 28 Nov 2019 10:34:22 +0000
Source: diffoscope
Source-Version: 133

We believe that the bug you reported is fixed in the latest version of
diffoscope, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 945572@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Chris Lamb <lamby@debian.org> (supplier of updated diffoscope package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Thu, 28 Nov 2019 10:03:33 +0000
Source: diffoscope
Architecture: source
Version: 133
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
Changed-By: Chris Lamb <lamby@debian.org>
Closes: 945531 945572
Changes:
 diffoscope (133) unstable; urgency=medium
 .
   * Correct the substitution/filtering of paths in ELF output to avoid
     unnecessary differences depending on the path name provided on the
     commandline. (Closes: #945572)
   * Silence/correct a SyntaxWarning message due to incorrectly comparing an
     integer by identity (is) over equality (==). (Closes: #945531)
Checksums-Sha1:
 9dbd9c04b1657cbca9ef892aef1f0204e465dcaa 4717 diffoscope_133.dsc
 256779316cd0c03ed2e719398f31a49db9f6aa20 974124 diffoscope_133.tar.xz
 5651c905dab7427bfae17969f9b5685beb9f5682 26303 diffoscope_133_amd64.buildinfo
Checksums-Sha256:
 a8d047c894450f8305187ebb208a1517305a5355b9968bc78f75bfab80510bb6 4717 diffoscope_133.dsc
 fd0f337482eda6798b74315cd4e0e50f50a08371d205b7ea9f2f1e7a7bc7638c 974124 diffoscope_133.tar.xz
 5892e8ee65e9421fa8a685ab215b4885614ff4019456c635d6c43c3cd2ed94c0 26303 diffoscope_133_amd64.buildinfo
Files:
 c593519e702ce1f6d628123e7b6f3336 4717 devel optional diffoscope_133.dsc
 35967b037da836286990ea5753c5db8f 974124 devel optional diffoscope_133.tar.xz
 a1858592b406f0bd3192244880ee24e4 26303 devel optional diffoscope_133_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEwv5L0nHBObhsUz5GHpU+J9QxHlgFAl3fnssACgkQHpU+J9Qx
HlhNsBAApDlHxJVnYoTVks0yoOaqSUZCS2e8OIUwbXxwOmPj0ASUQCKL/8OLsquU
NbEA3D7FY1r9g/IGQkuyBaNVTt92VYYWVk9VMRwb8YRmdyJHjHmaSX2aJ+3+dRfa
yf97eRlmlQaHB54L2cOey1bzClzsJVRT/oi4zBu38lCYVJq43/+tm7eZFRuRqc/m
013zVEj9XvA9sBkyWb4uWc7EPIUI+zQ1lCHAb3VxaZkPFoeIIR9x07HZRaKBunVm
92TYvPgxDG7BrjK/0IwGVjPda1qgY+P6D5QxsV+Q57CnanO6D+uAVNKu2JxUT1kN
TeHV5RtNdJJMLm+zIMg22CSBuPOVxWTEyOs9KMFzLJqRuPcUH5s6ptBeD93/D5/x
nyJhyRPqMkbjRVwsIUWLlEKnX0qvm59rnsWCJyGh2ynQSIXgyzhXwKbpZDtXsKg4
qBbM8jkrU731XWuvNY/CKdPDLMDbAgFExuCeyscFGE+dwqRPvVlizhV4dIkXqyZm
vY6ANcSXWqm0j+1M+E3e4alwqH3XuEW6oPpWEoMwMVkzjYZSALumHtBykSV21rUL
KM6TWjxHLQmpR+e9CznOHWmwJa9AWkBCLuMSSkv4WCLL35IaTcvtVQbUs3tQlgK1
VLhoc1se3SvcjzMyhKlle3jDcFMnZAPTulGxhdgSlAawQtnyJYw=
=Xs6r
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Sat, 28 Dec 2019 07:28:42 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Mon Feb 3 06:27:52 2025; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.