Debian Bug report logs -
#869868
Diffoscope should be much more flexible with respects to the ELF tools it uses
Reported by: Daniel Egger <daniel@eggers-club.de>
Date: Thu, 27 Jul 2017 09:24:02 UTC
Severity: normal
Found in version diffoscope/84
Fixed in version diffoscope/86
Done: Mattia Rizzolo <mattia@debian.org>
Bug is archived. No further changes may be made.
Toggle useless messages
Report forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#869868; Package diffoscope.
(Thu, 27 Jul 2017 09:24:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Daniel Egger <daniel@eggers-club.de>:
New Bug report received and forwarded. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Thu, 27 Jul 2017 09:24:04 GMT) (full text, mbox, link).
Message #5 received at submit@bugs.debian.org (full text, mbox, reply):
Package: diffoscope
Version: 84
I'm using diffoscope on a Mac and it doesn't have tools like readelf and objdump by default and even after installation (e.g. via brew) those would be called greadelf and gobjdump instead to not conflict with local tools under the same name. Diffoscope should either find them automatically or have some configuration to the names.
However it doesn't stop there: With objdump you can't just pick *any* version but you need one with support for the precisely the target architecture you want to look at; if it has multiple potential choices, it'll barf but more typically it does not have the correct architecture support, e.g. when crosscompiling. So it is important to again either automatically guess and check for the correct version using the readelf information or to provide configuration...
In case you are wondering now; I'm trying to compare embedded application binaries compiled with a arm-non-eabi toolchain.
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#869868; Package diffoscope.
(Thu, 27 Jul 2017 12:57:04 GMT) (full text, mbox, link).
Acknowledgement sent
to Ximin Luo <infinity0@debian.org>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Thu, 27 Jul 2017 12:57:04 GMT) (full text, mbox, link).
Message #10 received at 869868@bugs.debian.org (full text, mbox, reply):
Daniel Egger:
> Package: diffoscope
> Version: 84
>
> I'm using diffoscope on a Mac and it doesn't have tools like readelf and objdump by default and even after installation (e.g. via brew) those would be called greadelf and gobjdump instead to not conflict with local tools under the same name. Diffoscope should either find them automatically or have some configuration to the names.
>
> However it doesn't stop there: With objdump you can't just pick *any* version but you need one with support for the precisely the target architecture you want to look at; if it has multiple potential choices, it'll barf but more typically it does not have the correct architecture support, e.g. when crosscompiling. So it is important to again either automatically guess and check for the correct version using the readelf information or to provide configuration...
>
> In case you are wondering now; I'm trying to compare embedded application binaries compiled with a arm-non-eabi toolchain.
We could either support READELF and OBJDUMP environment variables, or support a BINUTILS_PREFIX envvar that gets prefixed onto "readelf" and "objdump" when running those commands.
Which one would you prefer (or something else entirely)?
X
--
GPG: ed25519/56034877E1F87C35
GPG: rsa4096/1318EFAC5FBBDBCE
https://github.com/infinity0/pubkeys.git
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#869868; Package diffoscope.
(Mon, 31 Jul 2017 14:15:05 GMT) (full text, mbox, link).
Message #13 received at 869868@bugs.debian.org (full text, mbox, reply):
[Message part 1 (text/plain, inline)]
On Thu, Jul 27, 2017 at 12:52:00PM +0000, Ximin Luo wrote:
> We could either support READELF and OBJDUMP environment variables,
> or support a BINUTILS_PREFIX envvar that gets prefixed onto "readelf"
> and "objdump" when running those commands.
Or we could do something a lot more wide, invasive and ambitious: having
the binary name of all tools saved in a dictionary and give the user (or
automatically change it according to the system, like --list-tools) the
ability to override them.
--
regards,
Mattia Rizzolo
GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
more about me: https://mapreri.org : :' :
Launchpad user: https://launchpad.net/~mapreri `. `'`
Debian QA page: https://qa.debian.org/developer.php?login=mattia `-
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#869868; Package diffoscope.
(Mon, 14 Aug 2017 19:51:03 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>.
(Mon, 14 Aug 2017 19:51:03 GMT) (full text, mbox, link).
Message #18 received at 869868@bugs.debian.org (full text, mbox, reply):
Hi Daniel,
> However it doesn't stop there: With objdump you can't just pick
> *any* version but you need one with support for the precisely
> the target architecture you want to look at
Can you give me an example? eg. Where are these binaries located, etc.
etc. or are they in such bespoke dirs that the ability to override
externally is required?
Regards,
--
,''`.
: :' : Chris Lamb
`. `'` lamby@debian.org / chris-lamb.co.uk
`-
Information forwarded
to debian-bugs-dist@lists.debian.org, Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>:
Bug#869868; Package diffoscope.
(Mon, 14 Aug 2017 20:09:03 GMT) (full text, mbox, link).
Acknowledgement sent
to Daniel Egger <daniel@eggers-club.de>:
Extra info received and forwarded to list. Copy sent to Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>.
(Mon, 14 Aug 2017 20:09:03 GMT) (full text, mbox, link).
Message #23 received at 869868@bugs.debian.org (full text, mbox, reply):
Hi Chris,
> Can you give me an example? eg. Where are these binaries located, etc.
> etc. or are they in such bespoke dirs that the ability to override
> externally is required?
The issue here is: the tools are architecture dependent, for ARM binaries you'll need tools compiled with ARM support, e.g. https://packages.debian.org/buster/amd64/binutils-arm-none-eabi/filelist . They often live right next to the regular tools but are prefixed with the architecture triplet, but there're also custom toolchains which have the same triplet prefix but live in a custom prefix like /opt. The one without the triplet prefixed is in many cases only capable of handling the native and compatible architectures, so trying to use that on an ARM binary will not work.
Preferably diffoscope would look at the ELF binary and automagically try to use the correct binutils for processing but for the start I'd be happy if I could just tell it which tool to use rather than resorting to extreme measures like manipulating the binary search path or linking the desired binary over the generic name in a preferred binary path and then back again.
Servus,
Daniel
Reply sent
to Mattia Rizzolo <mattia@debian.org>:
You have taken responsibility.
(Sun, 03 Sep 2017 21:09:03 GMT) (full text, mbox, link).
Notification sent
to Daniel Egger <daniel@eggers-club.de>:
Bug acknowledged by developer.
(Sun, 03 Sep 2017 21:09:03 GMT) (full text, mbox, link).
Message #28 received at 869868-close@bugs.debian.org (full text, mbox, reply):
Source: diffoscope
Source-Version: 86
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 869868@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Mattia Rizzolo <mattia@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: SHA512
Format: 1.8
Date: Sun, 03 Sep 2017 22:23:06 +0200
Source: diffoscope
Binary: diffoscope
Architecture: source
Version: 86
Distribution: unstable
Urgency: medium
Maintainer: Reproducible builds folks <reproducible-builds@lists.alioth.debian.org>
Changed-By: Mattia Rizzolo <mattia@debian.org>
Description:
diffoscope - in-depth comparison of files, archives, and directories
Closes: 869868 871029 871413 873157
Changes:
diffoscope (86) unstable; urgency=medium
.
[ Mattia Rizzolo ]
* tests:
+ binary: skip a test if the 'distro' module is not available.
+ iso9660: avoid an overly-catching exception.
* debian/copyright: coalesce some file paragraphs and update information.
.
[ Guangyuan Yang ]
* tests:
+ iso9660: support both cdrtools' genisoimage's versions of isoinfo.
.
[ Chris Lamb ]
* comparators:
+ xml: Use ``name`` attribute over ``path`` to avoid leaking comparison
full path in output.
* Tidy diffoscope.progress a little.
.
[ Ximin Luo ]
* Add a --tool-prefix-binutils CLI flag. Closes: #869868
* On non-GNU systems, prefer some tools that start with "g". Closes: #871029
* presenters:
+ html:
- Don't traverse children whose parents were already limited.
Closes: #871413
.
[ Santiago Torres-Arias ]
* diffoscope.progress:
+ Support the new fork of python-progressbar. Closes: #873157
Checksums-Sha1:
aab4a3e5b9b0a60eeeb326f650a4a594fe7b3941 3228 diffoscope_86.dsc
ad1161e33bbbc745cec26d8f6155f75c4dcc97f8 653940 diffoscope_86.tar.xz
387289e22ab928f6c328e8e815a1aac4c74c1bbd 18609 diffoscope_86_amd64.buildinfo
Checksums-Sha256:
192e6a68074b4af726075be96a54b1ef299596ebe60032da2974b400ccbac6ae 3228 diffoscope_86.dsc
99e0f70a4ea420a5b4fa9404a05198b0da18023ea0c8a8fee7857a207aab05ed 653940 diffoscope_86.tar.xz
a8f59fd9e6e0958bf903c79b9cc47b71aa1978e61b4bfe63a12c9ad1129b50e2 18609 diffoscope_86_amd64.buildinfo
Files:
a5d1c6e61ad8c0a43bff7a49f5db9e55 3228 devel optional diffoscope_86.dsc
f7531bd0502197a582b79a4febb20cf3 653940 devel optional diffoscope_86.tar.xz
dd377aa5c966848f49d9cae26e05a620 18609 devel optional diffoscope_86_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEEi3hoeGwz5cZMTQpICBa54Yx2K60FAlmsZuYACgkQCBa54Yx2
K601NhAAgOmO+75WKqufQGAIvHcT8imKaKDk4Of0Hr9tVoGQbFVtjeK63Y/iccxO
1GnTxAaPAQEPtGaFW8aMf183AjfLfvxO60JVoKi4WBOzdqycZYMryeertF9AeCUP
1BBE8Of8P3+zLZ7OSNX8OcXIzBAvhuu/Uw0WS1gwtFWHNeax8KhFeg8O6SKPZVe3
BuB/bsIpEwcuIf2AFHnaPAfJyG4tqbmGZMz9S1MAmk1w51Ggpbe9PXLgAWAsPS0u
51I+TGycOmvUP445fhWj8wCj2dI0FuUyVnanMjVO4KqUpmkmktXeJ2OU0H8VipDq
rsLXA/QRluo/gVnxFUYh7SjaL4QwPtJkb3HTytpEVV1H/hqq3JtZMyfntd0tR3rW
W9F9X/AVuCZBcBka2kg5umAB6utMAqrfYQ+Cym2mVs/pd85AAeGnShviIlXZgyhN
ccq+PaGgGX9nWYFnmP8TGrniZUI3dUXx9cLYtmPuITFuqWtVGOkLOZuGAEQzsaaB
qdeqv95ldGIyPg984sgFYgML3jek/jkB+bpnkAHD/D5PwY8wjJY23kqb+AgWLPUA
GqnokpxT95kuVYJMTy4m02RptTSV+fGdUTeUWeuJpskQLPYf3bZEfHxIVkaosiYT
tWHVq9DlVM5oQ0/dMNGgd95+WZr/BR4+s8ETCDLrhmok8ZD0g4g=
=tLgy
-----END PGP SIGNATURE-----
Bug archived.
Request was from Debbugs Internal Request <owner@bugs.debian.org>
to internal_control@bugs.debian.org.
(Sat, 07 Oct 2017 07:30:17 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:
Wed May 17 13:56:11 2023;
Machine Name:
buxtehude
Debian Bug tracking system
Debbugs is free software and licensed under the terms of the GNU
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.