Package: diffoscope
Version: 60
Severity: wishlist

Dear Maintainer,

A difference in an ELF binary file can cause offsets throughout the
file to shift, usually by all of them by the same amount.

Typical example:

│   │   │   │   │  ./build/../src/nvim/indent_c.c:658
│   │   │   │   │ -   44436:    48 8d 35 01 77 1c 00    lea    
0x1c7701(%rip),%rsi        
│   │   │   │   │ +   44436:    48 8d 35 f8 76 1c 00    lea    
0x1c76f8(%rip),%rsi        
│   │   │   │   │  ./build/../src/nvim/main.c:749
│   │   │   │   │     46eea:    48 8b 3c 24             mov    (%rsp),%rdi
│   │   │   │   │ -   46eee:    48 8d 35 7f 50 1c 00    lea    
0x1c507f(%rip),%rsi        
│   │   │   │   │ +   46eee:    48 8d 35 76 50 1c 00    lea    
0x1c5076(%rip),%rsi

Here, 0x1c7701-0x1c76f8 = 0x1c507f-0x1c5076 = 9.  There are several
screenfuls of such differences, which reduces the signal-to-noise ratio
of the output, since all of these differences are secondary; the primary
difference is whatever caused the 9 bytes shift in the first place.

(On this instance, the 9 bytes offset was caused by a string literal
being present in the first build but not in the second build.)

Could these offset differences in readelf(1) output be ignored, at least
optionally?  This would make it easier to find the root cause by reading
the diff.

Cheers,

Daniel

Reply via email to