Closed Bug 1427339 Opened 2 years ago Closed 2 years ago

Build GCC on a Debian docker image

Categories

(Firefox Build System :: General, defect)

defect
Not set

Tracking

(firefox59 fixed)

RESOLVED FIXED
mozilla59
Tracking Status
firefox59 --- fixed

People

(Reporter: glandium, Assigned: glandium)

References

Details

Attachments

(4 files)

No description provided.
Depends on: 1427316
Blocks: 1427340
Blocks: 1427344
Depends on: 1427312
The differences as per the last patch:
linux32: https://public-artifacts.taskcluster.net/QXHiZbM5TTyPL_-W7c2LuA/0/public/diff.html
linux64: https://public-artifacts.taskcluster.net/TT0jN2hrSqyx61_kp3lKqw/0/public/diff.html

Note that contrary to bug 1427316, where we were comparing two builds on the same try push, one with the modified GCC and one with one from a try from the parent changeset, here we are comparing against the try for bug 1427316.

As a consequence, there are differences related to MOZ_BUILD_DATE and the try changeset being different.

So, for an explanation of the differences:
- Differences in Build ID in notes sections and .gnu_debuglink are again due to the differences in the other sections of the binaries.
- On x86, all the other differences in executables and libraries are due to MOZ_BUILD_DATE
- CRC differences in omni.ja are because of the file content differences further below.
- omni.ja:modules/AppConstants.jsm, omni.ja:chrome/toolkit/content/global/buildconfig.html only vary because of the try changeset difference.
- application.ini and platform.ini vary because of both MOZ_BUILD_DATE and the try changeset difference.
- on x86-64, the remaining differences in executables and libraries are to symbol names that are generated by the compiler for thunks, and only exposed because we don't strip them because of --enable-profiling.

Here's another diff on linux64 on stripped binaries, which look more like the linux32 one: https://public-artifacts.taskcluster.net/JuBosU9QQu6QKWou0UkHOw/0/public/diff.html
I'm not sure why more binaries have differences in .gnu_debuglink, but it doesn't really matter in practice.
Attachment #8939075 - Flags: review?(core-build-config-reviews)
Attachment #8939076 - Flags: review?(core-build-config-reviews)
Attachment #8939077 - Flags: review?(core-build-config-reviews)
Comment on attachment 8939075 [details]
Bug 1427339 - Configure binutils and gcc --with-sysroot=/.

https://reviewboard.mozilla.org/r/209498/#review215218
Attachment #8939075 - Flags: review+
Comment on attachment 8939076 [details]
Bug 1427339 - Make mozconfig.stdcxx work with both CentOS and Debian-built GCCs.

https://reviewboard.mozilla.org/r/209500/#review215220
Attachment #8939076 - Flags: review+
Comment on attachment 8939077 [details]
Bug 1427339 - Build GCC on a Debian-based docker image.

https://reviewboard.mozilla.org/r/209502/#review215222
Attachment #8939077 - Flags: review+
Comment on attachment 8939075 [details]
Bug 1427339 - Configure binutils and gcc --with-sysroot=/.

https://reviewboard.mozilla.org/r/209498/#review215238

::: commit-message-677a4:7
(Diff revision 1)
> +doesn't work with a binutils built without. However, a GCC built without
> +--with-sysroot=/ works fine with a binutils built with it. So this

I might have misspoken here. This may be breaking e.g. rusttests builds. Which might actually be a good thing. It's an indicator they're not using the binutils they're supposed to use.
Depends on: 1427404
Depends on: 1426324
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/mozilla-inbound/rev/f1a65f4c4d3d
Configure binutils and gcc --with-sysroot=/. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/d20521b7b865
Make mozconfig.stdcxx work with both CentOS and Debian-built GCCs. r=gps
https://hg.mozilla.org/integration/mozilla-inbound/rev/0894fbaddc88
Build GCC on a Debian-based docker image. r=gps
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/50504ece5f31
Keep build files in sync (Port 1427339: Make mozconfig.stdcxx work with both CentOS and Debian-built GCCs). rs=bustage-fix
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.