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

9541 Коммитов

Автор SHA1 Сообщение Дата
Dave Townsend dca627418f Bug 1682608: Allow building with macOS SDK 11.1. r=mhentges
Differential Revision: https://phabricator.services.mozilla.com/D99819
2020-12-15 23:45:06 +00:00
David Major e169ac43d1 Bug 1682611 - Update clang-plugin for removal of ast_type_traits namespace in clang 12 r=static-analysis-reviewers,andi
In clang 11, the contents of `ast_type_traits` were moved to the `clang` namespace, but forwarders were kept to give a grace period for downstreams.

In this week's clang 12, the forwarders have been removed, and our builds will break.

Thanks to upstream kindly allowed this transition period, we can simply do the rename now to prepare for clang 12, and existing clang 11 builds still work.

Differential Revision: https://phabricator.services.mozilla.com/D99817
2020-12-15 19:30:51 +00:00
David Major 43a2ab175a Bug 1682405 - Clean up unused clang toolchains (mostly clang-9) r=firefox-build-system-reviewers,mhentges
At this point it's pretty clear that we won't be reverting to clang-9.

This doesn't remove everything with clang-9 in the name. I did a mark-and-sweep GC by hand so this only removes unused entries. Some are still active, e.g. linux64-clang-9 is used to build a number of misc helper tools.

Differential Revision: https://phabricator.services.mozilla.com/D99721
2020-12-15 17:46:10 +00:00
Kartik Gautam f7ffcd09fb Bug 1679758 - Remove trailing empty lines r=sylvestre,marionette-reviewers,jgraham
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-15 10:34:54 +00:00
David Major 1fe4ed4c98 Bug 1682345 - Mention LLVM's build guide in toolchains.rst r=Gankro DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D99702
2020-12-14 18:30:22 +00:00
Chris H-C a0efcbcf74 Bug 1673660 - C++ and JS API for Glean Custom Pings r=janerik,webidl,smaug
Covers adding the new JS global `GleanPings` for JS, the new structs for C++ at
mozilla::glean_pings, ping-id and string-table-index codegen, the usual
boilerplate for JS and C++ stuff, and tests.

Unresolved:
* What happens if we call this on a non-parent process?
  (This isn't a supported mode of operation)

Differential Revision: https://phabricator.services.mozilla.com/D98671
2020-12-14 16:50:07 +00:00
Dragana Damjanovic 96b916ebe1 Bug 1682262 - Update neqo to 0.4.18 and bindgen to 0.56 r=necko-reviewers,emilio,valentin
Differential Revision: https://phabricator.services.mozilla.com/D99665
2020-12-14 18:38:49 +00:00
Sylvestre Ledru e69fa3515b Bug 1588710 - Linux/Android: enable -fstack-clash-protection r=tjr,firefox-build-system-reviewers,glandium
This is a new feature in clang (already existing in gcc) provided from version 11.

Not usefull on Mac & Windows and is supported on intel cpu + ppc64 + s390x
https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html#new-compiler-flags

Fedora/Redhat would like to have this option to move from gcc to clang in these
distros.

More on this:
https://blog.qualys.com/vulnerabilities-research/2017/06/19/the-stack-clash
https://pagure.io/fesco/issue/2020
https://reviews.llvm.org/D68720
https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Stack-Clash-Protection-20

It seems that the performance impact is neglible:
https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=a47c98b909b61035dae2e1e00883f2ade0fef129&newProject=try&newRevision=62108fa48bd15fe01f1a0f1ffab133af9b4207cc&framework=13

Differential Revision: https://phabricator.services.mozilla.com/D95999
2020-12-14 16:02:52 +00:00
Sylvestre Ledru 5ee117be90 Bug 1588710 - Add missing upstream llvm patch to fix alloc(0) r=firefox-build-system-reviewers,dmajor
From upstream repo:
a1e0363c7402f7aa58e24e0e6dfa447ebabc1910 to bbe6cbbed8c7460a7e8477373b9250543362e771

Differential Revision: https://phabricator.services.mozilla.com/D99681
2020-12-14 16:02:52 +00:00
Dimi Lee 2f037f6fb4 Bug 1582499 - P3. Test insecure warning is not shown when the url of top-level and iframe are both local ip r=sfoster
Depends on D99042

Differential Revision: https://phabricator.services.mozilla.com/D99043
2020-12-09 10:46:36 +00:00
Dorel Luca 7320ae982a Backed out changeset f3aaf04fce3b (bug 1679758) for Devtool failures in browser_styleeditor_syncAddProperty.js. CLOSED TREE 2020-12-13 16:38:21 +02:00
Kartik Gautam caf549c200 Bug 1679758 - Remove trailing empty lines r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D99595
2020-12-13 13:28:30 +00:00
Razvan Maries 0bcf81557b Merge autoland to mozilla-central a=merge 2020-12-11 11:32:14 +02:00
Razvan Maries 3651e41fe4 Backed out 2 changesets (bug 1675676) for sending crash reports on wrong host. a=backout DONTBUILD
Backed out changeset 2bfbb6e4c5dd (bug 1675676)
Backed out changeset bee2ef0fc0e7 (bug 1675676)
2020-12-11 11:22:27 +02:00
Mike Hommey d79dcf5161 Bug 1623520 - Switch Windows asan and fuzzing builds to cross-builds. r=decoder
Differential Revision: https://phabricator.services.mozilla.com/D79417
2020-12-11 05:06:12 +00:00
David Major af9e11f761 Bug 1623520 - Add the asan unpoison patch to clang-cl-2stage r=firefox-build-system-reviewers,glandium
This is needed for cross-compiled win64-asan builds.

Differential Revision: https://phabricator.services.mozilla.com/D99411
2020-12-11 05:06:12 +00:00
Christian Holler a0ed2c7425 Bug 1680837 - Fix libFuzzer gyp flags for nICEr. r=dmajor
The gyp flag logic in nICEr is supposed to ensure that the code is instrumented
for libFuzzer because we have a related fuzzing target. However, libFuzzer
instrumentation must be completely disabled for TSan due to incompatibility.
The current logic fails in doing so and incorrectly falls back to legacy
trace-pc instrumentation causing the TSan fuzzing build to fail on startup.

Differential Revision: https://phabricator.services.mozilla.com/D99351
2020-12-10 18:29:11 +00:00
Butkovits Atila e405e7af27 Bug 1675676- Lint fix. a=fix. CLOSED TREE 2020-12-10 09:44:21 +02:00
Edmund Wong d9f8f4beaa Bug 1675676 - Add --with-crashreporter-url for ac_add_options to allow specifying alternative crash-stats server url. r=glandium,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D96322
2020-12-08 11:38:38 +00:00
Mike Hommey a5ae57fe22 Bug 1681441 - Update valgrind package to Debian's 3.16.1. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D99182
2020-12-09 15:50:05 +00:00
David Major 56fdf285db Bug 1681582 - Disable Rust CFG on aarch64-windows r=firefox-build-system-reviewers,mhentges
This is bug 1639318 all over again except from Rust rather than C++. It's the same symptom, nsXPTCStub vtables aren't marked as valid targets.

In the earlier bug we disabled CFG for C++ on ARM64. Let's do the same for Rust. According to that bug, "It's not clear why this doesn't happen on x86 builds. Given priorities, I can't really justify investigating this, although I suspect that fixing the underlying issue would be pretty much bug 1483885."

Differential Revision: https://phabricator.services.mozilla.com/D99278
2020-12-10 01:27:38 +00:00
Mike Hommey 2dd02bb64b Bug 1681406 - Require 10.12 SDK for the build. r=firefox-build-system-reviewers,dmajor
Bug 1680152 updated automation to use the 10.12 SDK, and shortly after,
bug 1678174 introduced a change that broke the build with the 10.11 SDK.
Considering we haven't actually supported running on macos 10.11 and
earlier since Firefox 79, and that still supporting building with the
10.11 SDK would mean adding and maintaining code that, in practice,
would never be used by users, I think it is fair at this point that we
just drop support for the 10.11 SDK entirely.

Differential Revision: https://phabricator.services.mozilla.com/D99181
2020-12-09 13:26:36 +00:00
Alexis Beingessner c7d78f4a93 Bug 1680124 - add example patch file for rust builds. r=dmajor
This is step 1 to make the docs here better, as discussed. Another followup
will come in a day or two to update the text/links of the docs to refer to
this and the latest version of repack-rust.

Differential Revision: https://phabricator.services.mozilla.com/D99128
2020-12-08 19:53:17 +00:00
Tom Ritter 9293bfdb80 Bug 1677797 - Change autoconf to avoid using a hard-coded file descriptor r=glandium
In Bug 1671424 we changed the way we configure firefox and it broke the codeql database
generation job.	This job wraps the entire build	process	in a way similar to
  codeql --command="./mach build"

Specifically, the previous way we executed the configure shell script made codeql
disable itself because it was named configure (codeql disables itself during
configuration.)

codeql injects via LD_PRELOAD, and it opens a configuration file and a logging file
(getting fd 3 and 4 respectively.)

autoconf grabs file descriptor 4 and uses it a temporary redirection point either
to a file or stdout. When it does so, it closes	the original file descriptor 4 and
points it at the new location, which also affects the codeql code, resulting in
undesired logging output going into the configure script.

Because this file descriptor trick is only used to avoid duplicating a few lines of
code, I removed the trick and duplicated the code.

Differential Revision: https://phabricator.services.mozilla.com/D98642
2020-12-08 22:04:09 +00:00
Markus Stange 14e860be47 Bug 1680557 - Suggest more concrete paths to .mozbuild on Windows. r=mhentges DONTBUILD
This matches the other paths further down in the same document.
I'm also adding some quotes because I was getting an "unknown target" error without them, but I'm not sure if the missing quotes were the reason or whether it just happened to succeed on the next try.

Depends on D98673

Differential Revision: https://phabricator.services.mozilla.com/D98674
2020-12-07 16:56:30 +00:00
Markus Stange 13075b5579 Bug 1680557 - Suggest `SCCACHE_START_SERVER=1` instead of `--start-server` because `--start-server` spawns and detaches a separate server process. r=mhentges DONTBUILD
See https://github.com/mozilla/sccache/issues/772#issuecomment-639058251 .

Differential Revision: https://phabricator.services.mozilla.com/D98673
2020-12-07 16:56:26 +00:00
David Major 30f8312443 Bug 1680826 - Update MSVC compat version in build-clang.py r=firefox-build-system-reviewers,mhentges
In https://reviews.llvm.org/D92515, clang-12 bumps the build requirement to MSVC version 19.14.

We've already updated well past that (most recently bug 1485224) but build-clang.py never got the memo.

Differential Revision: https://phabricator.services.mozilla.com/D98806
2020-12-04 20:43:30 +00:00
David Major 6cacd7d64b Bug 1632866 - Enable Control Flow Guard for Rust r=nalexander
This flag has been stabilized as of rust 1.47.0.

Differential Revision: https://phabricator.services.mozilla.com/D94128
2020-12-04 17:38:28 +00:00
Emilio Cobos Álvarez 04229a0075 Bug 1680080 - Optimize proc macros / build dependencies. r=glandium,firefox-build-system-reviewers,mhentges
On a very parallel debug build, I see a long time just waiting for
bindgen / style compilation / geckoservo.

Turns out that a bunch of this is just proc macros / build scripts.

Optimizing it saves between 10 and 17 seconds of my debug build. We
might want to consider running bindgen much like cbindgen rather than
rebuilding it all the time, which should help a lot more, but my guess
is that this should still help with the pretty hot custom derives that
the style crate runs.

This needs rust 1.41, so the requirement for tools/crashreporter needs
to be bumped as a consequence. To make things simpler, it was bumped
to 1.47 while we're at it.

Differential Revision: https://phabricator.services.mozilla.com/D98366
2020-12-04 01:35:51 +00:00
Bogdan Tara 5669c53aa8 Merge mozilla-central to autoland a=merge 2020-12-03 06:57:18 +02:00
Cosmin Sabou 642f3833de Backed out changeset abafe6c923eb (bug 1588710) for frequently causing tests to fail on Try (bug 1679994. a=backout 2020-12-03 01:16:03 +02:00
Mike Hommey 5bfd115c9a Bug 1680152 - Fixup: Bump deployment target to 10.12 when building clang.
Differential Revision: https://phabricator.services.mozilla.com/D98544
2020-12-02 22:43:11 +00:00
Mike Hommey 12679da6a0 Bug 1680152 - Bump macos SDK to 10.12. r=spohl,firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D98421
2020-12-02 21:50:28 +00:00
Mike Hommey f1d7e7f48c Bug 1680152 - Bump macos deployment target to 10.12. r=spohl
Differential Revision: https://phabricator.services.mozilla.com/D98404
2020-12-02 12:45:54 +00:00
David Major 87237b867f Bug 1680057 - New PM LTO: Don't take the elif block on Windows r=firefox-build-system-reviewers,mhentges
Windows being Windows, with its own spellings for everything, let's stay within the WINNT block regardless of whether we meet the compiler requirement.

Differential Revision: https://phabricator.services.mozilla.com/D98355
2020-12-02 17:02:01 +00:00
David Major df33d22907 Bug 1680126 - Remove unused if-constexpr patches to clang-tidy r=firefox-build-system-reviewers,mhentges DONTBUILD
These files were orphaned by bug 1625884.

Differential Revision: https://phabricator.services.mozilla.com/D98389
2020-12-02 07:53:57 +00:00
Mike Hommey 72cc842ad5 Bug 1671545 - Require at least rustc 1.47.0 to build. r=firefox-build-system-reviewers,dmajor
And remove the rust 1.43 toolchain, now it's not used anymore.

Differential Revision: https://phabricator.services.mozilla.com/D93733
2020-12-02 00:01:56 +00:00
Alexis Beingessner e2c5b3cbbe Bug 1680124 - Document Rust builds (and add some pointers/links for clang ones). r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D98386
2020-12-01 23:55:34 +00:00
Mitchell Hentges f785b29cf3 Bug 1680051: Ignore error when removing old psutil directory r=firefox-build-system-reviewers,dmajor
Don't fail to run all mach commands when old psutil directory
cannot be removed.

Glandium mentioned that there shouldn't be any negative effects from the
old directory lingering.

Differential Revision: https://phabricator.services.mozilla.com/D98352
2020-12-01 17:40:10 +00:00
Andrew Osmond 5edd4fabe8 Bug 1678917 - Make glxtest fail more gracefully. r=rmader
If we encounter a single error in glxtest, we typically bail immediately
with one liner message. This patch makes it put more effort into
returning what information it is able to, as well as the current error
messages. If certain errors are correlated to specific devices, it would
be useful if we had the information to make the connection.

Differential Revision: https://phabricator.services.mozilla.com/D97861
2020-12-01 11:52:14 +00:00
Sylvestre Ledru 0d6e8b2156 Bug 1588710 - Linux/Android: enable -fstack-clash-protection r=tjr,firefox-build-system-reviewers,glandium
This is a new feature in clang (already existing in gcc) provided from version 11.

Not usefull on Mac & Windows and is supported on intel cpu + ppc64 + s390x
https://releases.llvm.org/11.0.0/tools/clang/docs/ReleaseNotes.html#new-compiler-flags

Fedora/Redhat would like to have this option to move from gcc to clang in these
distros.

More on this:
https://blog.qualys.com/vulnerabilities-research/2017/06/19/the-stack-clash
https://pagure.io/fesco/issue/2020
https://reviews.llvm.org/D68720
https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Stack-Clash-Protection-20

It seems that the performance impact is neglible:
https://treeherder.mozilla.org/perfherder/compare?originalProject=try&originalRevision=a47c98b909b61035dae2e1e00883f2ade0fef129&newProject=try&newRevision=62108fa48bd15fe01f1a0f1ffab133af9b4207cc&framework=13

Differential Revision: https://phabricator.services.mozilla.com/D95999
2020-12-01 08:01:41 +00:00
David Major 80a968491f Bug 1679845 - Check linker instead of OS target for LTO new pass manager check r=glandium
Per request in D97372

Differential Revision: https://phabricator.services.mozilla.com/D98215
2020-12-01 04:33:19 +00:00
Sylvestre Ledru 042903ae82 Bug 1588710 - clang stack clash - Cherry-pick an upstream fix r=firefox-build-system-reviewers,mhentges,dmajor
See https://bugs.llvm.org/show_bug.cgi?id=48007#c6

-----
Fix limit behavior of dynamic alloca

When the allocation size is 0, we shouldn't probe. Within [1,  PAGE_SIZE], we
should probe once etc.

This fixes https://bugs.llvm.org/show_bug.cgi?id=47657

(cherry picked from commit 9573c9f2a363da71b2c07a3add4e52721e6028a0)

Also contains the patches:
aac36687f7
bbe6cbbed8

These 3 patches have been merged in the 11 branch
and should be part of the 11.0.1 release
-----

Differential Revision: https://phabricator.services.mozilla.com/D97566
2020-11-30 16:41:20 +00:00
Ricky Stewart d2ecfce0a4 Bug 1666347 - Delete assorted dead code after removal of vendored `psutil` r=firefox-build-system-reviewers,rstewart
Most of the deletions here come from bug 1481612, the `--with-windows-wheel` option to `mach vendor python`, which according to that commit message "is very single-purpose: it's intended to let us vendor an unpacked
wheel for psutil on Windows". Since vendoring `psutil` is something we're no longer doing, we can safely just delete that added code.

Differential Revision: https://phabricator.services.mozilla.com/D90919
2020-11-27 16:21:07 +00:00
Ricky Stewart 34344a8073 Bug 1661624 - Include `psutil` in the `mach` `virtualenv`s r=firefox-build-system-reviewers,rstewart
Install `psutil` when setting up the `mach` `virtualenv`s and stop importing the in-tree version in the build.

Nothing in-tree currently assumes or mandates the installation of `psutil` (all uses of `psutil` are guarded with imports of the form `try : import psutil; except ImportError: psutil = None`), so there's no back-incompatibility concerns here. There will be an awkward period where telemetry will be lacking CPU/disk data for everyone until they re-run `mach bootstrap` or `mach create-mach-environment`, but that will come back as people gradually update their `virtualenv`s.

An alternative to circumvent that issue is REQUIRING that `psutil` be installed by adding an assertion in `mach` that `psutil` can be found (allowing us to remove all the conditional logic in-tree around whether `psutil` is installed), but I wouldn't claim that we're ready to do that and deal with whatever fallout might occur.

Differential Revision: https://phabricator.services.mozilla.com/D90914
2020-11-27 21:05:00 +00:00
David Major 8f8ea43ab6 Bug 1677742 - Followups for new pass manager LTO r=glandium
Code review followups for 1675600: Restrict the use of new pass manager during LTO to builds where we're using the new pass manager in general, and (on Windows) where lld-link is new enough to understand the flag.

Differential Revision: https://phabricator.services.mozilla.com/D97372
2020-11-21 02:13:04 +00:00
Mike Hommey be6372ad52 Bug 1678154 - Only set --target=arm64-apple-darwin when building with Xcode clang. r=firefox-build-system-reviewers,dmajor
Upstream clang supports --target=aarch64-apple-darwin, and that matches
what config.sub canonicalizes to, and thus what the default toolchain
prefix ends up being, so it's better to use aarch64-apple-darwin when
not compiling with Xcode clang.

Differential Revision: https://phabricator.services.mozilla.com/D97698
2020-11-20 02:12:51 +00:00
Mike Hommey c90e00940b Bug 1678291 - Default to 11.0 as the macos target for aarch64. r=firefox-build-system-reviewers,mhentges
There is no earlier SDK that supports it. It seems Xcode clang doesn't
care (maybe it defaults to 11.0 is MACOSX_DEPLOYMENT_TARGET is too low?),
but upstream clang does.

Differential Revision: https://phabricator.services.mozilla.com/D97565
2020-11-19 19:21:02 +00:00
Mike Hommey 18704e0274 Bug 1678291 - Default to use private frameworks from the SDK. r=firefox-build-system-reviewers,mhentges
And don't set it via mozconfig. The default to /System/Library/PrivateFrameworks
may also not have matched the used SDK previously, so the new default is
better.

Differential Revision: https://phabricator.services.mozilla.com/D97564
2020-11-19 20:25:20 +00:00
Mike Hommey f68de9784d Bug 1678291 - Don't set BINDGEN_CFLAGS in mac mozconfig. r=firefox-build-system-reviewers,mhentges
This hasn't been necessary since bug 1526857.

Differential Revision: https://phabricator.services.mozilla.com/D97563
2020-11-19 15:40:55 +00:00