Commit Graph

278 Commits

Author SHA1 Message Date
Mike Hommey
b12b62d352 Backout changeset dba2140cb366 (bug 1492037) to give time to toolchains to build without blocking other landings. 2018-09-21 08:18:49 +09:00
Mike Hommey
000f8d6970 Bug 1492037 - Build clang with LLVM as a shared library. r=froydnj
Doing so changes the size of the compressed toolchain archive from ~280M
to ~120M, and the decompressed size from ~1500M to ~675M. This will
reduce the overhead of decompression during builds.

As we ship llvm-symbolizer as part of ASan builds, we do need it to
still statically link against LLVM, which we do with a small patch.

With LLVM as a shared library, libLTO, which is used by cctools-port for
the linker, is dynamically linked to LLVM, and the cctools-port
configure script fails to link against libLTO. So we add a -rpath-link
to make it find the LLVM library. This happens to force a rebuild of
cctools-port, but for future cases where we might need a rebuild because
of some clang changes, we add a comment to ease the process, and avoid
a newer cctools-port taking the cache spot of an older one.

Ideally, mac cctools-port would need something similar, but it needs a
mac libLTO.dylib, which is not there anyways (and the mac cctools-port
thus already didn't support LTO).

Also, with LLVM built as a shared library, all its symbols are exported
with a LLVM_x.y version. Combined with -static-libstdc++ that is used
during the clang build, this causes problems (see
https://bugzilla.mozilla.org/show_bug.cgi?id=1492037#c7). But it turns
out things have evolved since -static-libstdc++ has been added to the
clang build script, and things work without now, so remove it (as well
as -static-libgcc).

Differential Revision: https://phabricator.services.mozilla.com/D6117
2018-09-21 08:18:47 +09:00
Sylvestre Ledru
2ad3aee57b Bug 1491788 - Use clang 7final to build firefox & clang-tidy r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D6018
2018-09-20 10:10:29 +09:00
Mike Hommey
26306f585f Backout changeset b0abf5269c25 (bug 1492037) to give time to toolchains to build without blocking other landings. 2018-09-19 07:01:33 +09:00
Mike Hommey
76f0ade076 Bug 1492037 - Build clang with LLVM as a shared library. r=froydnj
Doing so changes the size of the compressed toolchain archive from ~280M
to ~120M, and the decompressed size from ~1500M to ~675M. This will
reduce the overhead of decompression during builds.

As we ship llvm-symbolizer as part of ASan builds, we do need it to
still statically link against LLVM, which we do with a small patch.

CCTools-port needs to be rebuilt in some cases of clang changes, which
this one of, so touch the script so that it happens.

Differential Revision: https://phabricator.services.mozilla.com/D6117
2018-09-19 07:00:38 +09:00
David Major
8a61079eb7 Bug 1489096: Use clang 7.0.0rc3 for Windows builds. r=glandium 2018-09-11 23:57:29 -04:00
Sylvestre Ledru
6791a1aed7 Bug 1486759 - Cherry pick a lld fix to fix the Windows entry point r=dmajor
Not waiting for rc3 or final from llvm because the issue is pretty severe

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

--HG--
extra : moz-landing-system : lando
2018-09-07 13:05:31 +00:00
Mike Hommey
55896c33ae Bug 1488307 - Build the LLVM gold plugin. r=mshal
As much as it's tempting to use LLD for LTO, it still causes some
subtle problems with the build, and it's still better to keep using
BFD ld for the time being. Doing so requires the gold plugin, which
only requires to pass cmake the directory where the binutils headers
are, and they are part of the gcc toolchain headers.

Differential Revision: https://phabricator.services.mozilla.com/D4896
2018-09-05 09:36:42 +09:00
Mike Hommey
cf79ab0a63 Backout changeset c2b5cf7bde83 (bug 1488307) to give time to toolchains to build without blocking other landings. 2018-09-05 06:50:14 +09:00
Mike Hommey
6f7dce0af3 Bug 1488307 - Build the LLVM gold plugin. r=mshal
As much as it's tempting to use LLD for LTO, it still causes some
subtle problems with the build, and it's still better to keep using
BFD ld for the time being. Doing so requires the gold plugin, which
only requires to pass cmake the directory where the binutils headers
are, and they are part of the gcc toolchain headers.

Differential Revision: https://phabricator.services.mozilla.com/D4896
2018-09-05 06:50:13 +09:00
Andi-Bogdan Postelnicu
34a6c4ff8f Bug 1466427 - Migrate clang-tidy package from 5.0.1 to 7.0.0-rc2. r=glandium,janx
Differential Revision: https://phabricator.services.mozilla.com/D3980

--HG--
rename : tools/clang-tidy/test/misc-bool-pointer-implicit-conversion.cpp => tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp
rename : tools/clang-tidy/test/misc-forward-declaration-namespace.cpp => tools/clang-tidy/test/bugprone-forward-declaration-namespace.cpp
rename : tools/clang-tidy/test/misc-macro-repeated-side-effects.cpp => tools/clang-tidy/test/bugprone-macro-repeated-side-effects.cpp
rename : tools/clang-tidy/test/misc-string-constructor.cpp => tools/clang-tidy/test/bugprone-string-constructor.cpp
rename : tools/clang-tidy/test/misc-string-integer-assignment.cpp => tools/clang-tidy/test/bugprone-string-integer-assignment.cpp
rename : tools/clang-tidy/test/misc-suspicious-missing-comma.cpp => tools/clang-tidy/test/bugprone-suspicious-missing-comma.cpp
rename : tools/clang-tidy/test/misc-swapped-arguments.cpp => tools/clang-tidy/test/bugprone-swapped-arguments.cpp
rename : tools/clang-tidy/test/misc-unused-raii.cpp => tools/clang-tidy/test/bugprone-unused-raii.cpp
extra : moz-landing-system : lando
2018-08-24 12:39:58 +00:00
Mike Hommey
32f6c1b795 Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and
contains a backport of r339636.
2018-08-24 08:39:30 +09:00
Mike Hommey
1894266228 Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings. 2018-08-24 07:39:04 +09:00
Mike Hommey
a4d874c7b8 Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and
contains a backport of r339636.
2018-08-24 07:33:38 +09:00
Mike Hommey
9c245b8d05 Bug 1484888 - Apply upstream patch that fixes a clang crash with stack overflow on PGO + LTO on Linux. r=froydnj
For some reason, clang 6 crashes with a stack overflow on PGO + LTO on
Linux 64 bits. Clang 7 doesn't, but has other problems.

After some bisecting, I found the following:
- r322684 is the first revision that is broken on the release_60 branch.
- that revision is a cherry pick of r322313 from trunk, which is
  similarly broken.
- trunk was fixed by r322325, which, funnily enough, predates when
  r322313 was cherry-picked.

While the change from r322325 is relatively large, mixing multiple
different changes in a single commit, there also haven't been
significant changes to the same file on trunk since (one macro name
change, one documentation change, and a change related to debug info),
which would tend to indicate the change is not going to break anything,
or at least not more than upgrading to clang 7 would.

The exact part that fixes the issue could probably be found in this
large commit, but I didn't feel like digging into it further considering
the above.
2018-08-22 09:52:17 +09:00
Mike Hommey
9fb5fdb841 Bug 1484100 - No-op change to clang-win64.json to retrigger a clang-cl build from a decision task to make CoT happy again. r=me 2018-08-20 06:47:26 +09:00
Mike Hommey
41475291f5 Bug 1479800 - Build 32-bits compiler-rt for 64-bits clang-cl. r=dmajor
--HG--
extra : source : dccd5299c5ad9e4258eb7b08201f2f39164a2a54
2018-08-16 10:31:03 +09:00
arthur.iakab
07aa46fd13 Backed out 2 changesets (bug 1479800, bug 1483779)for frequent cgx and arm64 failures
Backed out changeset 5fcbe08fb321 (bug 1483779)
Backed out changeset dccd5299c5ad (bug 1479800)
2018-08-17 09:50:30 +03:00
Mike Hommey
403fedb91f Bug 1479800 - Build 32-bits compiler-rt for 64-bits clang-cl. r=dmajor 2018-08-17 10:19:51 +09:00
Mike Hommey
8ae8b977cb Backout changeset 1e71e61d1623 (bug 1479800) to give time to toolchains to build without blocking other landings. 2018-08-17 07:11:45 +09:00
Mike Hommey
4e5403653b Bug 1479800 - Build 32-bits compiler-rt for 64-bits clang-cl. r=dmajor 2018-08-17 07:10:07 +09:00
Bogdan Tara
bde699c0ed Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-15 20:58:28 +03:00
Mike Hommey
6e7a8d357e Bug 1483123 - Apply miscompilation fix from clang upstream. r=froydnj 2018-08-15 17:34:21 +09:00
Tom Ritter
387aaf6096 Bug 1479878 Add a --skip-revert option to build-clang.py r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D2580

--HG--
extra : moz-landing-system : lando
2018-08-15 06:13:14 +00:00
Bogdan Tara
af579cb55e Backed out changeset bc15796e6fa7 (bug 1478644) static analysis failures on win2012 2018-08-13 17:57:18 +03:00
Andi-Bogdan Postelnicu
915b4ea25e Bug 1478644 - [Clang-Tidy] Synchronize run-clang-tidy output with the actual files that are being checked. r=sylvestre
MozReview-Commit-ID: LyfcV4oQwyw

--HG--
extra : rebase_source : c992dc421980eb819f6272bb68058ff9e607dfaa
2018-07-26 15:29:19 +02:00
Mike Hommey
ba8192bdee Bug 1482335 - Update clang 7pre toolchains to 7rc1. r=dmajor 2018-08-11 06:50:27 +09:00
Mike Hommey
601f45564e Bug 1481989 - Copy 32-bits libraries from gcc to clang. r=froydnj
We already copy the 64-bits libraries, but don't copy the 32-bits
libraries, which prevents building for linux32 by default.

Incidentally, this also makes the clang build system build the 32-bits
compiler-rt libraries, allowing e.g. 32-bits PGO.
2018-08-10 05:54:07 +09:00
Daniel Varga
14af3949fc Backed out 3 changesets (bug 1480631) for failure at /home/cltbld/workspace/build/tests/talos/talos/run_tests.py
Backed out changeset ed7dba433629 (bug 1480631)
Backed out changeset dd64a5e6d4df (bug 1480631)
Backed out changeset 910a805c960d (bug 1480631)
2018-08-09 01:46:40 +03:00
Mike Hommey
7be4cc3526 Fix up clang-tidy after bug 1480631. r=bustage 2018-08-09 06:37:11 +09:00
Mike Hommey
29e5f32cce Bug 1480631 - Copy 32-bits libraries from gcc to clang. r=froydnj
We already copy the 64-bits libraries, but don't copy the 32-bits
libraries, which prevents building for linux32 by default.

Incidentally, this also makes the clang build system build the 32-bits
compiler-rt libraries, allowing e.g. 32-bits PGO.
2018-08-09 06:08:12 +09:00
David Major
da6edd24ed Bug 1479851: Update Windows clang to r338614 (8.0.0) r=froydnj
--HG--
extra : rebase_source : 3fd61e646401b52e5fd796d5c9d695fc23bcc56b
2018-08-01 17:58:35 -04:00
Christian Holler
75e5225c77 Bug 1426176 - Add symbols file for Clang ASan runtime on Windows. r=ted
MozReview-Commit-ID: 4P3mwZNP8cY

--HG--
extra : histedit_source : ef086a01cdb2d228b93ee1be018033f7390fa055%2C1454c0f70d38a56f9c78e4d9b29107409c18726b
2018-07-26 11:16:50 +02:00
Devika Sugathan
ae8a6c6dcc Bug 1472121 - Remove unused patches from build/build-clang/. r=marco 2018-07-31 00:35:36 +05:30
Cosmin Sabou
91170e2db1 Backed out changeset df39b3369446 (bug 1426176) for causing toolchains clang bustages. CLOSED TREE
--HG--
extra : rebase_source : 99cc3e3b40d0ca7c0ae58d3c8553b0339f8c74b1
2018-07-31 00:48:47 +03:00
Christian Holler
04589bf67b Bug 1426176 - Add symbols file for Clang ASan runtime on Windows. r=ted
MozReview-Commit-ID: 4P3mwZNP8cY

--HG--
extra : rebase_source : a06221ad62a6c763224378d93aeea7d2477f5226
2018-07-26 11:16:50 +02:00
Jacek Caban
6e25c2945a Bug 1465798: Create a MinGW-Clang toolchain job r=froydnj
MozReview-Commit-ID: 9OLqKcYtMJi

--HG--
extra : histedit_source : d1e7da6531ffd8d9df869324da07440ce13899cc
2018-07-24 14:04:53 -05:00
Mike Hommey
a958acba8b Bug 1478927 - Upgrade clang 6 to 6.0.1 and apply some miscompilation patches. r=dmajor
https://github.com/rust-lang/rust/issues/52694 is a miscompilation I
found in rust when it uses system llvm 5 or 6, that was fixed 5 months
ago in the llvm rust bundles. This may or may not affect clang, but
considering it was also reported to upstream llvm independently of rust,
it's better to side with caution.

It doesn't affect 3.9, and bug 1478919 got rid of the last use of clang
5 (except for clang-tidy, but that's not used to compile).

The patches come from the llvm trunk from 5 months ago, so they're
already in our clang 7 snapshots.

Windows static analysis builds are still using an old trunk, but are
stuck on bug 1427808. They're "only" for static analysis, though.

--HG--
extra : rebase_source : f4fce69eb7c69b6245518a1bad37e04236c7075b
2018-07-27 15:53:02 +09:00
Mike Hommey
789f4ba458 Bug 1478919 - Remove the now unused linux64-clang-5 toolchain. r=dmajor
--HG--
extra : rebase_source : 1de38fc2e484ec02bcbe1fb1b58b97f5aba55b43
2018-07-27 15:34:07 +09:00
Marco Castelluccio
d0c1497ebc Bug 1471339 - Rename LLVM's __gcov_flush function to __llvm_gcov_flush to avoid naming clashes with GCC profiling library. r=glandium
--HG--
extra : rebase_source : c107eef2c4a920799d8079a4c5f6443b112ba49e
2018-07-10 12:53:03 +02:00
Marco Castelluccio
73ba2e4524 Bug 1471339 - Introduce clang 7 toolchain build. r=glandium
--HG--
extra : rebase_source : 1609a57558151f11b9cdf3422c67ad4c3f695e12
2018-07-11 10:44:39 +02:00
David Major
85279470b7 Bug 1448976: Pick up two LLVM fixes for ThinLTO undefined symbols on Windows. r=froydnj
https://bugs.llvm.org/show_bug.cgi?id=38105#c4
https://bugs.llvm.org/show_bug.cgi?id=38139#c5
2018-07-16 12:24:57 -04:00
David Major
92ead96042 Bug 1458109: Update to LLVM r336407 on Windows. r=glandium
Fixes https://bugs.llvm.org/show_bug.cgi?id=37634 and also picks up https://reviews.llvm.org/D48538
2018-07-09 18:56:04 -04:00
Tom Ritter
4fc01f63a0 Bug 1467897 Allow local runs of build-clang by providing a --base-dir option r=glandium
MozReview-Commit-ID: Gd9W1DV5g1x

--HG--
extra : rebase_source : 6324b6f5126f5c11b2f534ecb046d7d7e70eba3c
2018-06-05 14:01:59 -05:00
Mike Hommey
17bbe0155b Bug 1471491 - Add lld to the mac clang toolchain. r=froydnj
--HG--
extra : rebase_source : 3161081a464c1c7acae6dde6a010ed9f5a598bfa
2018-06-27 13:33:23 +09:00
Nathan Froyd
426a7a6439 Bug 1470449 - silence some warnings during clang bootstrap; r=chmanchester
This change makes interactive usage slightly nicer and logs somewhat shorter.
2018-06-26 12:02:36 -04:00
Mike Hommey
75a0990a1d Bug 1467658 - Update the macosx clang toolchain (for bootstrap) to version 6. r=chmanchester
--HG--
extra : rebase_source : 104b34102202fe0598d73d351de7b7ce0689f5ac
2018-06-08 13:37:48 +09:00
Mike Hommey
a7e6de776d Bug 1467658 - Use clang 6 for coverage builds. r=chmanchester,marco
Instead of clang 4, which they were the last to use, so remove the
clang 4 toolchain.

--HG--
extra : rebase_source : d03a083e9217aeb6c1d2c91decb978426f0e8d1a
2018-06-08 10:48:06 +09:00
Mike Hommey
03b4a0d6e0 Bug 1462498 - Update clang 6 pre to clang 6 final on linux and mac. r=gps 2018-06-08 09:25:49 +09:00
Cosmin Sabou
28d7e29493 Backed out 2 changesets (bug 1462498) for build bustages on unit-symbolstore.py. CLOSED TREE
Backed out changeset 213ee9ed734c (bug 1462498)
Backed out changeset 556f097431e3 (bug 1462498)
2018-06-07 11:16:01 +03:00
Mike Hommey
b681ded65b Bug 1462498 - Update clang 6 pre to clang 6 final on linux and mac. r=gps 2018-06-07 15:18:31 +09:00
Tom Ritter
1f99a6a577 Bug 1457482 Add lld to the clang-6-pre-linux64 toolchain for use in the LTO build r=glandium
MozReview-Commit-ID: KYY0DqFxbDE

--HG--
extra : rebase_source : aafb326c82a2a871f356a7919efce6f3b0c9f58c
2018-04-13 15:22:57 -05:00
David Major
b6c41df5bb Bug 1465245 - Update clang-cl toolchain to r333414. r=froydnj
--HG--
extra : rebase_source : a0f174588c7fbf6f83709850b8b26448080b9a4d
2018-05-30 13:27:13 -04:00
David Major
49de728827 Bug 1464249 - Patch clang-win64.json to fix ASan on Windows 10 1803. r=froydnj
--HG--
extra : rebase_source : 194a25a217ddc10eb2782c127689c88d1df68e1f
2018-05-29 15:38:18 -04:00
Sylvestre Ledru
dcfef841a7 bug 1463425 - Fix flake8/pep8 issue by hand in build/ r=gps
MozReview-Commit-ID: AZdcEWyVV6e

--HG--
extra : rebase_source : b1c45028c8d46be5ba590a27a2f9f20e248a26b1
2018-05-21 23:58:19 +02:00
Andreea Pavel
f489d7af8e Backed out changeset 4523372c4945 (bug 1462498) for Win build bustages on a CLOSED TREE
--HG--
rename : build/build-clang/clang-6-linux64.json => build/build-clang/clang-6-pre-linux64.json
rename : build/build-clang/clang-6-macosx64.json => build/build-clang/clang-6-pre-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-pre-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-6-linux.sh => taskcluster/scripts/misc/build-clang-6-pre-linux.sh
2018-05-19 02:19:22 +03:00
Mike Hommey
6b2218c550 Bug 1462498 - Update clang 6 pre to clang 6 final. r=gps
--HG--
rename : build/build-clang/clang-6-pre-linux64.json => build/build-clang/clang-6-linux64.json
rename : build/build-clang/clang-6-pre-macosx64.json => build/build-clang/clang-6-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-pre-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-6-pre-linux.sh => taskcluster/scripts/misc/build-clang-6-linux.sh
extra : rebase_source : ae02bc8f15fa2bab743a63d49ffc3e14eca6c157
2018-05-18 08:03:31 +09:00
David Major
2038099969 Bug 1458325 followup bustage fix 2018-05-11 10:46:56 -04:00
David Major
69108e1f53 Bug 1458325: Merge ASan runtime patch to fix Win64 jit-tests. r=froydnj 2018-05-11 10:43:52 -04:00
Tom Ritter
613e18b048 Bug 1458897 Fix svn revert in build-clang so one can re-run it successfully r=glandium
svn revert requires a path, and does not take a revision.  This isn't an
issue on build machines because we do a fresh checkout every time.

But if you're trying to run build-clang locally, with existing checkouts,
it will:
1) successfully svn update
2) run svn revert, saying "Skipped <rev>"
      (except you don't see it because of -q)
3) svn revert returns a successfull eror code
4) patch fails because the file was never reverted and it attempts
   to re-apply the patch

Also I think the revert command needs to come first.

MozReview-Commit-ID: 4OfrJNZwJNU

--HG--
extra : rebase_source : b3474e8048b3110f3f5948c3351923c02735ca4d
2018-05-03 09:14:12 -05:00
David Major
2a5904b3d4 Bug 1448519: Pick up clang r328769 on Windows. r=mshal 2018-04-02 10:11:05 -04:00
David Major
32c30a3ca5 Bug 1450133 - Pick up LLD r320462 for the static analysis builders. r=froydnj
--HG--
extra : rebase_source : 96660883a950ef6c4d3382fdb02eab00f573cd47
2018-03-30 18:06:27 -04:00
Andi-Bogdan Postelnicu
b030e9525d Bug 1447904 - for clang-tidy toolchains set default cxx dialect cxx14. r=froydnj
MozReview-Commit-ID: LrGETsz0W6q

--HG--
extra : rebase_source : 02a9e9bb50ef91fe5aa23fbfce9fe00e6042c005
2018-03-28 18:48:57 +03:00
Narcis Beleuzu
f7d1771078 Backed out changeset 0c253578b791 (bug 1447904) for TL failures /toolchain-win32-clang-tidy TW32. CLOSED TREE 2018-03-28 18:43:54 +03:00
Andi-Bogdan Postelnicu
986651e3c5 Bug 1447904 - for clang-tidy toolchains set default cxx dialect cxx14. r=froydnj
MozReview-Commit-ID: LrGETsz0W6q

--HG--
extra : rebase_source : e419fd1d138ef17c00644c2bd91f7b6b9924a413
2018-03-28 15:02:09 +03:00
David Major
b76ef3dfd0 Bug 1449299 - Give the windows static analysis builders an lld_repo. r=froydnj
--HG--
extra : rebase_source : f7b18e080ff2c4e92e034de35fa00ca50f83d447
2018-03-27 16:25:06 -04:00
Ryan VanderMeulen
dde54aa578 Bug 1424281 - Use Visual Studio 2017 15.6.0 for Windows builds. r=froydnj
--HG--
extra : rebase_source : 2d5abb19c1f2b2e2f142b849bd4d0ba9ab46ccbe
2018-03-12 19:24:44 -04:00
David Major
8f57f62bc6 Bug 1443827: Update clang-cl builders to r326909 and add the lld repo. r=froydnj 2018-03-08 17:26:56 -05:00
David Major
8483a27743 Bug 1443827: Move clang-cl static analysis builds to their own toolchain task. r=froydnj
Note that static analysis was the only remaining user of the 32-bit toolchain, so I've removed win32-clang-cl (or rather, renamed it to win32-clang-cl-st-an).

--HG--
rename : build/build-clang/clang-win32.json => build/build-clang/clang-win32-st-an.json
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-st-an.json
rename : taskcluster/scripts/misc/build-clang32-windows.sh => taskcluster/scripts/misc/build-clang32-st-an-windows.sh
rename : taskcluster/scripts/misc/build-clang64-windows.sh => taskcluster/scripts/misc/build-clang64-st-an-windows.sh
2018-03-08 17:25:52 -05:00
Jesse Schwartzentruber
5b70ea834b Bug 1425406 - Add a linux64 clang 6 (pre) toolchain with the macosx64 native sanitizer dylibs. r=froydnj
MozReview-Commit-ID: Ig9xpBDcjNu

--HG--
extra : rebase_source : 278bd4fffb82d12e1bc4eb72458bdac3ba62e11f
2018-02-08 16:58:12 -05:00
Nathan Froyd
c887f553f2 Bug 1435502 - add AArch64 support to clang builds; r=chmanchester 2018-02-05 14:25:43 -05:00
Andi-Bogdan Postelnicu
714748cf50 Bug 1430360 - Update the clang svn revision for the clang-tidy build generated by toolchains. r=froydnj
MozReview-Commit-ID: JiHF24Du8By

--HG--
extra : rebase_source : dfd667d30b1e8e0904ffe403afb2689a8f14ebb3
2018-01-19 11:52:54 +02:00
Mike Hommey
cab7cc1091 Bug 1431314 - Update clang 3.9 and 5.0 toolchains. r=froydnj
Respectively to 3.9.1 and 5.0.1
2018-01-23 13:48:05 +09:00
Andreea Pavel
79f23484b4 Backed out changeset 16dc5da96ab6 (bug 1430360) for clang-tidy bustages on a CLOSED TREE 2018-01-16 18:49:14 +02:00
Andi-Bogdan Postelnicu
98077bb2ae Bug 1430360 - Update the clang svn revision for the clang-tidy build generated by toolchains. r=froydnj
MozReview-Commit-ID: JiHF24Du8By

--HG--
extra : rebase_source : 5c3fc94da7ee5d7fdad78a3c718be6902eab726e
2018-01-13 14:10:43 +02:00
Andi-Bogdan Postelnicu
b41605bc5e Bug 1429015 - Add clang-format-diff to the clang-tidy build generated by toolchains. r=sylvestre
MozReview-Commit-ID: FjJqef78wa3

--HG--
extra : rebase_source : ef0682f66f681f7c069fe6ad31baeb78d54c14ea
2018-01-09 13:27:39 +02:00
Mike Hommey
9f6417f045 Bug 1410148 - Backport llvm r289565 to clang 3.9. r=gps
I was able to reproduce the failure to apply llvm-dsymutil on the last
mozilla-central revision before debug info was temporarily disabled for
rust, and validated that the problem was gone in clang 4.

After some bisection, r289565 was identified as having fixed the
problem, which, reading the commit message, makes sense.

It was however not possible to simply cherry-pick, because of multiple
code changes between 3.9 and 4. However, apart from the volume of
conflicting changes, it was more or less straightforward to backport.

Interestingly, the patch for r313872 was relying on changes from
r289565, which is why it required a variant specifically for 3.9, but
now we can use the same patch as for other versions. Well, except
there's a small difference in the context, and build-clang.py doesn't
allow fuzz, so we manually edit the patch to remove that line from the
context.

--HG--
extra : rebase_source : de0ab262d401c37c0e9300b0ef7923a07c009d87
2017-12-28 14:54:51 +09:00
Ciure Andrei
8e754a1049 Backed out 2 changesets (bug 1410148) for bustage failures on python\mozbuild\mozbuild\test\configure\lint.py r=backout a=backout on a CLOSED TREE
Backed out changeset f77f58a060ad (bug 1410148)
Backed out changeset 593515920c7e (bug 1410148)
2017-12-29 22:31:51 +02:00
Mike Hommey
8a6ab5b9ab Bug 1410148 - Backport llvm r289565 to clang 3.9. r=gps
I was able to reproduce the failure to apply llvm-dsymutil on the last
mozilla-central revision before debug info was temporarily disabled for
rust, and validated that the problem was gone in clang 4.

After some bisection, r289565 was identified as having fixed the
problem, which, reading the commit message, makes sense.

It was however not possible to simply cherry-pick, because of multiple
code changes between 3.9 and 4. However, apart from the volume of
conflicting changes, it was more or less straightforward to backport.

Interestingly, the patch for r313872 was relying on changes from
r289565, which is why it required a variant specifically for 3.9, but
now we can use the same patch as for other versions. Well, except
there's a small difference in the context, and build-clang.py doesn't
allow fuzz, so we manually edit the patch to remove that line from the
context.

--HG--
extra : rebase_source : cda077132ee499a8ffdc4c88a1160cfa5fd86a97
2017-12-28 14:54:51 +09:00
Ryan VanderMeulen
5426c586b0 Bug 1425984 - Backport LLVM revision 318309 to fix clang-cl bustage with VS2017 15.5. r=dmajor 2017-12-19 14:16:31 -05:00
Ryan VanderMeulen
ecad46fcc0 Bug 1423307 - Update clang-cl builds to LLVM revision 317840. r=ted
--HG--
extra : histedit_source : 17e273e956a29232fd7b6e262df8ae939216f668
2017-12-06 20:37:13 -05:00
David Major
252f0cf0c6 Bug 1421404: Add lld to the build-clang task. r=glandium
--HG--
extra : rebase_source : a41a386965056afdc359f117972f6d5078d83453
2017-12-01 11:12:07 -05:00
Marco Castelluccio
a51c72b439 Bug 1421692 - Apply compiler-rt patch to flush gcda files before unlocking them. r=glandium 2017-11-29 13:18:22 +00:00
Marco Castelluccio
a3836b3113 Bug 1401230 - Apply compiler-rt patch to hide gcda symbols on Windows too. r=glandium 2017-11-23 20:32:50 +00:00
Christian Holler
107b880d6a Bug 1415689 - Add Clang 6 (pre) and use it for ASan builds. r=froydnj
MozReview-Commit-ID: 34rcG7gEswz
2017-11-10 10:14:26 +01:00
Marco Castelluccio
dbb30b1c50 Bug 1415699 - Apply LLVM patches needed to support code coverage on Windows. r=froydnj
--HG--
extra : rebase_source : 29b388ad96123b824f0502a740040a24b54b3e88
2017-11-08 22:44:15 +01:00
Marco Castelluccio
14a1047ffd Bug 1415568 - Support applying patches to Windows clang. r=froydnj
--HG--
extra : rebase_source : ed53f564166f6c26ed4f7fc0dabcc4582116ddbf
2017-11-08 17:23:12 +01:00
Mike Hommey
29f92851a1 Bug 1409267 - Patch compiler-rt to always use prctl(PR_SET_PTRACER). r=froydnj
--HG--
extra : rebase_source : 0fc0e184df96905632500d70c05dfb8421b8771c
2017-11-07 15:07:30 +09:00
Gregory Szorc
4783c071f3 Bug 1414558 - Build Clang toolchain on a Docker volume; r=froydnj
Before, the build root was not in a Docker cache or volume. With
current Docker works, that meant AUFS. We know AUFS is slow under
I/O load and can cause random failures due to missing data after
writes.

This commit changes the build root to a known Docker volume, which
will be backed by EXT4 and won't have the problems of AUFS.

MozReview-Commit-ID: 6WOH0yednAv

--HG--
extra : rebase_source : bbff0f00f55acdbe068fdf617a7903b8a303c397
2017-11-06 11:45:17 -08:00
David Major
2d71b41c6f Bug 1412952 - Build clang-cl itself with VS2017. r=froydnj 2017-11-03 12:29:58 -04:00
David Major
d250e3678b Bug 1412952: We want a HostX64 linker even with 32-bit clang-cl.exe. r=froydnj
32-bit clang-cl.exe was looking specifically for HostX86\x86\link.exe, which doesn't exist in our automation package. Make it look in HostX64\x86 instead.

This is an ugly hack and it would be preferable to just use a 64-bit compiler (bug 1414287).
2017-11-03 12:29:58 -04:00
David Major
b7a86dd2b5 Bug 1412952 - Loosen clang's MSVC detection to accept our automation's fake paths. r=froydnj
In a proper VS install, the path to cl.exe looks like:
...\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe

In our automation, the path is just:
...\VC\bin\HostX64\x64\cl.exe

Clang tries to do some sanity-checking to make sure that the cl.exe it finds is the Microsoft compiler and not some other program. But the checks are a little too strict for us, so just look for "bin\Host*\*\cl.exe".
2017-11-03 12:29:58 -04:00
Mike Hommey
cfff009a09 Bug 1408277 - Add a toolchain job for clang 5.0. r=froydnj
--HG--
extra : rebase_source : 6a5a3e1db7b8a754181468914712a38f162d0f0d
2017-10-13 13:22:41 +09:00
Mike Hommey
e0a1996b7e Bug 1381043 - Backport llvm r313872 to 3.9 to avoid llvm-dsymutil crashing on bad rust DWARF data. r=froydnj
Ideally, we'd backport it to the clang 4 toolchain too, but that results
in silently(!) missing crash symbols for libxul.

--HG--
extra : rebase_source : a3024abf720ea6e9dc0e3271a5aa2ebfae9bebee
2017-10-12 17:54:31 +09:00
Sylvestre Ledru
358507fde2 Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester
MozReview-Commit-ID: icmFJtbWdN

--HG--
extra : rebase_source : 7b2ef783822bcad7f955bad8cbd6cea6df588f92
2017-10-07 16:45:22 +02:00
Sylvestre Ledru
83284b8853 Bug 1406310 - Also ship clang-format in the clang-tidy build job r=glandium
MozReview-Commit-ID: 4C992sYlMo2

--HG--
extra : rebase_source : 818c9c4a73e66db7d60b55caf462d23fd352eec5
2017-10-06 09:50:48 +02:00
Boris Zbarsky
9a669f71b3 Bug 1406140 followup. Fix the formatting so the CLOSED TREE is less red.
MozReview-Commit-ID: LAskse3XmLN
2017-10-06 09:54:31 -04:00
Sylvestre Ledru
772b9c6088 Bug 1406140 - build-clang.py: flake8 consitency r=andi
MozReview-Commit-ID: 6w1QesvVyyc

--HG--
extra : rebase_source : 759fb035a3ffe7c9e8963f9861548d917acb695e
2017-10-05 21:03:19 +02:00
Sylvestre Ledru
fbc1ec3b7d Bug 1406140 - Simplify a bit the code to have a single call to build_tar_package r=andi
MozReview-Commit-ID: 9yGw8bJhQwR

--HG--
extra : rebase_source : e3ed5144a8bbdd6e3bba27d97decd6935904e3cb
2017-10-05 21:00:25 +02:00
Andi-Bogdan Postelnicu
9ba9d1c984 Bug 1405602 - Add clang-apply-replacements to the clang-tidy build generated by toolchains. r=ehsan
MozReview-Commit-ID: 1BT2ukzLoC3
2017-10-04 18:27:02 +03:00
Marco Castelluccio
587fb629ee Bug 1401230 - Apply compiler-rt patch to avoid crashes on shutdown when unloading shared libraries. r=glandium
--HG--
extra : rebase_source : f0f45488881d10c0c00bebe4f5dd2d3d36d0b25e
2017-09-20 22:52:15 +02:00
Wander Lairson Costa
6332ed5b0a Bug 1338651 part 1: Change docker image home dir to /build. r=dustin,mshal
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: 554IPMRWgzK

--HG--
extra : rebase_source : 00827d3f6bd705419bc801eb05b543af1ddc274f
2017-08-28 08:44:51 -03:00
Ting-Yu Chou
62922025c8 Bug 1373562 - Bump to clang r311608 to fix the errors running ASan on Windows 10 1703. r=Ehsan
MozReview-Commit-ID: CpiUizahZrj

--HG--
extra : rebase_source : 2182fe0f335fbcad7abacf7cb9a43bbc276ba656
2017-06-20 10:33:41 +08:00
Ting-Yu Chou
33c6c355d6 Bug 1385743 - Use copy_tree() to copy directory recursively instead. r=Ehsan
shutil.copy2() will fail if the destination directory doesn't exist.
Switch to copy_tree() instead so we don't need to worry about the
error cases of copy2() and copytree().

MozReview-Commit-ID: 3kHfgL57KfX

--HG--
extra : rebase_source : c7335b0c2854d53699dda0f0d2bd9d17b57c4e5d
2017-08-17 10:36:15 +08:00
Mike Hommey
f548b4a8d4 Bug 1386588 - Always print out the commands run by the clang build job. r=gps,a=KWierso
Not doing so makes debugging harder, for no added value.
2017-08-03 08:14:02 +09:00
Mike Hommey
cf23b5a7fa Bug 1386588 - Add a toolchain job for Clang 4. r=gps 2017-08-03 08:13:07 +09:00
Mike Hommey
c15ef2edff Bug 1386588 - Rename the linux64-clang and linux64-gcc jobs to include a version number. r=gps
We're soon going to build multiple versions of clang and gcc for linux,
and we need to differentiate them. Furthermore, there is a need for the
base-toolchains builds to use a fixed version of clang and gcc. So
rename the clang and gcc toolchain jobs to include their version, add
aliases to satisfy all existing jobs, and adjust the base-toolchains
jobs to use the explicit version.


--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-3.9-linux64.json
rename : taskcluster/scripts/misc/build-gcc-linux.sh => taskcluster/scripts/misc/build-gcc-4.9-linux.sh
2017-08-03 08:12:43 +09:00
Mike Hommey
ee6de1e835 Bug 1386588 - Rename the clang build manifests. r=gps
The clang toolchains have not been static-analysis-specific for a while.


--HG--
rename : build/build-clang/clang-static-analysis-linux64.json => build/build-clang/clang-linux64.json
rename : build/build-clang/clang-static-analysis-macosx64.json => build/build-clang/clang-macosx64.json
rename : build/build-clang/clang-static-analysis-win32.json => build/build-clang/clang-win32.json
rename : build/build-clang/clang-static-analysis-win64.json => build/build-clang/clang-win64.json
2017-08-03 08:12:29 +09:00
Wes Kocher
62d8e4f4fa Backed out changeset f8a62747c51c (bug 1338651) for valgrind issues a=backout 2017-06-30 14:45:26 -07:00
Wander Lairson Costa
c0abc737f5 Bug 1338651: Change docker image home dir to /build. r=dustin,mshal a=hopefullyavoidingmergebustagelater
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: zehcGJrUQX

--HG--
extra : source : feedcde68c2a54da210f03eb287ab5c862fc982b
extra : intermediate-source : 485d1af7805ad9fa0e701c3571fc1291fbfc6850
2017-06-29 15:45:01 -07:00
Ting-Yu Chou
998c531581 Bug 1335991 part 1 - Bump to clang r293859 to fix a crash at nsZipArchive::GetItem on 64-bit clang-cl builds. r=Ehsan
MozReview-Commit-ID: 8ZO4sSmvZRG

--HG--
extra : rebase_source : 31e196ffe69614e699e6e1f6269fad1678df96f0
2017-02-15 09:23:49 +08:00
Ehsan Akhgari
345db1efc9 Bug 1340650 - Update clang-tidy to LLVM r295482; r=mystor
This revision includes the upstream fixes that we need for the
./mach static-analysis command.
2017-02-17 14:49:50 -05:00
Ehsan Akhgari
159c817948 Bug 1337233 - Part 2: Update cross-compile OS X builds to clang 3.9; r=froydnj 2017-02-08 09:48:28 -05:00
Ehsan Akhgari
6ca044975f Bug 1336149 - Clean up the patches section in build-clang.py config files; r=froydnj
These config files don't need to declare patches for other platforms.
Therefore, this patch makes "patches" a simple array of patches to be
applied.
2017-02-03 10:21:25 -05:00
Ehsan Akhgari
4b3bdfeff3 Bug 1331957 - Part 11: Specify the path to the cross-compiler toolchain libtool for OS X static analysis builds; r=froydnj 2017-02-03 10:19:44 -05:00
Ehsan Akhgari
9ae48af89b Bug 1331957 - Part 9: Upgrade cctools used for building clang on OS X for ld 264.3.102; r=froydnj 2017-02-03 10:19:33 -05:00
Ehsan Akhgari
6606a301b5 Bug 1331957 - Part 7: Reapply LLVM r285657 to work around bug 1291397 on clang 3.9; r=froydnj 2017-02-03 10:19:23 -05:00
Ehsan Akhgari
39988b4058 Bug 1331957 - Part 6: Reapply LLVM r277806 since our clang-plugin depends on it; r=froydnj 2017-02-03 10:19:17 -05:00
Ehsan Akhgari
792b5995ec Bug 1331957 - Part 5: Add `-target x86_64-apple-darwin10' to the compiler-rt overridden CFLAGS; r=froydnj 2017-02-03 10:19:11 -05:00
Ehsan Akhgari
3faecaeefd Bug 1331957 - Part 4: Allow specifying a custom assembler and pass the right flags to it when cross-compiling; r=froydnj 2017-02-03 10:19:06 -05:00
Ehsan Akhgari
2deb4fad8f Bug 1331957 - Part 3: Delete some unused patches; r=froydnj 2017-02-03 10:19:01 -05:00
Ehsan Akhgari
12021be5bd Bug 1331957 - Part 1: Update the clang OSX build config file for cross-compile builds on the infrastructure; r=froydnj 2017-02-03 10:18:50 -05:00
Iris Hsiao
e7d1ec1886 Backed out 14 changesets (bug 1331957, bug 1336149) for OS X 10.7 debug static analysis build bustage
Backed out changeset a01bead75258 (bug 1336149)
Backed out changeset 9a64d3102f6b (bug 1331957)
Backed out changeset a10f7732a754 (bug 1331957)
Backed out changeset 82c98214febe (bug 1331957)
Backed out changeset f74c7a543525 (bug 1331957)
Backed out changeset 6631f3582920 (bug 1331957)
Backed out changeset ccefeba51cf6 (bug 1331957)
Backed out changeset a84b26a07369 (bug 1331957)
Backed out changeset fc0b3a0ad1e5 (bug 1331957)
Backed out changeset bbcae89fd7c2 (bug 1331957)
Backed out changeset ffd70d960b9f (bug 1331957)
Backed out changeset a53ecc295eae (bug 1331957)
Backed out changeset d44a0be29686 (bug 1331957)
Backed out changeset a01a373da6a8 (bug 1331957)
2017-02-03 11:16:08 +08:00
Ehsan Akhgari
3938b1321e Bug 1336149 - Clean up the patches section in build-clang.py config files; r=froydnj
These config files don't need to declare patches for other platforms.
Therefore, this patch makes "patches" a simple array of patches to be
applied.
2017-02-02 20:21:02 -05:00
Ehsan Akhgari
47962cad64 Bug 1331957 - Part 11: Specify the path to the cross-compiler toolchain libtool for OS X static analysis builds; r=froydnj 2017-02-02 20:20:58 -05:00
Ehsan Akhgari
740beab0d8 Bug 1331957 - Part 9: Upgrade cctools used for building clang on OS X for ld 264.3.102; r=froydnj 2017-02-02 20:20:56 -05:00
Ehsan Akhgari
21066a440f Bug 1331957 - Part 7: Reapply LLVM r285657 to work around bug 1291397 on clang 3.9; r=froydnj 2017-02-02 20:20:53 -05:00
Ehsan Akhgari
ec0c764072 Bug 1331957 - Part 6: Reapply LLVM r277806 since our clang-plugin depends on it; r=froydnj 2017-02-02 20:20:52 -05:00
Ehsan Akhgari
1c6291e811 Bug 1331957 - Part 5: Add `-target x86_64-apple-darwin10' to the compiler-rt overridden CFLAGS; r=froydnj 2017-02-02 20:20:50 -05:00
Ehsan Akhgari
d3f77a78f9 Bug 1331957 - Part 4: Allow specifying a custom assembler and pass the right flags to it when cross-compiling; r=froydnj 2017-02-02 20:20:49 -05:00
Ehsan Akhgari
8fe64fa5ab Bug 1331957 - Part 3: Delete some unused patches; r=froydnj 2017-02-02 20:20:47 -05:00
Ehsan Akhgari
111d9ba040 Bug 1331957 - Part 1: Update the clang OSX build config file for cross-compile builds on the infrastructure; r=froydnj 2017-02-02 20:20:45 -05:00
Nathan Froyd
54a6797cde Bug 1331012 - follow-up - delete trailng comma in JSON file; r=me 2017-01-20 13:42:07 -05:00
Nathan Froyd
9f03bf3c53 Bug 1330082 - factor out a checkout_or_update function for build-clang.py; r=ehsan
It's just silly to have the same code repeated multiple times; this is
the sort of thing functions were invented for.
2017-01-20 12:54:56 -05:00
Nathan Froyd
bfdd6c88f4 Bug 1331012 - update building clang for linux to version 3.9; r=ehsan
The return-empty-string-non-mangled.patch apparently landed in r249437
upstream, so we don't need to carry around our own version.  The patch
is still nominally used for building clang on Mac, so I have not removed
it from version control.
2017-01-20 12:54:56 -05:00
Ehsan Akhgari
9d0fe5c3d4 Bug 1332022 - Part 2: Update clang-tidy config files to LLVM r292415; r=mystor
This revision includes the changes needed in run-clang-tidy.py
(https://reviews.llvm.org/D28334).
2017-01-18 23:04:11 -05:00
Ehsan Akhgari
9e44ebaa16 Bug 1332022 - Part 1: Use the libc++ headers from the libc++ project being built; r=mystor
LLVM relies on new libc++ features that may not be present in
the system headers.
2017-01-18 23:04:10 -05:00
Wes Kocher
1d57cf3099 Backed out changeset bfcc3984fa6c (bug 1332022) for Clang-Tidy bustage a=backout
MozReview-Commit-ID: 42w843ZSidA
2017-01-18 13:27:01 -08:00
Ehsan Akhgari
4178bf325e Bug 1332022 - Update clang-tidy config files to LLVM r292415; r=mystor
This revision includes the changes needed in run-clang-tidy.py
(https://reviews.llvm.org/D28334).
2017-01-18 13:12:02 -05:00
Ehsan Akhgari
b8b6926a81 Bug 1329307 - Only package the clang-tidy binaries for the clang-tidy builds; r=mystor 2017-01-06 16:02:23 -05:00
Ehsan Akhgari
b212e8e44a Bug 1329306 - Also clobber the CMakeFiles directory; r=mystor
This directory can include variables for the toolchain path names,
for example, which are different from run to run on Windows TaskCluster
workers.
2017-01-06 16:02:23 -05:00
Ehsan Akhgari
1393c469d1 Bug 1328184 follow-up: Fix a typo 2017-01-05 00:51:47 -05:00
Ehsan Akhgari
f0a8a24920 Bug 1328199 - Part 2: Add a TaskCluster job to build clang-tidy for OSX on Linux; r=dustin 2017-01-04 16:50:09 -05:00
Ehsan Akhgari
38f9ae4b7f Bug 1328199 - Part 1: Add support for cross-compiling clang for OS X on Linux; r=mystor 2017-01-04 16:50:08 -05:00
Ehsan Akhgari
e877f28154 Bug 1324488 - Add a TaskCluster job to build clang-tidy on Linux; r=dustin 2017-01-04 16:50:08 -05:00
Ehsan Akhgari
2ffc60ec46 Bug 1328457 - Link clang statically against the MSVCRT on Windows; r=mystor 2017-01-04 12:25:57 -05:00
Ehsan Akhgari
56683af3e7 Bug 1328200 - Add TaskCluster jobs to build clang-tidy for Win32 and Win64; r=dustin 2017-01-03 17:04:29 -05:00
Ehsan Akhgari
d8db8fb565 Bug 1328184 - Part 2: Deal better with an existing build directory being found; r=mystor
Instead of relying on the assumption that a previous run of CMake was
using the same arguments, remove the CMake cache file and re-run it.
This way the script is robust no matter what kind of build directory
existed from before.
2017-01-03 16:59:56 -05:00
Ehsan Akhgari
b27938cfd1 Bug 1328184 - Part 1: Deal better with an existing source checkout; r=mystor
Since individual config files have different source repos declared,
it's better to deal with each individual source directory separately.
Also make sure to revert any of the existing changes in each directory
so that attempts to apply patches to the source directory or import
our static analysis checks into clang-tidy are guaranteed to always
succeed.
2017-01-03 16:59:56 -05:00
Phil Ringnalda
f26dcf9b33 Backed out changeset b12680f82f7a (bug 1324488) since the thing it depended on was backed out
MozReview-Commit-ID: 9Z36fqcH5v6
2016-12-31 08:55:47 -08:00