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

200 Коммитов

Автор SHA1 Сообщение Дата
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