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

280 Коммитов

Автор SHA1 Сообщение Дата
David Major cf077dc43d Bug 1532502 - Update ASan thread unpoisoning patch to latest upstream version r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D22325

--HG--
extra : moz-landing-system : lando
2019-03-07 16:04:17 +00:00
David Major 4da87b55d6 Bug 1531388 - Update win64 clang to 8.0.0rc3 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D21550

--HG--
extra : moz-landing-system : lando
2019-03-01 07:16:54 +00:00
Kartikaya Gupta 9f2f58c1f3 Bug 1500941 - Add a clang mangling crash workaround. r=dmajor
This is a workaround for https://bugs.llvm.org/show_bug.cgi?id=40747
where clang's mangler crashes when it tries to mangle a symbol from
the android NDK's <tuple> header.

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

--HG--
extra : moz-landing-system : lando
2019-02-23 04:14:20 +00:00
Emilio Cobos Álvarez da05bafa94 Bug 1394825 - Update minimum clang version to 4.0. r=glandium
libclang 3.9 has a bug that makes bindgen unable to distinguish some typedefs
from the underlying type, which matters for bug 1523071.

We have had quite a few workarounds for this bug and I don't really want to add
more, since in this case it is non-trivial. I think requiring libclang 4.0+ is
reasonable at this point.

Of the distros that can't build Firefox out of the box with clang, dropping support
for clang 3.9 would only break Ubuntu 14.04 LTS, which support ends April 2019,
right before we release 67.

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

--HG--
rename : build/build-clang/clang-3.9-linux64.json => build/build-clang/clang-4.0-linux64.json
rename : taskcluster/scripts/misc/build-clang-3.9-linux.sh => taskcluster/scripts/misc/build-clang-4.0-linux.sh
extra : moz-landing-system : lando
2019-02-10 02:56:13 +00:00
David Major 004144fdf9 Bug 1525957 - Bump clang-cl to 8.0.0rc2 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D19003

--HG--
extra : moz-landing-system : lando
2019-02-08 09:03:30 +00:00
Mike Hommey 2cce1ce974 Bug 1525196 - Apply https://reviews.llvm.org/D57636 to clang r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D18886

--HG--
extra : moz-landing-system : lando
2019-02-07 13:58:43 +00:00
David Major 90b4b511f2 Bug 1521129 - Bump clang-cl to 8.0.0 rc1 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D17009

--HG--
rename : build/build-clang/r342652-unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks.patch
extra : moz-landing-system : lando
2019-01-24 15:03:52 +00:00
Chris Manchester 1df3f2bb45 Bug 1518630 - Build compiler-rt profiling library for android x86 and aarch64. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16911

--HG--
extra : moz-landing-system : lando
2019-01-18 01:55:41 +00:00
Mike Hommey a0b6688faa Bug 1518726 - Apply https://reviews.llvm.org/D56475 to clang. r=froydnj
Firefox uses multiple processes. It has intentional leaks, and when
running with ASAN, we have suppressions to eliminate those. When running
ASAN builds through CI tests, when Firefox exits, each of the processes
(parent and child) exits and goes through its leaks and when there are
(which is a given), the ASAN runtime runs llvm-symbolizer to symbolicate
and match against suppressions. So each process runs llvm-symbolizer. At
the same time.

Some of the addresses to symbolicate are in libxul. Which contains all
DWARF info, making it a ~1GB monster. Oh, and because you're lucky,
things align perfectly such that libxul size is a multiple of the page
size. That makes llvm-symbolizer pread() the file instead of mmap()ing
it. Did I say there are multiple processes? So suddenly you have n
processes simultaneously allocating and filling 1GB of memory each, on
CI machines that have enough memory for the job they usually run, but
not enough for a sudden rush of n GB.

And things go awry. When you're lucky and the OOM killer didn't take
care of killing the CI entirely, symbolication couldn't happen and the
suppressions are not matched, and leaks are reported.

This all turns out it originates in how llvm-symbolicate chooses between
pread() and mmap(), which turns out is just defaults not being made for
binary files.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 00:18:28 +00:00
Mike Hommey 3dc15d5c35 Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2019-01-09 23:01:46 +00:00
Cosmin Sabou d6a8d4942e Backed out changeset 4728285e13e4 (bug 1516374) for causing coverage build bustages. a=backout 2019-01-09 18:34:05 +02:00
Mike Hommey d1371b35a2 Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2019-01-09 09:20:15 +00:00
Ciure Andrei c1b788ba04 Backed out 1 changesets (bug 1516374) for causing Linux asan browser chrome exceptions CLOSED TREE
Backed out changeset 4474a7665e47 (bug 1516374)
2018-12-27 08:17:10 +02:00
Mike Hommey 242f814d8a Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2018-12-27 00:49:54 +00:00
Narcis Beleuzu fa87e17c27 Backed out 2 changesets (bug 1485016, bug 1512921) as requested by tjr.
Backed out changeset 61ae84746b34 (bug 1485016)
Backed out changeset 585f7d2135ee (bug 1512921)
2018-12-21 05:59:24 +02:00
Tom Ritter 6b6e5440aa Bug 1512921 - Bump clang to trunk 348970 for Windows builds. r=dmajor
This removes several patches that have been upstreamed.
2018-11-27 14:44:34 -06:00
Mike Hommey b0360b6b16 Bug 1513798 - Use x86_64-darwin11 as a prefix for cctools-port, rather than x86_64-apple-darwin11. r=nalexander
This matches more closely cross toolchains prefixes (as can be seen in
e.g. media/libvpx/libvpx/README for x86_64-darwin*-gcc), and leaves it
to the build system to figure out the right --target to pass to clang on
its own.

Differential Revision: https://phabricator.services.mozilla.com/D14376
2018-12-18 10:50:08 +09:00
Dorel Luca 741816b6ea Backed out changeset c8a4a6617e30 (bug 1512921) for build bustage.
--HG--
extra : rebase_source : bf688c484a541748a83902d3b5ef70559cea7100
2018-12-17 22:13:45 +02:00
Tom Ritter 56516fc824 Bug 1512921 - Bump clang to trunk 348970 for Windows builds. r=dmajor
This removes several patches that have been upstreamed.

--HG--
extra : rebase_source : 8462b42b8342935cfb5ecb912fac06c67b9165b9
extra : amend_source : 271b5d4a5b37fa74555ef87cb0c4444f8f7468f0
2018-11-27 14:44:34 -06:00
Chris Manchester 5292ba5641 Bug 1504147 - Build compiler-rt libs for android on arm. r=froydnj
This patch is based on the cmake cache files for Android checked in to the
clang repo.

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

--HG--
extra : moz-landing-system : lando
2018-12-13 22:02:01 +00:00
Jacek Caban 11f027f6a4 Bug 1506450 - Bump LLVM and mingw-w64 versions. r=froydnj 2018-12-05 22:10:04 +01:00
Mike Hommey 533bba3865 Bug 1508547 - Switch Android builds to clang 7 again. r=dmajor
Bug 1492663 upgraded those builds to clang 7, and bug 1503330 brought
them back to clang 6 because of speedometer regressions.

With the previous change, the regression doesn't happen any more,
allowing to upgrade again.

Depends on D12394

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

--HG--
extra : moz-landing-system : lando
2018-11-20 22:10:49 +00:00
Marco Castelluccio 3a820232fa Bug 1502021 - Keep renaming __gcov_flush in LLVM to avoid naming clashes with builds mixing GCC and LLVM coverage instrumentation. r=decoder
--HG--
rename : build/build-clang/rename_gcov_flush.patch => build/build-clang/rename_gcov_flush_.patch
extra : rebase_source : 68be58d4fa714c79a6a384fd2b1660e5eb8e7f4a
2018-11-14 01:41:22 +01:00
Mike Hommey 80dfd5fe3c Bug 1503330 - Switch android arm/aarch64 opt/nightly builds back to clang 6. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D11964

--HG--
extra : moz-landing-system : lando
2018-11-15 02:45:29 +00:00
Marco Castelluccio 992f202202 Bug 1504074 - Apply LLVM patch to close file mapping handles after __gcov_flush. r=dmajor
--HG--
extra : rebase_source : 46977cfb1a4b390083fcb0c57bec4e302013572f
2018-11-01 18:12:03 +01:00
Kartikaya Gupta e27c90bb3c Bug 1418415 - Add a patch to win64-clang to downgrade a mangling error. r=dmajor
Depends on D10354

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

--HG--
extra : moz-landing-system : lando
2018-10-31 19:51:52 +00:00
Mike Hommey 3d7847dc20 Bug 1501885 - Switch hfsplus toolchain to clang 7. r=ted
And remove the clang-6 toolchain, which is now unused.

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

--HG--
extra : moz-landing-system : lando
2018-10-25 10:35:59 +00:00
Mike Hommey cd94fafb03 Bug 1492663 - Upgrade most CI builds to clang 7 r=froydnj
The cctools-port linker links against libraries from clang (for LTO),
which have different SONAMEs depending on the clang version. Which means
the linker needs to be used along the same version of clang it was built
against. Thus we also make it depend on linux64-clang-7.

But changing the dependency is not enough, cf. bug 1471905, so also
touch its build script, which it turns out, we need to do anyways
because llvm-dsymutil was renamed to dsymutil.

Relatedly, all toolchains that are built using cctools-port need to use
linux64-clang-7 too.

Building compiler-rt 7 with the OSX 10.11 SDK fails because of some
newer APIs being used in compiler-rt for xray, but this is not a feature
we use, so disable that.

Differential Revision: https://phabricator.services.mozilla.com/D6766
2018-10-25 07:38:35 +09:00
Tom Ritter 834782e506 Bug 1495539 Set up MinGW-clang to track clang trunk r=ted
--HG--
rename : build/build-clang/clang-7-mingw.json => build/build-clang/clang-trunk-mingw.json
rename : taskcluster/scripts/misc/build-clang-7-mingw.sh => taskcluster/scripts/misc/build-clang-trunk-mingw.sh
2018-10-18 09:09:53 -05:00
David Major d6200d9646 Bug 1427808 - Remove the now-unused win64-clang-cl-st-an toolchain. r=froydnj 2018-10-12 07:15:00 -04:00
Mike Hommey a2461e26da Bug 1414287 - Remove now unused win32-clang-cl-st-an toolchain r=dmajor
Depends on D7845

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

--HG--
extra : moz-landing-system : lando
2018-10-09 08:40:16 +00:00
Noemi Erli 8e3fe95bfb Backed out 3 changesets (bug 1414287) for causing bug 1497029 a=backout
Backed out changeset b8da3d4e6da0 (bug 1414287)
Backed out changeset 273e84414434 (bug 1414287)
Backed out changeset 76fafdaa9216 (bug 1414287)
2018-10-09 05:07:54 +03:00
Mike Hommey e5436a997c Bug 1414287 - Remove now unused win32-clang-cl-st-an toolchain r=dmajor
Depends on D7845

Differential Revision: https://phabricator.services.mozilla.com/D7846
2018-10-06 19:57:12 +09:00
Ciure Andrei a48af06d13 Backed out 3 changesets (bug 1414287) for build bustages module machine type 'x64' conflicts with target machine type 'x86 CLOSED TREE
Backed out changeset 5cc491e4d9cb (bug 1414287)
Backed out changeset 98bb6d9eb63c (bug 1414287)
Backed out changeset 73dcff37f846 (bug 1414287)
2018-10-06 03:02:41 +03:00
Mike Hommey 2e131e0f55 Bug 1414287 - Remove now unused win32-clang-cl-st-an toolchain r=dmajor
Depends on D7845

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

--HG--
extra : moz-landing-system : lando
2018-10-05 22:56:11 +00:00
Mike Hommey 882e5b8d18 Backout changeset 85ac938c7c46 (bug 1492663) to give time to toolchains to build without blocking other landings. 2018-10-05 11:10:25 +09:00
Mike Hommey e4cc0ac662 Bug 1492663 - Upgrade most CI builds to clang 7 r=froydnj
The cctools-port linker links against libraries from clang (for LTO),
which have different SONAMEs depending on the clang version. Which means
the linker needs to be used along the same version of clang it was built
against. Thus we also make it depend on linux64-clang-7.

But changing the dependency is not enough, cf. bug 1471905, so also
touch its build script, which it turns out, we need to do anyways
because llvm-dsymutil was renamed to dsymutil.

Relatedly, all toolchains that are built using cctools-port need to use
linux64-clang-7 too.

Building compiler-rt 7 with the OSX 10.11 SDK fails because of some
newer APIs being used in compiler-rt for xray, but this is not a feature
we use, so disable that.

Differential Revision: https://phabricator.services.mozilla.com/D6766
2018-10-05 09:51:08 +09:00
Mike Hommey d19d35bd2e Bug 1495641 - Make clang-tidy toolchains use a clang-tidy/ directory instead of clang/. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D7582
2018-10-05 09:51:07 +09:00
Mike Hommey d605a2bfd3 Backout changeset 3ff4a396300c (bug 1495641) to give time to toolchains to build without blocking other landings. 2018-10-05 07:46:52 +09:00
Mike Hommey 460d9b3318 Bug 1495641 - Make clang-tidy toolchains use a clang-tidy/ directory instead of clang/. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D7582
2018-10-05 07:41:27 +09:00
Mike Hommey 9a846a77d5 Bug 1494216 - Use the -Bsymbolic-functions linker flag to build clang. r=froydnj
With libLLVM being a shared library exporting many symbols, all internal
calls using those symbols default to go through the PLT, which is
unnecessary (and costly) overhead. Using -Bsymbolic-functions makes
internal calls go directly to the right place without going through the
PLT.

Differential Revision: https://phabricator.services.mozilla.com/D7029
2018-10-02 12:36:11 +09:00
Mike Hommey 651b91efc4 Backout changeset 99b28f8874bb (bug 1494216) to give time to toolchains to build without blocking other landings. 2018-10-02 11:10:28 +09:00
Mike Hommey 4a3b202a51 Bug 1494216 - Use the -Bsymbolic-functions linker flag to build clang. r=froydnj
With libLLVM being a shared library exporting many symbols, all internal
calls using those symbols default to go through the PLT, which is
unnecessary (and costly) overhead. Using -Bsymbolic-functions makes
internal calls go directly to the right place without going through the
PLT.

Differential Revision: https://phabricator.services.mozilla.com/D7029
2018-10-02 11:10:03 +09:00
Coroiu Cristina 44102e9f3d Backed out changeset 7652cf6fa0e4 (bug 1492663) for static analysis bustage
--HG--
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-6-macosx64.json
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh
2018-09-30 10:09:19 +03:00
Mike Hommey cb75aa87e4 Bug 1492663 - Upgrade most CI builds to clang 7 r=froydnj
The cctools-port linker links against libraries from clang (for LTO),
which have different SONAMEs depending on the clang version. Which means
the linker needs to be used along the same version of clang it was built
against. Thus we also make it depend on linux64-clang-7.

But changing the dependency is not enough, cf. bug 1471905, so also
touch its build script, which it turns out, we need to do anyways
because llvm-dsymutil was renamed to dsymutil.

Relatedly, all toolchains that are built using cctools-port need to use
linux64-clang-7 too.

Building compiler-rt 7 with the OSX 10.11 SDK fails because of some
newer APIs being used in compiler-rt for xray, but this is not a feature
we use, so disable that.

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

--HG--
rename : build/build-clang/clang-6-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
extra : moz-landing-system : lando
2018-09-27 15:33:42 +00:00
Nathan Froyd 18aa3c08fc Bug 1494384 - fix aarch64 __va_start checking in clang; r=dmajor
We need this so we can get a libclang to use for AArch64 bindgen.
2018-09-27 10:50:28 -04:00
David Major 93da7b7bda Bug 1492508: Merge upstream patch to pin the ASan DLL. r=ted
The ASan runtime wasn't designed to be unloaded, so pin it in memory.

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

--HG--
extra : rebase_source : 843fc91b3150f3b264e321ab89bf723a01fc8b3c
2018-09-26 17:24:16 -04:00
Andi-Bogdan Postelnicu d3f9b58b9e Bug 1493641 - embed the libLLVM.dylib into clang-tidy artifact on macOS. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6697

--HG--
extra : moz-landing-system : lando
2018-09-24 20:44:27 +00:00
Brindusan Cristian e48cea756e Merge inbound to mozilla-central. a=merge
--HG--
rename : toolkit/themes/shared/in-content/check-partial.svg => toolkit/themes/shared/icons/check-partial.svg
rename : browser/themes/shared/icons/check.svg => toolkit/themes/shared/icons/check.svg
2018-09-21 20:29:29 +03:00
Sylvestre Ledru 667c77d059 Bug 1493142 - Use 7 final tag to build libcxx r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D6488

--HG--
extra : moz-landing-system : lando
2018-09-21 13:58:30 +00:00
David Major 213fa4f492 Bug 1477490: Merge upstream ASan patch to unpoison thread stacks. r=ted 2018-09-20 17:40:38 -04:00
Mike Hommey 42c96ee774 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 10:41:36 +09:00
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