Граф коммитов

356 Коммитов

Автор SHA1 Сообщение Дата
David Major 4f3ce0d1f3 Bug 1628479 - Add a single-stage clang-cl toolchain task r=glandium
Currently the linux64-clang-9-win-cross toolchain depends on the win64-clang-cl toolchain for a few files. This causes very long lead times when toolchains are rebuilt, because of the un-parallelizable chain of tasks win64-clang-cl -> linux64-clang-9-win-cross -> builds.

As a partial mitigation, this patch adds a single-stage clang-cl build for consumption by the cross toolchain. It's not a very high quality build, but good enough for the purpose it serves, while being faster to build.

Differential Revision: https://phabricator.services.mozilla.com/D70254

--HG--
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-1stage.json
extra : moz-landing-system : lando
2020-04-14 03:00:34 +00:00
Andi-Bogdan Postelnicu 56a9802f89 Bug 1625884 - move `clang-tidy` and `clang-format` to `clang-10`. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D70065

--HG--
extra : moz-landing-system : lando
2020-04-09 14:16:44 +00:00
Andi-Bogdan Postelnicu 741565d15e Bug 1625884 - add `clang-10` to `linux64` `clang-tools`. r=nalexander,dmajor
Patches that are applied on top on `clang-10` repo are based on the original
patches from our trunk and have been rebased on top of `clang-10`.
Please see as an example: `find_symbolizer_linux.patch` copied to `find_symbolizer_linux_clang_10.patch`.

Differential Revision: https://phabricator.services.mozilla.com/D70063

--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-10-linux64.json
rename : build/build-clang/find_symbolizer_linux.patch => build/build-clang/find_symbolizer_linux_clang_10.patch
rename : build/build-clang/llvmorg-11-init-4265-g2dcbdba8540.patch => build/build-clang/llvmorg-11-init-4265-g2dcbdba8540_clang_10.patch
rename : build/build-clang/rG7e18aeba5062.patch => build/build-clang/rG7e18aeba5062_clang_10.patch
rename : build/build-clang/rename_gcov_flush.patch => build/build-clang/rename_gcov_flush_clang_10.patch
rename : build/build-clang/tsan-hang-be41a98ac222.patch => build/build-clang/tsan-hang-be41a98ac222_clang_10.patch
rename : build/build-clang/unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks_clang_10.patch
extra : moz-landing-system : lando
2020-04-09 14:16:48 +00:00
Mihai Alexandru Michis 55acbee264 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2020-04-09 22:35:35 +03:00
Cosmin Sabou 60934f9072 Backed out 3 changesets (bug 1625884) as requested by ANdi for causing build bustages. a=backout
Backed out changeset a35cfda6e271 (bug 1625884)
Backed out changeset 412c8c401196 (bug 1625884)
Backed out changeset 927ff250bc4b (bug 1625884)
2020-04-09 16:14:06 +03:00
David Major 3f00878b3c Bug 1628492 - Remove the linux64-clang-9-cross toolchain r=glandium
The `linux64-clang-9-cross` toolchain was forked from `linux64-clang-9` in https://hg.mozilla.org/integration/autoland/rev/ca923afe3ed4 in order to pick up a patch for Windows compilation.

This is no longer necessary for two reasons:
1. Windows builds stopped depending on that patch in bug 1608460.
2. Even if we still needed that patch, the `linux64-clang-9` toolchain gained all of the Windows patches in bug 1618473.

Therefore the `clang-dist` task can go back to using unmodified `linux64-clang-9`.

Differential Revision: https://phabricator.services.mozilla.com/D70263

--HG--
extra : moz-landing-system : lando
2020-04-09 06:15:28 +00:00
Andi-Bogdan Postelnicu ffe0a6a754 Bug 1625884 - move `clang-tidy` and `clang-format` to `clang-10`. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D70065

--HG--
extra : moz-landing-system : lando
2020-04-09 05:28:34 +00:00
Andi-Bogdan Postelnicu 06e7a3c818 Bug 1625884 - add `clang-10` to `linux64` `clang-tools`. r=nalexander,dmajor
Patches that are applied on top on `clang-10` repo are based on the original
patches from our trunk and have been rebased on top of `clang-10`.
Please see as an example: `find_symbolizer_linux.patch` copied to `find_symbolizer_linux_clang_10.patch`.

Differential Revision: https://phabricator.services.mozilla.com/D70063

--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-10-linux64.json
rename : build/build-clang/find_symbolizer_linux.patch => build/build-clang/find_symbolizer_linux_clang_10.patch
rename : build/build-clang/llvmorg-11-init-4265-g2dcbdba8540.patch => build/build-clang/llvmorg-11-init-4265-g2dcbdba8540_clang_10.patch
rename : build/build-clang/rG7e18aeba5062.patch => build/build-clang/rG7e18aeba5062_clang_10.patch
rename : build/build-clang/rename_gcov_flush.patch => build/build-clang/rename_gcov_flush_clang_10.patch
rename : build/build-clang/tsan-hang-be41a98ac222.patch => build/build-clang/tsan-hang-be41a98ac222_clang_10.patch
rename : build/build-clang/unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks_clang_10.patch
extra : moz-landing-system : lando
2020-04-09 05:27:50 +00:00
David Major 9caebd9642 Bug 1326486 - build-clang: Convert 3-stage builds to 4-stage PGO builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69084

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:51 +00:00
David Major b9ae8ced29 Bug 1326486 - build-clang: Add support for PGO builds. r=glandium
This adds the ability to do four-stage PGO builds. This was surprisingly straightforward thanks to PGO being a well-supported scenario in LLVM's cmake.

For reference, the stages are:
stage1: Initial build with gcc
stage2: Instrumented build using stage1
stage3: Train by using the instrumented stage2 to build the clang tree
stage4: Optimize using the stage3 compiler and the profdata created with it

Differential Revision: https://phabricator.services.mozilla.com/D69080

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:58 +00:00
David Major ac66ff483a Bug 1326486 - build-clang: Add support for 4-stage builds r=glandium
Separating out the mechanical/"boring" changes to make the next patch more clear. This patch adds the ability to build a fourth stage that for now doesn't do anything special.

I changed to using >= to make it more obvious that e.g. "here is what's going to happen for stage 2" -- the off-by-one was too hard on my brain.

Differential Revision: https://phabricator.services.mozilla.com/D69079

--HG--
extra : moz-landing-system : lando
2020-04-07 14:13:01 +00:00
David Major e97651891b Bug 1326486 - build-clang: Merge LLVM a84b200e604 to fix Windows PGO. r=glandium
a84b200e60

Differential Revision: https://phabricator.services.mozilla.com/D69083

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:54 +00:00
David Major 705563e08e Bug 1326486 - build-clang: Install imports and asan symbols only in the final stage r=glandium
Otherwise, PGO builds would fail to find asan at stage2 because the instrumented build uses `LLVM_BUILD_RUNTIME=No`.

Differential Revision: https://phabricator.services.mozilla.com/D69082

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:56 +00:00
David Major 116a8a120b Bug 1326486 - build-clang: avoid building unnecessary things in intermediate stages. r=glandium
This will partially atone for making builds longer with PGO.

Depends on D69618

Differential Revision: https://phabricator.services.mozilla.com/D69620

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:47 +00:00
David Major 009ae37b4f Bug 1326486 - build-clang: pass is_final_stage even for stage1. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69618

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:49 +00:00
Mihai Alexandru Michis 964773e27c Backed out 7 changesets (bug 1326486) for causing bpgo failures.
CLOSED TREE

Backed out changeset 810a84a18948 (bug 1326486)
Backed out changeset e04c57ed0c04 (bug 1326486)
Backed out changeset 493c338ad705 (bug 1326486)
Backed out changeset 96701b9815c2 (bug 1326486)
Backed out changeset 8adfc59eb3c5 (bug 1326486)
Backed out changeset 441282fd1fea (bug 1326486)
Backed out changeset a64593d4c645 (bug 1326486)
2020-04-07 17:08:08 +03:00
David Major abffbe294c Bug 1326486 - build-clang: Convert 3-stage builds to 4-stage PGO builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69084

--HG--
extra : moz-landing-system : lando
2020-04-07 08:32:59 +00:00
David Major 26ce55ba6d Bug 1326486 - build-clang: Add support for PGO builds. r=glandium
This adds the ability to do four-stage PGO builds. This was surprisingly straightforward thanks to PGO being a well-supported scenario in LLVM's cmake.

For reference, the stages are:
stage1: Initial build with gcc
stage2: Instrumented build using stage1
stage3: Train by using the instrumented stage2 to build the clang tree
stage4: Optimize using the stage3 compiler and the profdata created with it

Differential Revision: https://phabricator.services.mozilla.com/D69080

--HG--
extra : moz-landing-system : lando
2020-04-07 08:32:32 +00:00
David Major b893b82141 Bug 1326486 - build-clang: Add support for 4-stage builds r=glandium
Separating out the mechanical/"boring" changes to make the next patch more clear. This patch adds the ability to build a fourth stage that for now doesn't do anything special.

I changed to using >= to make it more obvious that e.g. "here is what's going to happen for stage 2" -- the off-by-one was too hard on my brain.

Differential Revision: https://phabricator.services.mozilla.com/D69079

--HG--
extra : moz-landing-system : lando
2020-04-07 08:29:02 +00:00
David Major fc99fcb538 Bug 1326486 - build-clang: Merge LLVM a84b200e604 to fix Windows PGO. r=glandium
a84b200e60

Differential Revision: https://phabricator.services.mozilla.com/D69083

--HG--
extra : moz-landing-system : lando
2020-04-07 08:27:54 +00:00
David Major 5f9aa001c2 Bug 1326486 - build-clang: Install imports and asan symbols only in the final stage r=glandium
Otherwise, PGO builds would fail to find asan at stage2 because the instrumented build uses `LLVM_BUILD_RUNTIME=No`.

Differential Revision: https://phabricator.services.mozilla.com/D69082

--HG--
extra : moz-landing-system : lando
2020-04-07 08:27:36 +00:00
David Major ec2075139f Bug 1326486 - build-clang: avoid building unnecessary things in intermediate stages. r=glandium
This will partially atone for making builds longer with PGO.

Depends on D69618

Differential Revision: https://phabricator.services.mozilla.com/D69620

--HG--
extra : moz-landing-system : lando
2020-04-07 08:27:26 +00:00
David Major 4eea888422 Bug 1326486 - build-clang: pass is_final_stage even for stage1. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69618

--HG--
extra : moz-landing-system : lando
2020-04-07 08:25:29 +00:00
Mike Hommey aa3b1da222 Bug 1450088 - Build clang with libxml2 support. r=froydnj
This is required for llvm-mt, which building winchecksec will require.
We do a dummy change to build-clang.sh so as to change the toolchain
index hash.

Differential Revision: https://phabricator.services.mozilla.com/D68153

--HG--
extra : moz-landing-system : lando
2020-03-26 21:53:00 +00:00
Christian Holler 71be193b65 Bug 1624267 - Fix intermittent hangs with ThreadSanitizer. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67812

--HG--
extra : moz-landing-system : lando
2020-03-23 13:08:47 +00:00
Andi-Bogdan Postelnicu bc9dbe64a1 Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg
Differential Revision: https://phabricator.services.mozilla.com/D65314

--HG--
extra : moz-landing-system : lando
2020-03-17 07:01:09 +00:00
Mike Hommey 99115a158a Bug 1618473 - Apply the windows patches to linux clang. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D64539

--HG--
extra : moz-landing-system : lando
2020-02-27 21:56:39 +00:00
Christian Holler 859b506961 Bug 1598342 - Import TSan fix D74828 from Clang upstream. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63378

--HG--
extra : moz-landing-system : lando
2020-02-26 21:19:47 +00:00
David Major bd6fe2ef86 Bug 1614367 - Fix CMAKE_FIND_ROOT_PATH in build-clang for mac r=glandium
Best as I can tell, this was a longstanding typo. This went unnoticed because cmake didn't do any interesting `find`s -- until recently in LLVM 10, where zlib is now queried via `find_package`.

Differential Revision: https://phabricator.services.mozilla.com/D62829

--HG--
extra : moz-landing-system : lando
2020-02-18 07:45:12 +00:00
David Major ce4f2fde5b Bug 1612458 - Remove some orphaned build-clang patches r=froydnj
I noticed these unused files when they got in my way of doing searches.

Differential Revision: https://phabricator.services.mozilla.com/D61332

--HG--
extra : moz-landing-system : lando
2020-01-31 08:29:42 +00:00
David Major 2f04d6892b Bug 1609780 - Remove clang-8 mingw patches r=tjr
These files are unreachable as of bug 1590624.

Differential Revision: https://phabricator.services.mozilla.com/D60181

--HG--
extra : moz-landing-system : lando
2020-01-16 21:04:49 +00:00
David Major 0c76842459 Bug 1608460 - Redefine MIDL names to be unique to work around a clang-cl bug r=froydnj
This is an alternative to carrying a revert of the offending changeset, since the bug doesn't show hope of a fix anytime soon, or maybe ever. This way we don't have to keep rebasing the patch as we pick up new clangs, and developers don't have to remember to apply the patch when building a local compiler.

Differential Revision: https://phabricator.services.mozilla.com/D59200

--HG--
extra : moz-landing-system : lando
2020-01-10 17:53:29 +00:00
Andi-Bogdan Postelnicu c09d1d5ae3 Bug 1606630 - For clang-tidy fix checkers `readability-misleading-indentation` and `readability-braces-around-statements`. r=sylvestre
The purpose of this patch is to add support for `if constexpr` statements for the above checkers.
`readability-braces-around-statements` fix has been back-ported from <https://reviews.llvm.org/D71980>
and the fix for `readability-misleading-indentation` uses the same logic as a principle.

Differential Revision: https://phabricator.services.mozilla.com/D58825

--HG--
extra : moz-landing-system : lando
2020-01-06 21:42:58 +00:00
Sylvestre Ledru f3a0c62f4c Bug 1605560 - Move to clang 9.0.1 r=froydnj
remove patch "r372020-r372182-profiler-linkage.patch" as
it is now applied upstream in the branch 9:
99e5b1a41a (diff-74ce7383b15a6fad853c8677f58da28a)

Differential Revision: https://phabricator.services.mozilla.com/D58076

--HG--
extra : moz-landing-system : lando
2019-12-22 21:57:04 +00:00
Andreea Pavel 859dfc94b1 Backed out changeset e6e01dd97002 (bug 1605560) for causing build bustages a=backout 2019-12-22 12:14:47 +02:00
Sylvestre Ledru 6b5a637f41 Bug 1605560 - Move to clang 9.0.1 r=froydnj
remove patch "r372020-r372182-profiler-linkage.patch" as
it is now applied upstream in the branch 9:
99e5b1a41a (diff-74ce7383b15a6fad853c8677f58da28a)

Differential Revision: https://phabricator.services.mozilla.com/D58076

--HG--
extra : moz-landing-system : lando
2019-12-21 18:08:28 +00:00
Sylvestre Ledru 33853fcce7 Bug 1605181 - 'if constexpr' wasn't supported in clang-tidy r=andi
Differential Revision: https://phabricator.services.mozilla.com/D57835

--HG--
extra : moz-landing-system : lando
2019-12-19 18:32:40 +00:00
Calixte Denizet c82c13e1a9 Bug 1603436 - Rename clang patch (critical_section_on_gcov_flush.patch) to make easier the switch to LLVM 10 r=dmajor
Cherry-picked from: 02ce9d8ef5.

Differential Revision: https://phabricator.services.mozilla.com/D56945

--HG--
rename : build/build-clang/critical_section_on_gcov_flush.patch => build/build-clang/critical_section_on_gcov_flush-rG02ce9d8ef5a8.patch
extra : moz-landing-system : lando
2019-12-12 22:13:04 +00:00
Tom Ritter 9a59ac123c Bug 1590624 - Update the mingw-clang compiler to clang 9 r=dmajor
We can remove our backported objcopy patches, we'll need to update
llvm-mingw for toolchain fixes, and we need to add binutils to compile
this newer version of clang because the system binutils is too old.

Differential Revision: https://phabricator.services.mozilla.com/D50152

--HG--
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-9-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-mingw.sh
extra : moz-landing-system : lando
2019-12-12 07:43:53 +00:00
Andreea Pavel a533b175dd Backed out 4 changesets (bug 1590624) for breaking gecko decision task on a CLOSED TREE
Backed out changeset 2ac8dd1d709d (bug 1590624)
Backed out changeset 8432398c212a (bug 1590624)
Backed out changeset 2b28154aacdb (bug 1590624)
Backed out changeset d305e4160ee4 (bug 1590624)

--HG--
rename : build/build-clang/clang-9-mingw.json => build/build-clang/clang-8-mingw.json
rename : taskcluster/scripts/misc/build-clang-mingw.sh => taskcluster/scripts/misc/build-clang-8-mingw.sh
2019-12-12 08:35:11 +02:00
Tom Ritter 7a2045b616 Bug 1590624 - Update the mingw-clang compiler to clang 9 r=dmajor
We can remove our backported objcopy patches, we'll need to update
llvm-mingw for toolchain fixes, and we need to add binutils to compile
this newer version of clang because the system binutils is too old.

Differential Revision: https://phabricator.services.mozilla.com/D50152

--HG--
rename : build/build-clang/clang-8-mingw.json => build/build-clang/clang-9-mingw.json
rename : taskcluster/scripts/misc/build-clang-8-mingw.sh => taskcluster/scripts/misc/build-clang-mingw.sh
extra : moz-landing-system : lando
2019-12-10 18:56:45 +00:00
Calixte Denizet f6c15104f5 Bug 1599436 - Backport LLVM patch to add a critical section in gcov_flush r=marco
In order to avoid crashes when we're dumping gcda files, we backport a llvm/compiler-rt patch which fix this issue in adding a critical section around flush.

Differential Revision: https://phabricator.services.mozilla.com/D56559

--HG--
extra : moz-landing-system : lando
2019-12-10 16:30:08 +00:00
Dorel Luca e070fba60f Backed out changeset 870b38a3dc28 (bug 1602482) for as per dev's request. a=backout 2019-12-10 13:47:12 +02:00
Calixte Denizet 0232caa2b6 Bug 1602482 - Remove use of ___custom_llvm_gcov_flush r=marco
Because of conflicts between gcov_flush from gcc and the one from llvm, we renamed llvm one into ___custom_llvm_gcov_flush.
Since we switched to clang for ccov builds, this workaround is now useless.

Differential Revision: https://phabricator.services.mozilla.com/D56394

--HG--
extra : moz-landing-system : lando
2019-12-09 17:07:00 +00:00
Ricky Stewart 6999ee5c42 Bug 1601448 - The clang.tar.xz bootstrap artifact should contain the libclang_rt.builtins-wasm32.a archive r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56019

--HG--
extra : moz-landing-system : lando
2019-12-09 16:59:49 +00:00
Mike Hommey efece1b05a Bug 1597901 - Fix some sources of non-determinism in clang. r=dmajor
Cherry-picked from 7e18aeba50.

Differential Revision: https://phabricator.services.mozilla.com/D55886

--HG--
extra : moz-landing-system : lando
2019-12-05 22:28:01 +00:00
Andi-Bogdan Postelnicu 7843370cdf Bug 1600033 - for clang-tidy force the output diagnostic as warnings from errors.r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D55135

--HG--
extra : moz-landing-system : lando
2019-11-28 21:15:01 +00:00
Nathan Froyd d3483bdef5 Bug 1579189 - raise the minimum clang version to 5; r=#build
We need this for "full" C++17 support (everything is supported, but some
C++17 features still have bugs) and this change also brings Linux into
parity with our Mac requirements.

MANUAL PUSH: build toolchains on inbound to avoid clogging autoland

Differential Revision: https://phabricator.services.mozilla.com/D51450
2019-11-14 11:16:38 -04:00
Andi-Bogdan Postelnicu 5392090016 Bug 1589096 - add registerPPCallbacks to our version of clang-tidy due to a limitation in mozilla-must-override. r=sylvestre
In the future we should re-write this checker but for now this solution is acceptable.

Differential Revision: https://phabricator.services.mozilla.com/D51242

--HG--
extra : moz-landing-system : lando
2019-10-31 12:16:35 +00:00
Chris Manchester 194dff7015 Bug 1591262 - Apply additional patch to clang used for sccache-dist builds. r=firefox-build-system-reviewers,dmajor
This applies one of the patches we needed to build on windows to the clang
we're using for sccache-dist builds. The upstream issue is described in
https://bugs.llvm.org/show_bug.cgi?id=41817

Differential Revision: https://phabricator.services.mozilla.com/D50551

--HG--
extra : moz-landing-system : lando
2019-10-25 21:24:33 +00:00