Avoid toolchains depending on the gcc toolchain
Categories
(Firefox Build System :: Toolchains, task)
Tracking
(firefox94 fixed)
Tracking | Status | |
---|---|---|
firefox94 | --- | fixed |
People
(Reporter: glandium, Assigned: glandium)
References
Details
Attachments
(7 files)
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review | |
48 bytes,
text/x-phabricator-request
|
Details | Review |
Now that the system GCC in the toolchain docker image is more modern, we can avoid using the GCC toolchain to build some of the toolchains. That is especially important for clang, because it means when toolchains are rebuilt for $reason, building clang won't have to wait for GCC anymore.
Assignee | ||
Comment 1•3 years ago
|
||
Assignee | ||
Comment 2•3 years ago
|
||
Assignee | ||
Comment 3•3 years ago
|
||
Assignee | ||
Comment 4•3 years ago
|
||
There are complications with building a 1-stage clang with gcc, so just
use clang. Eventually, the clang-tidy toolchains will be removed in
favor of providing clang-tidy from the clang toolchain itself anyways.
Assignee | ||
Comment 5•3 years ago
|
||
Building sanitizers in older versions of clang emit errors when built with
newer GCC because of some narrowing conversions. We only really need the
sanitizers in the final stage anyways, so we force-disable them (and
everything else that might enable "sanitizer-common") in early stages.
Building the lli tool (also used in tests) fails as well, and we don't
need it until the final stage (where we need it to ship it).
Assignee | ||
Comment 6•3 years ago
|
||
Using the sysroot with GCC requires some unnecessary complication, and
we don't really care if the first stages are not using the sysroot.
Assignee | ||
Comment 7•3 years ago
|
||
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/d45ae89f5a9e Build gn with system gcc. r=firefox-build-system-reviewers,mhentges https://hg.mozilla.org/integration/autoland/rev/2c26dca77db4 Build binutils with system gcc. r=firefox-build-system-reviewers,mhentges https://hg.mozilla.org/integration/autoland/rev/74a6f9ef8b85 Build gcc-11 with system gcc. r=firefox-build-system-reviewers,mhentges https://hg.mozilla.org/integration/autoland/rev/4b2fe8373321 Build clang-tidy with clang. r=firefox-build-system-reviewers,andi https://hg.mozilla.org/integration/autoland/rev/756d27c55c1d Don't build some things during early stages of the clang compilation. r=firefox-build-system-reviewers,andi,mhentges https://hg.mozilla.org/integration/autoland/rev/eaddb8708967 Only use the sysroot for the final stage of the clang compilation. r=firefox-build-system-reviewers,andi https://hg.mozilla.org/integration/autoland/rev/5ba18eb771b0 Build clang stage 1 with system gcc. r=firefox-build-system-reviewers,mhentges
Comment 9•3 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/d45ae89f5a9e
https://hg.mozilla.org/mozilla-central/rev/2c26dca77db4
https://hg.mozilla.org/mozilla-central/rev/74a6f9ef8b85
https://hg.mozilla.org/mozilla-central/rev/4b2fe8373321
https://hg.mozilla.org/mozilla-central/rev/756d27c55c1d
https://hg.mozilla.org/mozilla-central/rev/eaddb8708967
https://hg.mozilla.org/mozilla-central/rev/5ba18eb771b0
Description
•