Open Bug 1612494 Opened 4 years ago Updated 2 years ago

Pass --no-insert-timestamp to lld when building firefox

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: tjr, Unassigned)

References

(Blocks 1 open bug)

Details

When building (our regular) Windows builds using lld, we should pass --no-insert-timestamp - this will cause lld to omit the timestamp from object files and make the build that much more reproducible.

Is this a subset or a superset of /Brepro? cc-rs apparently already passes /Brepro, and we weirdly have a number of directories that pass /Brepro...maybe we should just start passing /Brepro everywhere instead? Or do we need to pass /Brepro in addition to the lld flag?

AIUI, --no-insert-timestamp is the mingw-flavored-lld spelling of the flag. COFF-flavored-lld uses -Brepro. So I guess the request here is really to use the latter.

We should double check that Socorro stuff and minidump-debugging still work as expected with this change. (I'm not expecting any problems, since MS's own binaries went to deterministic timestamps some time ago, but just in case...)

Also, http://blog.llvm.org/2019/11/deterministic-builds-with-clang-and-lld.html suggests setting an explicit -timestamp rather than a bare -Brepro.

Flags: needinfo?(tom)

Yes, the conclusion here is we should pass --timestamp with an explicit timestamp.

Flags: needinfo?(tom)

glandium, fyi: this might make -Brepro unnecessary in cross builds.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.