Opened 5 years ago

Closed 4 years ago

#11042 closed enhancement (fixed)

Disable build ID in libraries when compiling TBB for Linux

Reported by: gk Owned by: erinn
Priority: Medium Milestone:
Component: Applications/Tor bundles/installation Version:
Severity: Keywords: gitian, MikePerry201403
Cc: mikeperry Actual Points:
Parent ID: Points: 1
Reviewer: Sponsor:

Description

It happened at least once that the computed build ID in a library did not match although the contents of it were exactly the same across different builds (see: #10104 for some details). Not sure what is causing this yet but as a workaround we could get rid of the build ID in our libraries which should not matter much as we add a .gnu_debuglink section. That alone should be enough to get debug builds working.

Child Tickets

Change History (5)

comment:1 Changed 5 years ago by gk

Mike's

objcopy --remove-section=.note.gnu.build-id

is probably much smarter than fiddling with LDFLAGS and friends.

comment:2 Changed 5 years ago by mikeperry

Ok, I pushed this objcopy fix to origin/master, but I have not tested it yet to verify it really solves the problems in an actual end-to-end build.

comment:3 Changed 5 years ago by mikeperry

Keywords: MikePerry201403 added
Points: 1
Resolution: fixed
Status: newclosed

This does indeed make both the detached debug symbols and libxul reproducible. I actually applied it to all FF libs, just in case:
https://gitweb.torproject.org/builders/tor-browser-bundle.git/commitdiff/9c37c9fcc639c02e9dd7b81741bbf95a24f47a31

comment:4 Changed 4 years ago by cypherpunks

Resolution: fixed
Status: closedreopened

Now .note.gnu.build-id section appears again. (fix for this ticket was superseded by fix for #12103)

comment:5 Changed 4 years ago by cypherpunks

Resolution: fixed
Status: reopenedclosed

as a workaround we could get rid of the build ID in our libraries

commit d8e92e2f4d362216dfff1790026309e6c0a51b58

Having the build-id non-deterministic seems to be an ld issue as switching to gold solves this.

Ok, build ID is not a problem then.

Note: See TracTickets for help on using tickets.