Bug#838260: diffoscope: Reduce noise from offsets deltas in readelf(1) diffs

Daniel Shahaf danielsh at apache.org
Thu Sep 22 13:46:17 UTC 2016

Control: clone -1 -2
Control: retitle -2 diffoscope: readelf(1): Ignore data/instruction addresses that are de facto line numbers
Control: retitle -1 diffoscope: readelf(1): Reduce noise from deltas of offsets embedded in instructions

Daniel Shahaf wrote on Tue, Sep 20, 2016 at 18:47:31 +0000:
> However, in the .text section, each disassembled instruction is preceded
> by its address.  I think it would make sense to have the diff ignore
> those addresses: they serve a purpose similar to line numbers, and
> ignoring them cannot cause a difference to be missed.

flexc++ has a difference on *every* line of several sections (.rodata,
.eh_frame, others) because the sections start 0xc0 bytes later in the
second build than in the first build:

│   │   │   │   │ -  0x0043a320 01000200 00000000 623a423a 633a433a ........b:B:c:C:
│   │   │   │   │ -  0x0043a330 64663a46 68693a49 3a4b6c3a 4c3a6d3a df:Fhi:I:Kl:L:m:
│   │   │   │   │ +  0x0043a3e0 01000200 00000000 623a423a 633a433a ........b:B:c:C:
│   │   │   │   │ +  0x0043a3f0 64663a46 68693a49 3a4b6c3a 4c3a6d3a df:Fhi:I:Kl:L:m:

Hence, filing this as a separate issue.  #838260 can remain about
offsets embedded in instructions.

(It's safe to ignore these addresses because the start/end of the
section already appear elsewhere in the diffed output.)

More information about the Reproducible-builds mailing list