Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • diffoscope diffoscope
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 145
    • Issues 145
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 12
    • Merge requests 12
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Reproducible BuildsReproducible Builds
  • diffoscopediffoscope
  • Issues
  • #16
Closed
Open
Issue created Sep 19, 2016 by Chris Lamb@lambyOwner

Please reduce readelf(1) noise from deltas of offsets embedded in instructions

This bug was originally reported by Daniel Shahaf (danielsh@apache.org) in Debian bug #838260:

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.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking