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

379 Коммитов

Автор SHA1 Сообщение Дата
june wilde 103a325162 Bug 1598226 - Create task definitions for external clang-tidy checks; r=andi,tjr,glandium
Depends on D81448

Differential Revision: https://phabricator.services.mozilla.com/D84769
2020-08-10 21:02:04 +00:00
David Major 6883b4d0af Bug 1654674 - Make revert-r362047-and-r362065.patch work with clang-12 r=froydnj
afa1afd410 changed a line at the edge of the context of this patch. I'm really not keen to fork this patch into a separate clang-12 version, so I'd prefer to just shrink the context a little.

Differential Revision: https://phabricator.services.mozilla.com/D84609
2020-07-22 23:34:43 +00:00
Andi-Bogdan Postelnicu 2897e78033 Bug 1654557 - add `clangd` to the `clang-tidy` package. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D84528
2020-07-22 18:15:19 +00:00
David Major 63aa7238ca Bug 1616694 - Allow build-clang to work with different Mac SDKs r=froydnj
LLVM 11 introduces a hard requirement for SDK 10.12 in order to build for Mac. We want to keep building older LLVMs with 10.11 though, so this patch adds some flexibility so that build-clang can make use of whatever SDK package a particular task pulls from tooltool (but still requesting a deployment target of 10.11).

Differential Revision: https://phabricator.services.mozilla.com/D82621
2020-07-13 22:44:54 +00:00
Tom Ritter 486f6c9f43 Bug 1652037 - Wire up build_clang_tidy_external in build-clang.py r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D83120
2020-07-10 18:25:29 +00:00
Nathan Froyd 304b57adbc Bug 1651675 - explicitly use some useful linker options when building clang; r=dmajor
clang/LLVM's build scripts can turn these on on their own, but explicitly
setting what we want is better than guessing.  The change is not huge, maybe
~2-3% on the major shared libraries (`libclang`, `libclang-cpp`, `libLLVM`),
about 1% on the overall `.tar.zst` size, but every little bit counts, right?

Differential Revision: https://phabricator.services.mozilla.com/D82896
2020-07-10 12:51:36 +00:00
Toshihito Kikuchi 99149df7fc Bug 1650419 - Backport the tail merge fix to our version of Clang 9.0.1. r=dmajor
This patch applies the fix for https://bugs.llvm.org/show_bug.cgi?id=45858 to
our version of Clang so that we can update Chromium sandbox code (bug 1639030).

Differential Revision: https://phabricator.services.mozilla.com/D82589
2020-07-07 22:03:46 +00:00
june wilde d3be11d148 Bug 1648798 - Add option for importing external checks into clang-tidy; r=tjr,andi
Differential Revision: https://phabricator.services.mozilla.com/D81699
2020-07-07 18:05:27 +00:00
David Major 4dbfa86c29 Bug 1650239 - Allow threads in our Mac clang build r=froydnj
Source history does not give any good clues about why this line was added in the first place. In any case, LLVM trunk currently has build bustage when threads are disabled. We could work around the bustage and/or wait for a fix, but it seems like threads are a good thing to have in general nowadays. Maybe this could help with LTO build times.

Differential Revision: https://phabricator.services.mozilla.com/D82447
2020-07-06 20:43:42 +00:00
Andi-Bogdan Postelnicu c9368b86d1 Bug 1650057 - Avoid using external clang-tidy patches when dealing with paths that need to be escaped. r=marco
Differential Revision: https://phabricator.services.mozilla.com/D82002
2020-07-02 14:11:19 +00:00
Andi-Bogdan Postelnicu 779d955fee Bug 1645948 - for `clang-tidy` static-analysis escape some paths that have special chars. r=sylvestre
The patch that has been applied to our `clang-tidy` artifact has also been pushed upstead https://reviews.llvm.org/D81917

Differential Revision: https://phabricator.services.mozilla.com/D79799
2020-06-27 14:10:20 +00:00
Chris AtLee 62f699319d Bug 1637381: Use zstd for clang toolchains r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D74930
2020-05-21 13:31:55 +00:00
Rob Lemley 5304de01a2 Bug 1639618 - Use correct find_symbolizer_linux patch when building clang-7. r=froydnj
The "clang-9" variant of the patch is no longer present. For clang-7, the patch
file to use is now "find_symbolizer_linux.patch".

Differential Revision: https://phabricator.services.mozilla.com/D76176
2020-05-20 16:56:35 +00:00
Razvan Maries 40dbaf2901 Backed out changeset c17af0632260 (bug 1616692) as per Eric's request. CLOSED TREE 2020-05-20 08:29:18 +03:00
David Major 5157a6b486 Bug 1616692 - Update to clang 10.0.0 r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D74768
2020-05-20 07:39:23 +03:00
Dorel Luca 0a4406d5ef Backed out changeset 80ba3f3cfaf9 (bug 1616692) at dev's request. CLOSED TREE 2020-05-20 03:27:33 +03:00
David Major 38729b41a2 Bug 1638244 - Keep clang-7 toolchain on the old version of the find_symbolizer_linux patch r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D75506
2020-05-15 12:17:06 +00:00
David Major 64f56df070 Bug 1616692 - Update to clang 10.0.0 r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D74768
2020-05-14 13:42:38 +00:00
Razvan Maries 6740f8e47d Backed out 2 changesets (bug 1616692, bug 1635933) for reftests perma failures. CLOSED TREE
Backed out changeset 7340fb8c2297 (bug 1616692)
Backed out changeset 5695aa933c38 (bug 1635933)
2020-05-12 20:59:06 +03:00
David Major 50334d3714 Bug 1616692 - Update to clang 10.0.0 r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D74768
2020-05-12 14:02:30 +00:00
Andi-Bogdan Postelnicu b9d855801b Bug 1633694 - For `clang-tools` apply fixes from `clang-tools-extra` master branch to our own `clang-10` based build. r=sylvestre
In `Bug 1629853` we had to revert D69573 <https://reviews.llvm.org/D69573> from `clang-tools-extra` repo because it created regressions.
These regressions have been fixed in `clang master` with D78879 <https://reviews.llvm.org/D78879> and D76850 <https://reviews.llvm.org/D76850>.
This patch adds the two fixes mentioned above and remove the patch that reverted D69573.

Differential Revision: https://phabricator.services.mozilla.com/D72815
2020-04-28 11:49:50 +00:00
Andi-Bogdan Postelnicu fa006f3af3 Bug 1629853 - revert D69573 from clang-format. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D71918
2020-04-22 11:03:05 +00:00
Rob Lemley ca17e0a4bc Bug 1631627 - Change 1stage clang-cl to 2stage. r=dmajor
The clang_rt.builtins lib files produced by the 1stage build do not include
functions necessary for 128bit integers. This functionality is required by the
OpenPGP libraries that Thunderbird is using, specifically Botan's bigint module.

When compiler-rt is built with MSVC, these functions are not included
by design.

Differential Revision: https://phabricator.services.mozilla.com/D71785
2020-04-21 18:47:55 +00:00
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