Bug#869532: diffoscope: ftbfs with new binutils

Michael Hudson-Doyle michael.hudson at ubuntu.com
Mon Jul 24 00:59:47 UTC 2017


Source: diffoscope
Version: 84
Severity: normal

Dear Maintainer,

diffoscope 84 ftbfs in Ubuntu artful (and I think experimental but haven't
checked this yet) with failures like this:

________________________________ test_item1_elf ________________________________

differences = [<Difference nm -s {} -- nm -s {} []>, <Difference alloc_system-d16b8f0e.0.o -- alloc_system-d16b8f0e.0.o []>, <Differ...r -dump {} []>, <Difference find {} -execdir llvm-dis -o - '{}' ';' -- find {} -execdir llvm-dis -o - '{}' ';' []>]>]>]

    @skip_unless_tools_exist('nm')
    @skip_if_binutils_does_not_support_x86()
    def test_item1_elf(differences):
        assert differences[1].source1 == 'alloc_system-d16b8f0e.0.o'
        assert differences[1].source2 == 'alloc_system-d16b8f0e.0.o'
        expected_diff = get_data('rlib_elf_expected_diff')
>       assert differences[1].details[0].unified_diff == expected_diff
E       IndexError: list index out of range

I'm fairly sure this is down to this change in behaviour in readelf:

(artful-amd64)root at aeglos:/tmp# readelf --wide --decompress --hex-dump=.data alloc_system-d16b8f0e.0.o

Section '.data' has no data to dump.
(artful-amd64)root at aeglos:/tmp# echo $?
1

vs:

(sid-amd64)root at aeglos:/# readelf --wide --decompress --hex-dump=.data /build/alloc_system-d16b8f0e.0.o 

Section '.data' has no data to dump.
(sid-amd64)root at aeglos:/# echo $?
0

which in turn is down to 

   https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=32ec889602502348b704cfb16e65c83dc3eec095

On thinking about this, I think this is arguably a binutils bug so I've filed

   https://sourceware.org/bugzilla/show_bug.cgi?id=21820

too. But I thought you might want to know :) I can't see any very easy way of
working around this in diffoscope but I'm new to the codebase.

Cheers,
mwh


-- System Information:
Debian Release: stretch/sid
  APT prefers xenial-updates
  APT policy: (500, 'xenial-updates'), (500, 'xenial-security'), (500, 'xenial'), (400, 'xenial-proposed'), (100, 'xenial-backports')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.4.0-83-generic (SMP w/4 CPU cores)
Locale: LANG=en_NZ.UTF-8, LC_CTYPE=en_NZ.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



More information about the Reproducible-builds mailing list