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).
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).
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: 945531945572
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).
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/.