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

10078 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey a6909dc7da Bug 1719852 - Disable MOZ_REQUIRE_SIGNING on esr. r=jcristau,firefox-build-system-reviewers,mhentges
It was enabled in bug 1712633 by mistake.

Because there wasn't a way to distinguish esr yet, we add one, and while
at it, expose it to the build system.

Differential Revision: https://phabricator.services.mozilla.com/D119682
2021-07-13 08:43:52 +00:00
Mike Hommey 246f307378 Bug 1719426 - Build glibc_2.27-3ubuntu1.2 ourselves. r=taskgraph-reviewers,bhearsum
As written in 00c93ac66282, relying on the 2.27-3ubuntu1.2 package being
available is a timebomb. We can however get the older sources from
launchpad, and build them ourselves.

Differential Revision: https://phabricator.services.mozilla.com/D119258
2021-07-08 22:15:37 +00:00
lyavor cc7f254576 Bug 1706126 - HTTPS- First doesn't upgrade redirection from exempt target domain to subdomain (which supports https) r=ckerschb,necko-reviewers,dragana
Differential Revision: https://phabricator.services.mozilla.com/D118704
2021-07-07 14:19:09 +00:00
Mike Hommey 856ee10cba Bug 1719226 - Fix clang bustage r=bustage-fix. CLOSED TREE 2021-07-07 03:15:49 +03:00
Mike Hommey 93e5ce3fe2 Bug 1719228 - Remove unused docker images and Debian packages. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119138
2021-07-06 21:47:11 +00:00
Mike Hommey 6def90d273 Bug 1719228 - Build binutils with the toolchain sysroot. r=firefox-build-system-reviewers,andi
This allows to use the same toolchain docker images as other toolchains,
based on Debian buster.

While here, use the default max-run-time, which is more than enough for
this toolchain.

Differential Revision: https://phabricator.services.mozilla.com/D119137
2021-07-06 21:47:11 +00:00
Mike Hommey 5d89676954 Bug 1719228 - Build GCC with the toolchain sysroot. r=firefox-build-system-reviewers,andi
Because GCC is built in stages, the final stage is built with
intermediate stages's GCC, which handles the sysroot correctly, so we
end up with headers and libraries with the expected compatibility.
This allows to use the same toolchain docker images as other toolchains,
based on Debian buster.

Differential Revision: https://phabricator.services.mozilla.com/D119136
2021-07-06 21:47:10 +00:00
Mike Hommey 51effea05b Bug 1719226 - Remove old workarounds when building clang. r=firefox-build-system-reviewers,andi
- we needed -gcc-toolchain to pick C/C++ standard headers from the right
version of GCC, but we now have them in the toolchain sysroot (bug
1719207), so we can use that instead.
- we needed LD_LIBRARY_PATH when clang was built on an older version of
Debian, but that was changed in bug 1694775.

Differential Revision: https://phabricator.services.mozilla.com/D119135
2021-07-06 21:47:10 +00:00
Mike Hommey 3c173089ef Bug 1719226 - Properly print cmake error files. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119134
2021-07-06 21:47:10 +00:00
Mike Hommey 899af76508 Bug 1719225 - Don't build binutils as part of gcc. r=firefox-build-system-reviewers,andi
We have a separate binutils toolchain already, and the only remaining
use of the binutils part of the the GCC toolchain is for the gold plugin
headers for clang, which we can add to the toolchain sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D119133
2021-07-06 21:47:09 +00:00
Mike Hommey 544436ed03 Bug 1718156 - Avoid some configure tests creating the common virtualenv. r=firefox-build-system-reviewers,mhentges,andi
When running `mach python-test` on a clobbered tree, we create both the
python-test and common virtualenvs, but the former should be enough. The
latter is only created when running tests that use the BaseConfigureTest
class, when it indirectly includes init.configure, which makes the
configure sandbox run the virtualenv_python3 function, which ends up
initializing the common virtualenv. We only don't end up re-executing
that virtualenv python thanks to 6680ca0acc27 which was a workaround
that would allow any virtualenv in $objdir/_virtualenvs, while still
creating a virtualenv it won't use.

Tests now tell virtualenv_python3 to not use the normal virtualenv
manager, and remove the workaround.

Differential Revision: https://phabricator.services.mozilla.com/D118775
2021-07-05 22:33:56 +00:00
Chris Peterson 4b046732a8 Bug 1718936 - Backed out changeset f3cd92f7cd0d: Restore -Wno-range-loop-analysis. r=andi,firefox-build-system-reviewers
I removed the -Wno-range-loop-analysis warning flag in bug 1718408 because I didn't see any build failures on Try without it, but apparently I missed some.

Differential Revision: https://phabricator.services.mozilla.com/D119039
2021-07-05 06:43:44 +00:00
Chris Peterson 5897c59302 Bug 1718408 - Remove unnecessary -Wloop-analysis flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wloop-analysis because it just enables:

* -Wrange-loop-analysis, which we manually disable.
* -Wfor-loop-analysis, which is enabled by -Wmost, which is enabled by -Wall:

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

Depends on D118900

Differential Revision: https://phabricator.services.mozilla.com/D118901
2021-07-01 18:37:42 +00:00
Chris Peterson 5294042de2 Bug 1718408 - Remove unnecessary -Woverloaded-virtual flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Woverloaded virtual because:

* On gcc, we disable it.
* On clang, it is enabled by -Wmost, which is enabled -Wall:

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

Depends on D118899

Differential Revision: https://phabricator.services.mozilla.com/D118900
2021-07-01 18:37:41 +00:00
Chris Peterson a2f4831bdc Bug 1718408 - Remove unnecessary -Wtautological-*-compare flags. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wtautological-overlap-compare because it is enabled by -Wtautological-compare, which is enabled by -Wmost, which is enabled by -Wall:

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

We don't need to manually enable -Wtautological-unsigned-enum-zero-compare or -Wtautological-unsigned-zero-compare because they are enabled by -Wtype-limits, which we already enable manually:

https://clang.llvm.org/docs/DiagnosticsReference.html#wtype-limits

Depends on D118898

Differential Revision: https://phabricator.services.mozilla.com/D118899
2021-07-01 18:37:41 +00:00
Chris Peterson 79616311ea Bug 1718408 - Remove unnecessary -Wunused-function and -Wunused-variable flags. r=firefox-build-system-reviewers,andi
We don't need to manually enabled -Wunused-function or -Wunused-variable because they are enabled by -Wunused, which is enabled by -Wmost, which is enabled by -Wall.

https://clang.llvm.org/docs/DiagnosticsReference.html#wall

Depends on D118897

Differential Revision: https://phabricator.services.mozilla.com/D118898
2021-07-01 18:37:41 +00:00
Chris Peterson 6bce3b14d4 Bug 1718408 - Remove unnecessary -Wwrite-strings flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wwrite-strings because it is enabled by default in C++11 and we currently compile Firefox as C++17.

https://clang.llvm.org/docs/DiagnosticsReference.html#wwritable-strings

Depends on D118896

Differential Revision: https://phabricator.services.mozilla.com/D118897
2021-07-01 18:37:40 +00:00
Chris Peterson 94283e10db Bug 1718408 - Enable some clang warning flags that are currently warning-free. r=firefox-build-system-reviewers,andi
-Wdeprecated-this-capture (in a lambda expression)
warning: implicit capture of ‘this’ with a capture default of ‘=’ is deprecated
https://clang.llvm.org/docs/DiagnosticsReference.html#wdeprecated-this-capture

-Wenum-compare-conditional
Example: return foo ? enumType1 : enumType2; // deprecated in C++20
https://clang.llvm.org/docs/DiagnosticsReference.html#wenum-compare-conditional

-Wformat-type-confusion (in a sprintf-like format function)
warning: format specifies type A (e.g. short) but the argument has type B (e.g. char)
https://clang.llvm.org/docs/DiagnosticsReference.html#wformat-type-confusion

-Wshadow-uncaptured-local (variable declared in a lambda expression)
warning: declaration shadows a local variable
warning: declaration shadows a variable in C
warning: declaration shadows a static data member of C
warning: declaration shadows a field of C
warning: declaration shadows a typedef in C
warning: declaration shadows a type alias in C
warning: declaration shadows a structured binding
https://clang.llvm.org/docs/DiagnosticsReference.html#wshadow-uncaptured-local

Differential Revision: https://phabricator.services.mozilla.com/D118896
2021-07-01 18:37:40 +00:00
Mike Hommey 14497c68f9 Bug 1711856 - Don't set LD_LIBRARY_PATH for builds on automation. r=firefox-build-system-reviewers,mhentges
This shouldn't be necessary as of bug 1694785.

Differential Revision: https://phabricator.services.mozilla.com/D115467
2021-06-25 13:28:28 +00:00
Mike Hommey 6971be15e1 Bug 1695118 - Upgrade valgrind task to Debian buster. r=firefox-build-system-reviewers,mhentges
This requires a backport of valgrind to buster instead of jessie (which
we don't need a backport for anymore). Somehow the buster-based
android-build was using the backport for jessie. It now can use the
backport for buster.

We now also need a few extra packages in the valgrind docker image that
used to be installed as a side effect of installing other packages, but
aren't installed automatically anymore, while necessary.

This allows to remove the debian8-amd64-build docker image, now unused.

We add a patch to workaround an issue with rust that was fixed in older
version of valgrind but that resurfaced in a slightly different manner.
Filed upstream as https://bugs.kde.org/show_bug.cgi?id=433641.

Finally, we update the suppressions to account for system changes.

Differential Revision: https://phabricator.services.mozilla.com/D106402
2021-06-25 13:28:28 +00:00
Alexandru Michis 06bbd55be6 Backed out changeset 7a183e3b230e (bug 1711856) for being a dependency to Bug 1695118, Bug 1718131.
CLOSED TREE
2021-06-25 14:28:14 +03:00
Alexandru Michis 7498132439 Backed out 2 changesets (bug 1695118, bug 1718131) for causing leaks.
CLOSED TREE

Backed out changeset 69aa398773b4 (bug 1695118)
Backed out changeset 19805fbf94a3 (bug 1718131)
2021-06-25 13:43:04 +03:00
Mike Hommey 1d870711cb Bug 1711856 - Don't set LD_LIBRARY_PATH for builds on automation. r=firefox-build-system-reviewers,mhentges
This shouldn't be necessary as of bug 1694785.

Differential Revision: https://phabricator.services.mozilla.com/D115467
2021-06-25 09:33:05 +00:00
Mike Hommey edc5e8b9b9 Bug 1695118 - Upgrade valgrind task to Debian buster. r=firefox-build-system-reviewers,mhentges
This requires a backport of valgrind to buster instead of jessie (which
we don't need a backport for anymore). Somehow the buster-based
android-build was using the backport for jessie. It now can use the
backport for buster.

We now also need a few extra packages in the valgrind docker image that
used to be installed as a side effect of installing other packages, but
aren't installed automatically anymore, while necessary.

This allows to remove the debian8-amd64-build docker image, now unused.

We add a patch to workaround an issue with rust that was fixed in older
version of valgrind but that resurfaced in a slightly different manner.
Filed upstream as https://bugs.kde.org/show_bug.cgi?id=433641.

Finally, we update the suppressions to account for system changes.

Differential Revision: https://phabricator.services.mozilla.com/D106402
2021-06-25 09:29:33 +00:00
Mike Hommey cc44edc33f Bug 1711234 - Add a suppression for "Conditional jump or move depends on uninitialised value(s) at DoFramePointerStackWalk". r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D118777
2021-06-25 00:07:03 +00:00
Benjamin Beurdouche efe58e9863 Bug 1715772 - land NSS 0262a919f909 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D118702
2021-06-24 10:56:58 +00:00
Mike Hommey 841e1d8a06 Bug 1717585 - Switch --enable-bootstrap on by default on central. r=firefox-build-system-reviewers,mhentges
As there are some things to solve first for the sysroot, we don't enable
the sysroot bootstrap unless --enable-bootstrap is given explicitly. The
default will still bootstrap everything else when building on central.

Differential Revision: https://phabricator.services.mozilla.com/D118450
2021-06-22 23:36:28 +00:00
Mike Hommey 744db845c6 Bug 1700534 - Coalesce RLBox wasmboxed libraries. r=firefox-build-system-reviewers,shravanrn,bholley,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D116440
2021-06-22 05:31:33 +00:00
Kai Engert bdd0d2acfb Bug 1715584 - Require NSPR version 4.32 at configuration time. r=bbeurdouche
Differential Revision: https://phabricator.services.mozilla.com/D118369
2021-06-21 17:21:09 +00:00
Mitchell Hentges 35b16fdf28 Bug 1712133: Inline `testing/mozbase/packages.txt` contents r=ahal
The `mozbase` modules were being unconditionally added to the
`sys.path` regardless of the Mach command being run, so there isn't
much value keeping them in a separate file. Besides, all other
source module paths are described in `common_virtualenv_packages`,
why is `mozbase` special?

In the future, we're going to want to make improvements here (such as:
there's a difference between informing mach of first-party code
versus defining which third_party vendored packages should be in scope,
and that workflow difference should be represented in-code).
It's useful to peel out the existing, less useful abstraction before
we can build a stronger one.

Differential Revision: https://phabricator.services.mozilla.com/D117711
2021-06-17 14:58:17 +00:00
Mitchell Hentges 24f634d924 Bug 1712133: Remove "pth" name customization r=ahal
Having separate `<name>.pth` files in the virtual environments
isn't providing an advantage. We can simplify configuration
by putting all `pth` adjustments into a single file: `mach.pth`.

Differential Revision: https://phabricator.services.mozilla.com/D117710
2021-06-17 14:58:16 +00:00
Mitchell Hentges 31474e8925 Bug 1712133: Make virtualenv package parsing more specific r=ahal
This has two benefits:
1. `handle_package()` becomes more clear - rather than referring to
   `action` and `package` with array index numbers, we now give
   them real names. The benefit here is also shown in `up_to_date()`.
2. This makes the top-level parser for `packages()` less opinionated
   about sub-formats: if an action has a nested structure, it should
   have the flexibility to define what it looks like.

Differential Revision: https://phabricator.services.mozilla.com/D117708
2021-06-17 14:58:16 +00:00
Mitchell Hentges 722ac646db Bug 1713857: Don't set PYTHONEXECUTABLE environment variable r=glandium
After some testing in `try` and locally, the manual
`PYTHONEXECUTABLE` definitions shouldn't be needed
anymore.

There's been some work on Brew's
Python to improve its `sitecustomize` behaviour.
The most likely improvement is:
https://github.com/Homebrew/homebrew-core/pull/65297

However, I'm not fully confident in this change.
If it fails, it's more likely to affect developers
than CI. I think it's worth attempting a landing,
because if the variable is indeed obsolete, then
deleting it will avoid some spicy "action-at-a-
distance" behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D117452
2021-06-17 13:28:29 +00:00
Mike Hommey 293cc72753 Bug 1716972 - Remove leftover from bug 1695773. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D118153
2021-06-17 09:50:55 +00:00
Mitchell Hentges 6d154c1ed3 Bug 1713377: Change vendoring to use wheels where possible r=ahal,glandium
Vendoring wheels has three benefits:
* There's far less files, so Firefox checkouts will be smaller.
* It works around `zipp` not allowing `pip install`
  from extracted source `tar.gz` files. Now, we should
  be able to use the pip resolver against vendored
  packages, which will be needed for future
  mach virtualenv work.
* `./mach vendor python` takes far less time to execute.

Since we need the raw Python to be available to add to the `sys.path`,
we extract the wheels before putting them in tree.
Due to the structure of some wheels being less nested
than of a source `tar.gz`, `common_virtualenv_packages`
needed to be adjusted accordingly.

`install_pip_package()` had to be tweaked as well since you can't
`pip install` an extracted wheel. So, we "re-bundle" the wheel
before installing from a vendored package.

Replace python packages with wheels where possible

This contains the vendoring changes caused by the
last patch.

For reviewing, there's a couple things to note:
* A bunch of files are deleted, since there's generally
  less files in a wheel than in a source archive.
* There's a new `.dist-info` directory for each
  extracted wheel, so expect roughly 5 or
  6 new files for each wheel'd package.
* There should be no source code changes other than
  moves from package names changing from having
  `-` to having `_`.

Differential Revision: https://phabricator.services.mozilla.com/D116512
2021-06-16 15:53:16 +00:00
Mitchell Hentges 9f7c330b60 Bug 1712133: Remove "windows" action support from virtualenvs r=ahal
Last year, we stopped vendoring Python packages that have native
code. Since we have only had pure-python packages since, the
Windows-specific qualifier (or excluder in the case of `!windows`)
hasn't been needed.

I don't foresee us needing it again, but if anything we can peel it
back from `hg` history if this assumption is incorrect.

Differential Revision: https://phabricator.services.mozilla.com/D117468
2021-06-15 14:46:55 +00:00
Mitchell Hentges 318ecaf9b2 Bug 1712133: Synchronize virtualenv requirement parsing logic r=ahal
The `mach_bootstrap:search_path()` implementation is out of
date compared to `virtualenv.py`.

Since `python2:`, `python3:` and `optional:` packages are no
longer valid virtualenv requirement actions, they can be removed.

Differential Revision: https://phabricator.services.mozilla.com/D117707
2021-06-15 14:46:55 +00:00
Alexis Beingessner d647cb3bfa Bug 1693832 - Use a patched version of rustc/cargo for tsan/asan builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D105812
2021-06-15 05:30:05 +00:00
Mitchell Hentges e389cc4cc4 Bug 1714684: Remove usages of vendored "mock" library r=perftest-reviewers,ahal,sparky
Python 3 has access to `unittest.mock` in the standard library.

Differential Revision: https://phabricator.services.mozilla.com/D117073
2021-06-14 15:34:46 +00:00
surajeet310 6ea83c8ef9 Bug 1714788 - Fixed more Sphinx warnings in 'mach doc' r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D117419
2021-06-10 19:33:53 +00:00
Nick Alexander bef7042147 Bug 1524662 - Add --enable-path-remapping producing compiled objects with generic paths. r=glandium
For "c" (i.e., gcc, clang, and clang-cl), this configures the
`-f{debug,macro}-path-prefix` flags.  We'd prefer to use
`-ffile-path-prefix`, but it seems that `clang-cl` does not recognize
that flag.

For "rust" (i.e., rustc/cargo), this configures `--remap-path-prefix`.

This is one step toward getting `sccache` hits across source and
object directories.

Differential Revision: https://phabricator.services.mozilla.com/D113065
2021-06-10 17:08:06 +00:00
Julien Cristau 8376ac4322 Bug 1713766 - land NSS NSS_3_67_RTM UPGRADE_NSS_RELEASE, r=bbeurdouche,aryx
Differential Revision: https://phabricator.services.mozilla.com/D117422
2021-06-10 13:25:03 +00:00
Mitchell Hentges b9531f2856 Bug 1714641: Remove usages of vendored "pathlib2" library r=ahal
Based on the docs and the code within `pathlib2`, it seems to focus
only on backporting the main features of `pathlib` to be available for
Python 2. It does _not_ provide features in newer Python versions
of `pathlib` (such as `is_mount`, new in Python 3.7). Therefore, it
doesn't provide anything that the standard library of Python 3.6+
doesn't have.

Differential Revision: https://phabricator.services.mozilla.com/D117071
2021-06-09 15:48:55 +00:00
Mitchell Hentges e568fa2e0d Bug 1714641: Remove usages of vendored "backports" code r=ahal,perftest-reviewers
It provides `shutil.which(...)`, which has been part of `shutil` since
Python 3.3.

Differential Revision: https://phabricator.services.mozilla.com/D117063
2021-06-09 15:48:52 +00:00
Mitchell Hentges fa246ce29e Bug 1714641: Replace `pythonX` items in virtualenv_packages r=ahal
Now that Mach requires Python 3, `python3:` items will always be
used and `python2:` items will never be needed.

Differential Revision: https://phabricator.services.mozilla.com/D117059
2021-06-09 15:48:50 +00:00
Deian Stefan 6468f48fe5 Bug 1653659 - Part 4: Turn on Wasm sandboxing for hunspell r=tjr
Differential Revision: https://phabricator.services.mozilla.com/D116548
2021-06-09 15:01:03 +00:00
Andrew Osmond bde525c1b1 Bug 1715523 - Suppress likely false positive valgrind leak for RacyRegisteredThread. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D117296
2021-06-09 14:59:04 +00:00
Andrew Osmond a58e7ef933 Bug 1715132 - Ignore the blocklist for Software WebRender on desktop. r=jrmuizel
We still need the blocklist to control rollout on Android, but on
desktop, we should be shipping Software WebRender to all users, except
those in safe mode or whom have explicitly disabled WebRender.

Differential Revision: https://phabricator.services.mozilla.com/D117088
2021-06-08 16:07:57 +00:00
Mitchell Hentges f548bc89cc Bug 1713818: Require Python 3.6+ to run Mach r=ahal
This will both:
* Ensure that developers aren't accidentally using Mach with Python 2
  in the year 2021.
* Confirm that CI tasks aren't still using Python 2 with Mach.
* Remove support for Python 3.5, which is EOL'd.

Differential Revision: https://phabricator.services.mozilla.com/D116484
2021-06-07 19:46:17 +00:00
Alexandre Lissy 30ae660e03 Bug 1714547 - Add cross-compile to linux build doc r=sylvestre,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D116829
2021-06-04 21:35:25 +00:00
Dorel Luca be3cb0088b Backed out 3 changesets (bug 1713818, bug 1714116, bug 1714118) for XPCshell in toolkit/modules/subprocess/test/xpcshell/test_subprocess.js. CLOSED TREE
Backed out changeset be4847abe491 (bug 1713818)
Backed out changeset 3e7ff2f21cbf (bug 1714118)
Backed out changeset da6994a236c9 (bug 1714116)
2021-06-03 22:07:56 +03:00
Mitchell Hentges 75f1a25537 Bug 1713818: Require Python 3.6+ to run Mach r=ahal
This will both:
* Ensure that developers aren't accidentally using Mach with Python 2
  in the year 2021.
* Confirm that CI tasks aren't still using Python 2 with Mach.
* Remove support for Python 3.5, which is EOL'd.

Differential Revision: https://phabricator.services.mozilla.com/D116484
2021-06-03 15:54:28 +00:00
Andi-Bogdan Postelnicu 2f7a751cd0 Bug 1707096 - fix the build for `clang-trunk`. r=jfkthame
With D100581 LLVM added support for -Wunused-but-set-parameter and -Wunused-but-set-variable.
1. we shouldn't treat these warning as errors
2. for harfbuzz we apply a patch that has also been upstreamed, #2995, since pragma directives are somehow borken in clang vs gcc.

Differential Revision: https://phabricator.services.mozilla.com/D116604
2021-06-02 14:38:01 +00:00
Nicolas Silva 6c020067b9 Bug 1711648 - Supress valgrind error more robustly. r=jrmuizel
There is a valgrind suppression on a generic signature containing the hash of rust types. The hash changes when crate dependencies are updated.

Differential Revision: https://phabricator.services.mozilla.com/D116588
2021-06-02 12:47:02 +00:00
Dmitry Bezhetskov 6fdb9a9637 Bug 1713081 - Fix to use the default clang from upstream for SM WASI. r=glandium
To compile SM to .wasm we need to use clang from wasi-sdk, this patch
allows us to use default clang-12 from mozilla's repo.
We remove usage of rpath-link flag because wasm-ld doesn't support it,
enable single thread model because wasi is single threaded
and finally add <unistd.h> becase it is forbidden to use read/write/lseek
without this header.

Differential Revision: https://phabricator.services.mozilla.com/D116207
2021-06-02 06:00:10 +00:00
Butkovits Atila 1b7d8eac8e Backed out changeset a9562036bedd (bug 1713818) for causing wrench bustages. 2021-06-02 02:19:35 +03:00
Mitchell Hentges 271c19459a Bug 1713818: Require Python 3.6+ to run Mach r=ahal
This will both:
* Ensure that developers aren't accidentally using Mach with Python 2
  in the year 2021.
* Confirm that CI tasks aren't still using Python 2 with Mach.
* Remove support for Python 3.5, which is EOL'd.

Differential Revision: https://phabricator.services.mozilla.com/D116484
2021-06-01 20:03:38 +00:00
Mitchell Hentges 0d1d6ed813 Bug 1712804: Change comm action to be specific to Thunderbird r=rjl,ahal
Avoid the "Error processing command" warning when building virtualenvs
in a Firefox checkout

Differential Revision: https://phabricator.services.mozilla.com/D115922
2021-05-27 15:18:37 +00:00
Mitchell Hentges 9522e92323 Bug 1712382: Remove "set-variable" action support from virtualenvs r=ahal
`MACH_VIRTUALENV` was never used, and `MOZBUILD_VIRTUALENV` was never
set (the virtualenv was always activated during the build, rather
than before).

Differential Revision: https://phabricator.services.mozilla.com/D115921
2021-05-27 15:18:36 +00:00
Mitchell Hentges 5eb07cd570 Bug 1712133: Remove build VIRTUALENV_NAME customization r=glandium
This was originally set up so that tests wouldn't "create a new
`virtualenv` for no reason." However, virtual environments now will have
different packages installed, and therefore the separation is necessary.

So, for the virtual environment used for builds (regular or for tests):
* We want it to be able to reuse the build venv, if it already exists.
* We don't want to pollute a `pytest` virtualenv with build-specific
  packages.

Differential Revision: https://phabricator.services.mozilla.com/D115641
2021-05-27 15:18:35 +00:00
Mitchell Hentges 846e25c93b Bug 1712133: Rename default virtualenv to "common" r=ahal
We had split up `init` from `init_py3` because `mach` had
traditionally been invoked by either Python 2 or Python 3, and
the two couldn't share the same virtualenv.

Now that the same context isn't shared by both Python 2 and 3
3
(developers always use Python 3, and the remaining Python 2
usages are CI jobs that never reuse the objdir with Python 3),
We can centralize on a single default virtualenv.

I've called this "common" instead of "init" to clarify its
existing position as the virtualenv that's used by many different
commands. As we associate virtualenvs with requirement definitions,
it'll also make the file less confusing: it's a "common" requirement
definition as opposed to an "init" one.

Differential Revision: https://phabricator.services.mozilla.com/D115635
2021-05-27 15:18:35 +00:00
Steve Fink 5489063fa6 Bug 1705783 - add configure option --js-package and stop clearing MOZ_AUTOMATION for SM(pkg) r=glandium,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D112627
2021-05-26 16:54:04 +00:00
Andi-Bogdan Postelnicu a5cd8949a1 Bug 1707096 - fix `deprecated-copy` detected by clang-trunk. r=sfink,jandem
Differential Revision: https://phabricator.services.mozilla.com/D114087
2021-05-26 10:20:32 +00:00
Makoto Kato 950eda2e59 Bug 1712245 - Use x86_64 NDK on Apple Slicon if native NDK is missing. r=firefox-build-system-reviewers,glandium
Actually, Google doesn't release native version of NDK for macOS/aarch64.
So if missing, we use x86_64 NDK instead.

Differential Revision: https://phabricator.services.mozilla.com/D115675
2021-05-26 01:37:37 +00:00
Mike Hommey 28e098745c Bug 1712633 - Set MOZ_REQUIRE_SIGNING appropriately by default. r=firefox-build-system-reviewers,mhentges
At the same time, move the option to python configure, which changes how
to disable it (setting to an empty value rather than 0).

Differential Revision: https://phabricator.services.mozilla.com/D115844
2021-05-25 20:00:05 +00:00
Mike Hommey afe9e52b55 Bug 1712043 - Upgrade GCC versions to latest dot-release. r=firefox-build-system-reviewers,andi,mhentges
The added PGP key was extracted from
http://ftp.gnu.org/gnu/gnu-keyring.gpg and stripped with
https://github.com/glandium/pgpstrip. The non-stripped key has been
validated as signed by the 33C235A34C46AA3FFB293709A328C3A2C3C45C06 key,
which we vetted in 4854cd37594f.

Differential Revision: https://phabricator.services.mozilla.com/D115579
2021-05-20 23:36:09 +00:00
Mike Hommey c8b5ca1f93 Bug 1712023 - Avoid up to @GLIBCXX_3.4.29 symbols for stdc++ compat. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D115562
2021-05-20 22:32:10 +00:00
Narcis Beleuzu b8beaa5749 Backed out changeset b54ae88a34b4 (bug 1711856) for valgrind bustage on libstdc . CLOSED TREE 2021-05-20 03:50:37 +03:00
Mike Hommey b78d5d298b Bug 1711856 - Don't set LD_LIBRARY_PATH for builds on automation. r=firefox-build-system-reviewers,mhentges
This shouldn't be necessary as of bug 1694785.

Differential Revision: https://phabricator.services.mozilla.com/D115467
2021-05-19 22:32:58 +00:00
Mike Hommey f16b7b648f Bug 1711816 - Fix stdc++compat.cpp compilation errors with recent GCC. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D115436
2021-05-19 04:46:01 +00:00
Benjamin Beurdouche bde2949605 Bug 1711262 - land NSS 8c299ec6b2bc UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D115395
2021-05-18 18:23:25 +00:00
byron jones 1a494b6f2b Bug 1704426 - Document supported build hosts. r=glob
Define "build host" support tiers, and their relationship
to existing "target" tiers.

Differential Revision: https://phabricator.services.mozilla.com/D111578
2021-05-18 14:57:50 +00:00
Butkovits Atila 6b729f46ac Backed out 2 changesets (bug 1653659) for causing failures at test_hunspell.js. CLOSED TREE
Backed out changeset 018859776d85 (bug 1653659)
Backed out changeset b187a1b158df (bug 1653659)
2021-05-18 04:05:15 +03:00
Deian Stefan 7fe5a63523 Bug 1653659 - Part 4: Turn on Wasm sandboxing for hunspell r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94931
2021-05-17 18:19:28 +00:00
Alex Lopez 455d9a088b Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-05-17 16:15:58 +00:00
Dorel Luca 6bb805571d Backed out 2 changesets (bug 1653659) for Mochitest failures in mochitest/events/test_focus_general.html. CLOSED TREE
Backed out changeset 523e4bc2aa47 (bug 1653659)
Backed out changeset fac526423ccb (bug 1653659)
2021-05-14 21:45:58 +03:00
Deian Stefan 015259c792 Bug 1653659 - Part 4: Turn on Wasm sandboxing for hunspell r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94931
2021-05-14 13:30:49 +00:00
Andrew McCreight 9c9c36a9fa Bug 1710473 - Remove hal::SetProcessPrioritySupported(). r=gsvelto,geckoview-reviewers,aklotz
As far as I can see, all this does is protect the user from
running some useless code if they manually enable the priority
manager using a pref on an OS that doesn't support it. The
upside of allowing this is that it makes it possible to debug
the priority manager on OSX and Linux with just a pref flip.

Differential Revision: https://phabricator.services.mozilla.com/D114767
2021-05-10 19:59:24 +00:00
Chris H-C f666fb3dc9 Bug 1705403 - Replace FOG's Glean autodocs with link to Glean Dictionary r=janerik DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D114631
2021-05-10 13:33:09 +00:00
Cosmin Sabou 206c26c1df Bug 1708379 - Remove unnecessary line. r=glandium 2021-05-07 04:08:30 +03:00
Cosmin Sabou 515e738806 Bug 1708379 - Add suppression for valgrind failures. r=glandium
CLOSED TREE
2021-05-07 03:28:21 +03:00
Andi-Bogdan Postelnicu e76dc3b4af Bug 1709753 - remove workaround for llvm issue D100625. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D114449
2021-05-06 05:20:18 +00:00
Mike Hommey 8189f56cd9 Bug 1599574 - Avoid re-running clang-plugin tests. r=firefox-build-system-reviewers,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D114320
2021-05-05 21:21:11 +00:00
Andi-Bogdan Postelnicu d6010d98f2 Bug 1702172 - collect if shell is opened via vscode and if it's a remote connection through ssh. r=firefox-build-system-reviewers,mhentges
Added two fields:

1. Collect if the current shell is opened via vscode.
2. Connect if it's a remote ssh connection n the current shell.

Differential Revision: https://phabricator.services.mozilla.com/D114323
2021-05-05 14:56:32 +00:00
Adam Gashlin bf41732e48 Bug 1705373 - Part 1: Only set WDBA and Update Agent configs on Firefox (browser app). r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D114306
2021-05-05 04:26:43 +00:00
Mike Hommey 506594be8f Bug 1709253 - Fix building rust programs. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D114212
2021-05-04 20:45:43 +00:00
Mitchell Hentges df45b126d1 Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `requests@2.11.0`: No longer accepts non-strings as header values.
* `requests@2.16.0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `requests@2.24.0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

This also added dependencies to `flake8_requirements`. This is because
the vendored `importlib-metadata` update (and the new
`typing-extensions` dependency) is found by `pip`, but the
vendored `typing-extensions` is _not_ discovered (perhaps due to
details around "eggs" and the way we add vendored code to the sys.path).
So, `pip` tries to install it manually and fails when it finds no hash.
By re-compiling `flake8_requirements`, the necessary hashes are made
available.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-05-04 20:43:26 +00:00
Mike Hommey 5aab00eccc Bug 1708547 - Port the mach bootstrap import hook to python 3. r=mhentges,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D113857
2021-05-04 20:39:58 +00:00
Mitchell Hentges 0ff1bef46b Bug 1707953: Remove macOS SDK maximum version check r=firefox-build-system-reviewers,glandium
The maximum version check has caused more unnecessary failed
builds (for freshly up-to-date devs) than helpful guards against
tough-to-diagnose issues.

Differential Revision: https://phabricator.services.mozilla.com/D113675
2021-05-04 15:07:09 +00:00
Benjamin Beurdouche 37aa935e43 Bug 1705477 - land NSS c982fb957516 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D114231
2021-05-04 13:33:25 +00:00
Kagami Sascha Rosylight 1b59a49ab1 Bug 1707681 - Ignore third party paths in explicit-operator-bool check r=andi
Differential Revision: https://phabricator.services.mozilla.com/D113695
2021-05-04 06:20:25 +00:00
Alexandru Michis 5744de4a3b Backed out changeset cd81489560e4 (bug 1708547) for causing python failures. 2021-05-01 14:50:20 +03:00
Mike Hommey 322d04fd7f Bug 1708547 - Port the mach bootstrap import hook to python 3. r=mhentges,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D113857
2021-04-30 23:07:33 +00:00
Mike Hommey 6aa8681545 Bug 1705324 - Enable CARGO_INCREMENTAL on local builds. r=firefox-build-system-reviewers,mhentges
irrespective of the optimization level. The code was previously using
the optimization level as a proxy for whether --enable-release is
enabled or not, which was invalidated by bug 1689284.

Differential Revision: https://phabricator.services.mozilla.com/D113730
2021-04-30 21:33:27 +00:00
Emilio Cobos Álvarez 9fdc1d0978 Bug 1707957 - Add a valgrind suppression for a GTK leak. r=stransky
It's a relatively minor one (two keyframes are leaked). I built latest
GTK3 from source and it wasn't reproducible locally. I think our GTK
version on automation might be too old and not have this commit:

  10fa786dfa

Or something of that sort.

Differential Revision: https://phabricator.services.mozilla.com/D113948
2021-04-30 12:36:51 +00:00
Mike Hommey de4630db98 Bug 1708382 - Allow proc-macro-back-compat warning when building with rustc >= 1.52. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D113761
2021-04-29 21:08:27 +00:00
Mike Hommey c0e3e585ac Bug 1708382 - Inline rust_warning_flags into rust_flags. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D113760
2021-04-29 21:08:26 +00:00
Mitchell Hentges a7cd22e13e Bug 1705376: Synchronize workspace-hack features and usage r=firefox-build-system-reviewers,glandium
Not all in-tree Rust libraries were using workspace-hack.
Additionally, some needed winapi features were missing from
workspace-hack's configuration.

Now, winapi is re-compiled less frequently on a full build.

Differential Revision: https://phabricator.services.mozilla.com/D113564
2021-04-29 15:19:27 +00:00
Alexandru Michis b9d4ef3680 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2021-04-29 01:07:01 +03:00
Calixte Denizet f40b4cac3c Bug 1705641 - Don't flush ccov counters when process is dying when env var MOZ_FUZZING_CCOV is defined r=andi
Sometimes there is a deadlock between user-requested ccov counters flush (through a signal) and flush happening when a process is dying.
So in order to avoid it, just remove the latter which is out of our control (user-requested flushes are protected using a cross mutex).

Differential Revision: https://phabricator.services.mozilla.com/D112632
2021-04-28 18:30:35 +00:00
Alexandru Michis d14f411602 Backed out changeset 8153e98fe308 (bug 1707799) because D100581 has been reverted from the llvm repo. a=backout 2021-04-28 23:12:47 +03:00
Andi-Bogdan Postelnicu 14df452e4b Bug 1697614 - Update mingw builds to clang-12. r=firefox-build-system-reviewers,mhentges
Credit goes to dmajor since he's the one who started this.

Differential Revision: https://phabricator.services.mozilla.com/D113331
2021-04-28 09:56:14 +00:00
Andi-Bogdan Postelnicu a63d3f564b Bug 1697215 - Disable value profiling in Rust PGO until we move to to rust 1.52. r=firefox-build-system-reviewers,glandium
Credit goes to dmajor.
Rust gets LLVM 12 - https://github.com/rust-lang/rust/pull/81451.
The PGO format changed between 11 and 12, and builds will have poor optimization if we mix versions in xLTO.
The above PR has landed on Rust nightly 1.52.
Until we move to 1.52 nightly we should have this landed.

In the meantime, for unblocking try builds, we can disable value-PGO in Rust.

Differential Revision: https://phabricator.services.mozilla.com/D113327
2021-04-28 09:56:12 +00:00
Andi-Bogdan Postelnicu b3f968cb03 Bug 1707799 - revert patch D100581 from LLVM that added `-Wunused-but-set-parameter and -Wunused-but-set-variable`. r=firefox-build-system-reviewers,mhentges
Until we fix the issues from m-c and they get propagated to m-r we should disable this.

Differential Revision: https://phabricator.services.mozilla.com/D113533
2021-04-27 18:05:51 +00:00
Christian Holler 7ae80c5d9a Bug 1644147 - Fix a deadlock in TSan. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D113364
2021-04-26 15:10:13 +00:00
Andi-Bogdan Postelnicu e163ebe0d1 Bug 1707096 - revert LLVM D79714 that causes build bustage on m-c and m-r. r=marco
We should probably enable this later on when we do the aproapriate fixes in m-c and they
 are also tagged in m-r but for now we should have this changed backed out of llvm locally.

Differential Revision: https://phabricator.services.mozilla.com/D113215
2021-04-23 14:02:46 +00:00
Butkovits Atila 2e34e363b9 Backed out 2 changesets (bug 1696251) for causing js-bench-sm failures. CLOSED TREE
Backed out changeset 1c84c9a34575 (bug 1696251)
Backed out changeset e169193b7423 (bug 1696251)
2021-04-23 02:53:36 +03:00
Alex Lopez d1a82b8092 Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-04-22 18:56:15 +00:00
Nika Layzell e983da120a Bug 1706375 - Support building ipc/glue in non-unified mode, r=ipc-reviewers,mccr8
This both helps IDE integration and will help avoid build issues which would've
otherwise cropped up when adding new files to the directory for bug 1706374.

Differential Revision: https://phabricator.services.mozilla.com/D112764
2021-04-22 14:32:03 +00:00
imoraru 63d199a7e6 Backed out changeset b413fce77522 (bug 1698616) for breaking mach commands (bug 1706456). a=backout 2021-04-21 14:16:08 +03:00
Mitchell Hentges cb92d64d4d Bug 1507272: Enable build telemetry for Mozilla devs by default r=firefox-build-system-reviewers,glandium
Check if a user is a Mozilla employee by checking their
Bugzilla groups, or checking if their VCS email ends
with "@mozilla.com".

When a user is setting up a new build environment, telemetry
will be automatically enabled for them if they are an
employee. If they're not an employee, they'll be asked
if they want to opt in.

Differential Revision: https://phabricator.services.mozilla.com/D106315
2021-04-20 13:58:51 +00:00
Mitchell Hentges 73f81b1c85 Bug 1698616: Bump python dependencies r=firefox-build-system-reviewers,glandium
Did you know that our version of requests was from 2015? Phwoar!
This bumps `jinja2`, `py`, `pyyaml`, `requests` and `urllib3`.
There's significant risk for regressions due to breaking changes,
though due to the dynamic nature of Python, they're tricky to track
down.

The potential breaking changes I'm expecting to potentially affect
us are:

* `requests@2.11.0`: No longer accepts non-strings as header values.
* `requests@2.16.0`: `requests.packages` namespace was removed due to
  packages no longer being vendored. The namespace has been
  incrementally restored over future releases, but it's unclear to
  what degree.
* `requests@2.24.0`: Redirect resolution now only happens when
  `allow_redirects` is `True`.
* `requests` version of `urllib3` was bumped from `1.13.1` to `1.26`,
  unsure what repercussions that will have.

This also added dependencies to `flake8_requirements`. This is because
the vendored `importlib-metadata` update (and the new
`typing-extensions` dependency) is found by `pip`, but the
vendored `typing-extensions` is _not_ discovered (perhaps due to
details around "eggs" and the way we add vendored code to the sys.path).
So, `pip` tries to install it manually and fails when it finds no hash.
By re-compiling `flake8_requirements`, the necessary hashes are made
available.

Differential Revision: https://phabricator.services.mozilla.com/D108526
2021-04-20 13:57:47 +00:00
Mitchell Hentges ee7c93f920 Bug 1703092: Don't provide cpu_brand in telemetry if None r=sheehan
Glean is throwing an error if a string metric is `None`.
Since `get_cpu_brand()` can return `None`, only update telemetry if it's
set.

Depends on D110847

Differential Revision: https://phabricator.services.mozilla.com/D110858
2021-04-19 23:17:06 +00:00
Dorel Luca ab1af7fd8c Backed out changeset 32a4f65504f6 (bug 1703092) for Gecko Decision failure. CLOSED TREE 2021-04-20 03:54:27 +03:00
Mike Hommey 58fac4ff62 Bug 1704580 - Set rust optimization level via CARGO_PROFILE_*_OPT_LEVEL. r=firefox-build-system-reviewers,mhentges
Setting it via -C opt-level makes us hit
https://github.com/rust-lang/cargo/issues/9358 so use an alternative
way, that works since rust version 1.43.0.

Differential Revision: https://phabricator.services.mozilla.com/D112158
2021-04-20 00:33:59 +00:00
Mike Hommey 6736f91ada Bug 1704580 - Move various rust-related configure items to rust.configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D112157
2021-04-20 00:33:58 +00:00
Mitchell Hentges 8c5acba80f Bug 1703092: Don't provide cpu_brand in telemetry if None r=sheehan
Glean is throwing an error if a string metric is `None`.
Since `get_cpu_brand()` can return `None`, only update telemetry if it's
set.

Depends on D110847

Differential Revision: https://phabricator.services.mozilla.com/D110858
2021-04-19 23:17:06 +00:00
Mitchell Hentges b598007784 Bug 1704838: Resolve mach_bootstrap compatibility with Python 2 r=sheehan
Python 2 isn't as happy with spread operators and doesn't
support "sys.base_prefix".

Differential Revision: https://phabricator.services.mozilla.com/D111898
2021-04-19 16:37:36 +00:00
Mitchell Hentges 0edde64d4e Bug 1703055: Don't include global site packages in python path r=firefox-build-system-reviewers,glandium,sheehan
To avoid erroneously importing a package from the system, we remove
system site package.
This is another positive step towards further insulating the Firefox
build from the state of the environment.

This may cause failures if some mach commands have been sneakily
importing system packages instead of properly vendoring them.

Differential Revision: https://phabricator.services.mozilla.com/D110847
2021-04-19 16:37:35 +00:00
Mitchell Hentges b44dc92343 Bug 1705763: Remove build/genrc.sh file r=sheehan
This file has been unchanged (other than license changes)
since the 1998 "free the lizard" commit.

It's not referenced from any other file.
It's time to retire, `genrc.sh`.

Differential Revision: https://phabricator.services.mozilla.com/D112374
2021-04-19 16:37:15 +00:00
Cosmin Sabou 785f9b8a87 Backed out changeset d4a5d8567977 (bug 1696251) for non-unified build bustages. CLOSED TREE 2021-04-19 19:43:31 +03:00
Alex Lopez 75dfe35468 Bug 1696251 - Pass MachCommandBase object as first argument for Mach Commands. r=mhentges,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers
As an intermediate step to allow mach commands as standalone functions, the MachCommandBase
subclass instance that currently corresponds to self has to be made available as a separate
argument (named command_context).

Differential Revision: https://phabricator.services.mozilla.com/D109650
2021-04-19 16:15:11 +00:00
Steve Fink 9b449c3c3a Bug 1697929 - Allow missing mach commands in the spidermonkey release package r=mhentges,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D108114
2021-04-19 14:21:42 +00:00
Andi-Bogdan Postelnicu a09d3b3373 Bug 1703483 - Add required CI jobs for using clang main as a testing toolchain for firefox build. r=mhentges,glandium
1. Add task to get and build clang from the main branch.
2. Using clang main toolchain we build on a daily basis linux64 firefox, this tasks also automatically triggers the fetch and build of clang from main branch since we don't cache it.

Differential Revision: https://phabricator.services.mozilla.com/D111063
2021-04-16 14:12:14 +00:00
Mike Hommey dd1bea60ed Bug 1698669 - Fix gyp target_arch for little-endian powerpc64. r=firefox-build-system-reviewers,mhentges
gyp files expect something different than what we currently feed them.

Differential Revision: https://phabricator.services.mozilla.com/D112144
2021-04-16 01:01:11 +00:00
Ryan VanderMeulen 0853554188 Bug 1699657 - land NSS NSS_3_64_RTM UPGRADE_NSS_RELEASE, r=bbeurdouche
Differential Revision: https://phabricator.services.mozilla.com/D112222
2021-04-15 16:54:57 +00:00
Gabriele Svelto 0775d6a0d2 Bug 1704518 - Use the workspace hack to reduce build times of the Rust WER components r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D112013
2021-04-15 11:55:31 +00:00
Dana Keeler 2a52292ef3 Bug 1699294 - add 'mach generate-test-certs' command to generate test certificate and key artifacts r=glandium
In bug 1174288 and related bugs we created a framework for generating
test certificates (and later, keys) from specifications at build time. This
turned out to take too long to run on each build, so this system was largely
left disabled (see all of the "# Temporarily disabled. See bug 1256495."
comments removed in this patch). This patch introduces a mach command
("generate-test-certs") that can generate test certificates and keys. The
expectation is that when a developer needs to add new such artifacts, they can
use this new command. Similarly, when the artifacts need to be updated (for
example, because they've expired), this command can regenerate them all at
once.

Differential Revision: https://phabricator.services.mozilla.com/D108869
2021-04-14 22:24:11 +00:00
Emilio Cobos Álvarez 80439edf68 Bug 1699844 - Add an escape hatch for the refcounted inside lambda checker. r=andi
Allow using the MOZ_KnownLive function to get around it.

Use case is the following: I have an std::function member variable, and I want
that member to be able to capture `this`.

Using a strong reference creates a cycle and thus would leak. I know `this` to
always outlive the member, so it is fine to use a weak capture there.

Differential Revision: https://phabricator.services.mozilla.com/D111850
2021-04-14 19:12:02 +00:00
Mark Banner dae9d6efad Bug 1498604 - Make './mach doc' use jsdoc installed into node_modules rather than the system. r=mossop,ahal
Differential Revision: https://phabricator.services.mozilla.com/D111652
2021-04-14 13:35:20 +00:00
Christoph Kerschbaumer b273e401dc Bug 1542194: Test blockedURI in CSP violation events in certain redirect scenarios r=dveditz,freddyb
Differential Revision: https://phabricator.services.mozilla.com/D103476
2021-04-14 10:45:55 +00:00
Sebastian Hengst e5413b29d7 Backed out 2 changesets (bug 1703055, bug 1703092) for busting Wrench and Android Bpgo tasks (bug 1704838). a=backout DONTBUILD
Backed out changeset 39a9276cbc01 (bug 1703092)
Backed out changeset 189b85571855 (bug 1703055)
2021-04-14 11:25:11 +02:00
Christoph Kerschbaumer e1c35fda94 Bug 1658924: Implement HTTPS-First and automatically fall back to http if secure top-level connection is not available r=necko-reviewers,JulianWels,mattwoodrow,dragana
Differential Revision: https://phabricator.services.mozilla.com/D111686
2021-04-13 17:43:12 +00:00
Mitchell Hentges 10af403b48 Bug 1703092: Don't provide cpu_brand in telemetry if None r=sheehan
Glean is throwing an error if a string metric is `None`.
Since `get_cpu_brand()` can return `None`, only update telemetry if it's
set.

Depends on D110847

Differential Revision: https://phabricator.services.mozilla.com/D110858
2021-04-13 14:46:27 +00:00
Mitchell Hentges c7822a6ba2 Bug 1703055: Don't include global site packages in python path r=firefox-build-system-reviewers,glandium,sheehan
To avoid erroneously importing a package from the system, we remove
system site package.
This is another positive step towards further insulating the Firefox
build from the state of the environment.

This may cause failures if some mach commands have been sneakily
importing system packages instead of properly vendoring them.

Differential Revision: https://phabricator.services.mozilla.com/D110847
2021-04-13 14:46:27 +00:00
Emilio Cobos Álvarez a139a24c76 Bug 1703223 - Hook stat/stat64 in liblowercase. r=glandium
Surprised this didn't cause more issues tbh.

Differential Revision: https://phabricator.services.mozilla.com/D111237
2021-04-13 09:23:54 +00:00
Mike Hommey 856379bd2c Bug 1704685 - Fix lint.py mbu failures. r=fix 2021-04-13 08:58:54 +03:00
Mike Hommey 9bce63da4f Bug 1704685 - Remove leftover from bug 1686888. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D111765
2021-04-13 04:57:48 +00:00
Nick Alexander 29fc399d04 Bug 1703886 - Let `MOZ_BACKGROUNDTASKS` and `MOZ_UPDATE_AGENT` ride the trains. r=application-update-reviewers,firefox-build-system-reviewers,mhentges,bytesized
This also makes `MOZ_UPDATE_AGENT` depend on `MOZ_BACKGROUNDTASKS`.

There's no need to lint the `tools/update-programs` project, since
it's not a supported configuration.  The next consumer can
rehabilitate it or remove it.

Differential Revision: https://phabricator.services.mozilla.com/D111313
2021-04-11 20:50:15 +00:00
Emilio Cobos Álvarez fa55a94173 Bug 1695313 - Update cbindgen in tree to 0.19.0. r=zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D106660
2021-04-08 16:25:43 +00:00
Chris Fallin e888f83b57 Bug 1701603 part 1 - Support WASI as a new target for compilation. r=glandium
Add new OS - WASI and new processor - wasm32 to the SM's build system.

Differential Revision: https://phabricator.services.mozilla.com/D110067
2021-04-08 08:02:15 +00:00
Mitchell Hentges 7b81541330 Bug 1703079: Remove redundant, unused "mozilla_dir" argument r=sheehan
If a custom `topsrcdir` is needed, it can be directly passed in.
I don't see how a separate `mozilla_dir` parameter is necessary - it
appears redundant to me.

Differential Revision: https://phabricator.services.mozilla.com/D110841
2021-04-06 17:03:41 +00:00
Alexandru Michis 3c53d01f34 Backed out changeset 1bbf93c8f424 (bug 1653659) for causing xpcshell failures in test_hunspell.js
CLOSED TREE
2021-03-29 21:26:32 +03:00
Deian Stefan 09d63fbb09 Bug 1653659 - Part 3: Turn on Wasm sandboxing for hunspell. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94931
2021-03-29 15:32:40 +00:00
Agi Sferro 674d630320 Bug 1697844 - Remove unused FENNEC_NIGHTLY. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D108049
2021-03-24 20:06:24 +00:00
Alexandru Michis ced948f22d Backed out 10 changesets (bug 1697844) for causing mpu failures in test_visualmetrics.py
CLOSED TREE

Backed out changeset 63b3268b0d2d (bug 1697844)
Backed out changeset 875b2aa342d9 (bug 1697844)
Backed out changeset 4fb528aaf7d5 (bug 1697844)
Backed out changeset 6ef5e1c9ca21 (bug 1697844)
Backed out changeset 430d6c940eb9 (bug 1697844)
Backed out changeset 7a306f28dc64 (bug 1697844)
Backed out changeset 871a40e2fc00 (bug 1697844)
Backed out changeset 083e9ce71d14 (bug 1697844)
Backed out changeset b53930a3f065 (bug 1697844)
Backed out changeset 24326d04dd37 (bug 1697844)
2021-03-24 21:59:28 +02:00
Agi Sferro a6f7203643 Bug 1697844 - Remove unused FENNEC_NIGHTLY. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D108049
2021-03-24 18:54:45 +00:00
Mike Hommey 2d8e1ab04a Bug 1699397 - Upgrade mach environment to glean-sdk 36.0.0. r=firefox-build-system-reviewers,sheehan,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D108921
2021-03-22 21:41:44 +00:00
Cosmin Sabou aca9932a77 Backed out changeset a137de215994 (bug 1653659) for xpcshell failures on test_hunspell.js. CLOSED TREE 2021-03-22 21:50:16 +02:00
Deian Stefan 1e28c18fd4 Bug 1653659 - Part 3: Turn on Wasm sandboxing for hunspell. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D94931
2021-03-22 16:47:38 +00:00
Jesse Schwartzentruber 0026d74b59 Bug 1695285 - Pass ASan/UBSan flags to cargo for native builds. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D106652
2021-03-18 20:46:55 +00:00
Mike Conley e87e80f4f6 Bug 1697863 - Add another Stylo valgrind suppression. r=emilio
Depends on D108101

Differential Revision: https://phabricator.services.mozilla.com/D108806
2021-03-17 17:15:11 +00:00
Mike Hommey fd54149a7a Bug 1698706 - Fix linux build bustage. a=bustage-fix CLOSED TREE 2021-03-17 10:23:21 +02:00
Mike Hommey 0ea5ad6742 Bug 1698706 - Always add PIC flags to C{,XX}FLAGS. r=firefox-build-system-reviewers,andi,sheehan,mhentges
The build always uses them anyways, but configure tests don't, and some
of them fail as a consequence in some cases (example: when UBsan is
enabled, all AC_LANG_CPLUSPLUS + AC_CHECK_FUNCS tests fail). We also had
similar problems in the past, such as bug 1513605.

By adding the PIC flags to CFLAGS and CXXFLAGS, we ensure old-configure
tests use the flags as well.

While here, we also remove DSO_CFLAGS, which was always empty, and we
stop passing -fPIC to wasm compiles, because it has no effect there.

Differential Revision: https://phabricator.services.mozilla.com/D108560
2021-03-17 02:27:22 +00:00
Mike Hommey f74f871db7 Bug 1697950 - Partial support for mach bootstrap on arm64 mac. r=firefox-build-system-reviewers,sheehan,mhentges
This is enough to make the instructions on the Google doc unnecessary.

Differential Revision: https://phabricator.services.mozilla.com/D108132
2021-03-17 02:11:51 +00:00
Csoregi Natalia 1fe0f680de Backed out changeset 86089c4629b5 (bug 1698706) for spidermonkey bustage. CLOSED TREE 2021-03-17 03:48:31 +02:00
Mike Hommey 473d31abfb Bug 1698706 - Always add PIC flags to C{,XX}FLAGS. r=firefox-build-system-reviewers,andi,sheehan,mhentges
The build always uses them anyways, but configure tests don't, and some
of them fail as a consequence in some cases (example: when UBsan is
enabled, all AC_LANG_CPLUSPLUS + AC_CHECK_FUNCS tests fail). We also had
similar problems in the past, such as bug 1513605.

By adding the PIC flags to CFLAGS and CXXFLAGS, we ensure old-configure
tests use the flags as well.

While here, we also remove DSO_CFLAGS, which was always empty, and we
stop passing -fPIC to wasm compiles, because it has no effect there.

Differential Revision: https://phabricator.services.mozilla.com/D108560
2021-03-17 01:27:39 +00:00
Simon Giesecke 415fa258ea Bug 1662652 - New non-standard move checker. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D60955
2021-03-12 08:15:32 +00:00
Mike Hommey d7fbde7802 Bug 1688803 - Make ~/.cargo/bin take precedence over $PATH similarly to bootstrap paths. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D107585
2021-03-11 21:42:45 +00:00
leli 18f2473013 Bug 1665057 - Add www button on https-only error page - test r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D103700
2021-03-11 17:10:07 +00:00
Nick Alexander b1187e891b Bug 1687783 - Part 1: Enable MOZ_UPDATE_AGENT by default on macOS and Windows. r=firefox-build-system-reviewers,mhentges
At the same time, remove the global define, which isn't necessary and
triggers some rebuilds.  Nothing is using MOZ_UPDATE_AGENT right now
so it's safe to enable more broadly, and it will be used to gate new
background update work.

Differential Revision: https://phabricator.services.mozilla.com/D102786
2021-03-11 15:29:50 +00:00
Christian Holler 4cf2f28556 Bug 1689597 - Add Fuzzilli support to the build system. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D103467
2021-03-11 12:13:21 +00:00
Tom Ritter 839cfff0f8 Bug 1686975: Add clang-query to the clang-tidy tools r=andi
Differential Revision: https://phabricator.services.mozilla.com/D101939
2021-03-10 20:53:32 +00:00
Cosmin Sabou 2ff63d5811 Backed out 4 changesets (bug 1687783) for bc failures on browser_all_files_referenced.js. CLOSED TREE
Backed out changeset 194e31587e6c (bug 1687783)
Backed out changeset b9ac8c1fd90f (bug 1687783)
Backed out changeset 545f379b915b (bug 1687783)
Backed out changeset 6458260d4e48 (bug 1687783)
2021-03-10 08:09:06 +02:00
Andi-Bogdan Postelnicu b3ae95374e Bug 1696491 - when clang errors are present, mark static analysis jobs as failed. r=firefox-build-system-reviewers,mhentges
Our bot was expecting to have tasks that were succeeding, right now we no longer need that
and in a case of a build failure, or in a case of the presence of a checker that asserts itself
as error and not warning we should mark the task red by failing the job.

Differential Revision: https://phabricator.services.mozilla.com/D107656
2021-03-10 05:20:46 +00:00
Nick Alexander 6e8c03946e Bug 1687783 - Part 1: Enable MOZ_UPDATE_AGENT by default on macOS and Windows. r=firefox-build-system-reviewers,mhentges
At the same time, remove the global define, which isn't necessary and
triggers some rebuilds.  Nothing is using MOZ_UPDATE_AGENT right now
so it's safe to enable more broadly, and it will be used to gate new
background update work.

Differential Revision: https://phabricator.services.mozilla.com/D102786
2021-03-10 04:28:54 +00:00
Mitchell Hentges 5c911478fd Bug 1683797: Removes redundant path parsing r=sheehan,firefox-build-system-reviewers,glandium
We already know the project name, we should unbundle it
from the project path.

This change is possible due to the work in 1664083,
and puts us back to the state before 1255185.

Differential Revision: https://phabricator.services.mozilla.com/D106293
2021-03-09 14:45:25 +00:00
Mike Hommey 67ea89b736 Bug 1695773 - Upgrade python-zstandard to 0.15.2. r=firefox-build-system-reviewers,mhentges
It's the first release with arm64 mac wheels.

Differential Revision: https://phabricator.services.mozilla.com/D106848
2021-03-09 00:19:12 +00:00
Benjamin Beurdouche 590564d9d4 Bug 1694020 - land NSS 38a91427d65fffd0d7f7d2b6d0bcee7dc8b77a37 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D107084
2021-03-08 07:43:55 +00:00
Kagami Sascha Rosylight a2323b59a0 Bug 1691515 - Add MOZ_KNOWN_LIVE member annotation r=andi
Differential Revision: https://phabricator.services.mozilla.com/D107321
2021-03-05 23:23:03 +00:00
Rob Lemley 5854f0fa98 Bug 1696285 - update windows_toolchain.py to run with Python 3. r=firefox-build-system-reviewers,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D107127
2021-03-05 16:19:35 +00:00
Butkovits Atila 043c0bbe2d Backed out changeset 40a2cb2f242b (bug 1694020) on request from beurdouche, UPGRADE_NSS_RELEASE CLOSED TREE 2021-03-03 20:41:33 +02:00
Benjamin Beurdouche dd75eb4204 Bug 1694020 - land NSS 38a91427d65fffd0d7f7d2b6d0bcee7dc8b77a37 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D107084
2021-03-03 17:24:10 +00:00
David Major 219799577d Bug 1694280 - Add clang 12.0.0 rc2 toolchains (not yet used) r=firefox-build-system-reviewers,glandium
Just adding the toolchain tasks for now. They are not yet used by anything, but bug 1693288 might be interested eventually.

As with earlier releases, clang-tidy and mingw builds are not included here, they'll be separate patches.

Differential Revision: https://phabricator.services.mozilla.com/D106554
2021-03-03 16:53:28 +00:00
James Graham 7814585840 Bug 1695263 - Vendor in a copy of wptserve that's still Python 2 compatible, r=marionette-reviewers,whimboo
Upstream wptserve just switched to Python 3 only. That's fine for
web-platform-tests, but it turns out that some marionette harness
tests are also using wptserve and are still on Python 2.

Since fixing marionette harness turns out to be non-trivial and this
blocks other wpt work, this patch does the following:

* Temporarily vendors the last wptserve revision that works with
  Python 2 in to testing/web-platform/mozilla/tests/tools/wptserve_py2

* Configures the mach virtualenv to use that copy for Python 2 modules
  only.

* Configures the test packaging system to also put that copy in the
  common tests zip. Requirements files are updated to use either the
  Python 2 version or the Pyhton 3 version as required.

Differential Revision: https://phabricator.services.mozilla.com/D106764
2021-03-03 10:03:05 +00:00
Calixte Denizet b1457ae0bc Bug 1696060 - Fix lint issue in toolchain.configure (follow-up of bug 1524932) r=marco DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D107037
2021-03-03 09:16:05 +00:00
Florian Quèze b41e171c11 Bug 1694462 - Remove the nsIThreadManager.newThread API (newNamedThread should be used instead), r=bas,KrisWright.
Differential Revision: https://phabricator.services.mozilla.com/D106267
2021-03-02 22:34:51 +00:00
Calixte Denizet 63cb543361 Bug 1524932 - Don't instrument some files when doing ccov. r=marco
Some files don't need to be instrumented since we don't care about their coverage (e.g. /usr/include/* on linux).

Differential Revision: https://phabricator.services.mozilla.com/D107003
2021-03-02 21:54:40 +00:00
Agi Sferro c6942877da Bug 1695051 - Add /security to .lldbinit. r=aklotz
This is required to debug code in libnss3.

Differential Revision: https://phabricator.services.mozilla.com/D106541
2021-03-02 20:39:12 +00:00
Alex Lopez 201a891006 Bug 1694646 - Remove old build telemetry. r=mhentges
Now that telemetry is gathered with glean, we can remove the old telemetry.

Differential Revision: https://phabricator.services.mozilla.com/D106735
2021-03-02 15:04:27 +00:00
Mitchell Hentges 21cfb57123 Bug 1695770: Glean should install for python <= 3.7 r=firefox-build-system-reviewers,glandium
Re-compile glean_requirements.in with Python 3.6.

Differential Revision: https://phabricator.services.mozilla.com/D106838
2021-03-02 14:05:11 +00:00
Mike Hommey 8768860a67 Bug 1694318 - Remove the debian8-mozjs-rust-build docker image. r=firefox-build-system-reviewers,andi,mhentges
The task that was using it was removed. While here, we remove the now
unused cmake backport for Debian jessie.

Differential Revision: https://phabricator.services.mozilla.com/D106391
2021-03-02 08:09:36 +00:00
Mike Hommey 28c8a64a50 Bug 1694784 - Add a flag allowing to pick a sysroot manually. r=firefox-build-system-reviewers,sheehan,mhentges
Spidermonkey package builds don't have MOZ_AUTOMATION set (for good
reasons), which means they don't automatically get the sysroot through
MOZ_FETCHES_DIR. We need a way for that particular build to set its
sysroot.

Because the setup for sysroot is more elaborated than adding --sysroot
to C{,XX}FLAGS, it's more convenient to have an option for this.

And while at it, we might as well make that a full-fledged option,
although, we only make it available when targetting Linux (although it
could be useful for other OSes, but there's overlap with other options
on Android, and Mac, so for now, Linux-only will do).

This also allows to pass --without-sysroot along with
--enable-bootstrap, where the bootstrapped sysroot is not used.

Differential Revision: https://phabricator.services.mozilla.com/D106352
2021-03-02 02:06:36 +00:00
Agi Sferro d7c56b38e4 Bug 1688062 - Update target SDK to API 30. r=esawin,jnicol
Differential Revision: https://phabricator.services.mozilla.com/D106556
2021-03-01 19:12:16 +00:00
Noemi Erli 67edd199af Backed out changeset 0ca845833464 (bug 1688062) for causinf Android Webrender bustages CLOSED TREE 2021-02-27 14:15:09 +02:00
Agi Sferro b69e57d56f Bug 1688062 - Update target SDK to API 30. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D106556
2021-02-26 21:45:15 +00:00
Dorel Luca 0875c78fec Backed out changeset 0e3e3b8a55b4 (bug 1688062) for Linting failure in java/org/mozilla/gecko/GeckoAppShell.java. CLOSED TREE 2021-02-26 19:02:12 +02:00
Agi Sferro c0dc6e84b0 Bug 1688062 - Update target SDK to API 30. r=esawin
Differential Revision: https://phabricator.services.mozilla.com/D106556
2021-02-26 16:34:02 +00:00
championshuttler edef5d0184 Bug 1691328 - no bug - Bump up Glean SDK version to v35.0.0 r=mhentges
Depends on D104352

Differential Revision: https://phabricator.services.mozilla.com/D104353
2021-02-25 20:47:15 +00:00
Edmund Wong 6aa9734887 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
2021-02-24 09:46:59 +00:00
Mike Hommey 1b305c741e Bug 1694323 - Upgrade psutil to 5.8.0. r=firefox-build-system-reviewers,andi,sheehan,mhentges
It is the first version that comes with wheels for most platforms.

Differential Revision: https://phabricator.services.mozilla.com/D106066
2021-02-24 02:45:59 +00:00
Mike Hommey 1afcdbc6aa Bug 1693725 - Make --enable-bootstrap install missing toolchains. r=firefox-build-system-reviewers,andi,sheehan,mhentges
This means --enable-bootstrap now is the same as what
--enable-bootstrap=install currently does. --enable-bootstrap=install is at the
same time desupported.
We also remove --enable-bootstrap=update, which is not worth supporting.

Differential Revision: https://phabricator.services.mozilla.com/D105719
2021-02-24 02:13:10 +00:00
Mike Hommey 34ada26a0e Bug 1693723 - Avoid bootstrapping when an explicit path is given for tools. r=firefox-build-system-reviewers,mhentges
This changes things such that setting e.g. NASM=/usr/bin/nasm will avoid
bootstrapping nasm even when bootstrapping is enabled.

This is not applied to CC/CXX/HOST_CC/HOST_CXX because things are more
complicated.

This also simplifies how check_prog is called for a bootstrapped tool,
and avoids the repetition of when.

CBINDGEN handling needs the pattern being applied manually because it
currently doesn't use check_prog. Once --enable-bootstrap=install
becomes the default on developer builds, it will be possible to simplify
this.

Differential Revision: https://phabricator.services.mozilla.com/D105718
2021-02-24 02:01:33 +00:00
Mike Hommey dfb8c396a6 Bug 1693723 - Pass bootstrap path in one piece to bootstrap_{,search_}path. r=firefox-build-system-reviewers,andi,mhentges
It will make upcoming changes simpler.

Differential Revision: https://phabricator.services.mozilla.com/D105717
2021-02-24 02:01:32 +00:00
Mike Hommey 6f57e893ff Bug 1694344 - Fix --with-ccache after bug 1693689. r=firefox-build-system-reviewers,sheehan,mhentges
Because --with-ccache without a value fulfills a @depends_if, we need to
check for the length. And because we check the length, we can just use a
@depends.

Differential Revision: https://phabricator.services.mozilla.com/D106084
2021-02-23 20:52:00 +00:00
Simon Giesecke 7e11c5d899 Bug 1600239 - Make message produced by NoAddRefReleaseOnReturnChecker more explicit. r=andi
Add a reference to MOZ_NO_ADDREF_RELEASE_ON_RETURN in the message.

Use the qualified name of the function returning the object.

Differential Revision: https://phabricator.services.mozilla.com/D106143
2021-02-23 16:24:30 +00:00
Mike Hommey 23f4404e5f Bug 1693689 - Avoid bootstrapping toolchains unless needed. r=firefox-build-system-reviewers,andi,sheehan,mhentges
- Only bootstrap sccache when building with --with-ccache=sccache or
  CCACHE=sccache
- Don't bootstrap dump_syms or nasm on builds that don't compile

Differential Revision: https://phabricator.services.mozilla.com/D105704
2021-02-23 03:34:04 +00:00
Mike Hommey fbbe02d958 Bug 1692940 - Remove build system support for yasm. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D105432
2021-02-23 01:26:46 +00:00
Mike Hommey 5479923a50 Bug 1692940 - Change the logic to check for nasm. r=firefox-build-system-reviewers,dmajor
Instead of preemptively check for it, and then check if it's good enough to
build AV1, only check for (and bootstrap) nasm when building AV1 requires
it.

At the same time, we future-proof the code to be able to handle multiple
things requiring nasm, which we're going to add shortly.

Differential Revision: https://phabricator.services.mozilla.com/D105425
2021-02-23 01:26:43 +00:00
Mike Hommey d7cb5b686b Bug 1692940 - Revert bug 1508419. r=firefox-build-system-reviewers,andi,dmajor
Back when bug 1508419 landed, we weren't using a bootstrapped nasm. It
is less useful now that we are.

Differential Revision: https://phabricator.services.mozilla.com/D105424
2021-02-23 01:26:43 +00:00
Mike Hommey e7f8314703 Bug 1693717 - Remove paths_have_priority argument to check_prog. r=firefox-build-system-reviewers,andi,sheehan,mhentges
It hasn't been used since bug 1482435.

Differential Revision: https://phabricator.services.mozilla.com/D105715
2021-02-22 22:20:42 +00:00
Mike Hommey 35d498a886 Bug 1692944 - Add a clang toolchain for arm64 mac. r=firefox-build-system-reviewers,andi,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D105267
2021-02-22 21:38:34 +00:00
Mike Hommey d7ab7ac4f9 Bug 1692944 - Reflect the fact that we're building clang with SDK 10.12. r=firefox-build-system-reviewers,andi,dmajor
We've been building clang with SDK 10.12 since bug 1680152, but the
build-clang script is still assuming we're building with an older one.

Differential Revision: https://phabricator.services.mozilla.com/D105266
2021-02-22 21:38:34 +00:00
Aaron Klotz a16fdc090e Bug 1581971: Part 7 - Fix path quirk with x86 lldb-server detection; r=bustage CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D105836
2021-02-19 22:32:10 +00:00
Aaron Klotz 9ed94dd8f0 Bug 1581971: Part 2 - Add configure support for lldb-server on Android; r=firefox-build-system-reviewers,mhentges
We want to find the full path to the correct `lldb-server` in the NDK.
We reference this variable in a later patch when preparing the device for
debugging.

Differential Revision: https://phabricator.services.mozilla.com/D94380
2021-02-19 21:07:18 +00:00
Mike Hommey fa35a4b8c7 Bug 1692939 - Turn namespace() into a builtin in python configure. r=firefox-build-system-reviewers,mhentges
This removes the need for some --help dependencies.

Differential Revision: https://phabricator.services.mozilla.com/D105263
2021-02-18 22:44:40 +00:00
Mike Hommey 5e19605601 Bug 1692939 - Add sorted() as an allowed builtin in python configure. r=firefox-build-system-reviewers,mhentges
It has no side effects and is safe to use in the configure sandbox.

Differential Revision: https://phabricator.services.mozilla.com/D105262
2021-02-18 22:44:39 +00:00
Mike Hommey b6d915dd07 Bug 1692383 - Upgrade python-zstandard to 0.15.1. r=firefox-build-system-reviewers,mhentges
As far as I can tell, we don't use zstandard from python2. As the last
version supporting python2 is 0.14.1, drop installing the python2
version.

Differential Revision: https://phabricator.services.mozilla.com/D105075
2021-02-17 00:53:38 +00:00
Mike Hommey 7190ea756d Bug 1563571 - Still try lld when the compiler can't find a linker on its own. r=firefox-build-system-reviewers,andi,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D104964
2021-02-16 21:24:53 +00:00
Mike Hommey 008596f701 Bug 1692945 - Remove unused [YN]ASM variables. r=firefox-build-system-reviewers,andi,dmajor
None of HAVE_NASM, HAVE_YASM, NASM_MAJOR_VERSION and NASM_MINOR_VERSION are
used. Also, the YASM variable is not necessary for old-configure anymore.

Differential Revision: https://phabricator.services.mozilla.com/D105269
2021-02-16 21:17:06 +00:00
Mitchell Hentges a3eb85e571 Bug 1687980: Make macOS quickstart docs more concise r=sylvestre,mhoye
* Puts the docs in order, so that contributors aren't jumping to the
  middle of the page to install system tools, then back to the top to
  clone Firefox.
* Removes docs on MacPorts since it's being removed in bug 1688263.
* Removes step to manually install brew packages since that happens
   automatically in bootstrap now.
* Simplifies mercurial installation docs
* Removes unnecessary mozconfig-tweaking instructions
* Removes almost-always-unnecessary DEFINE and troubleshooting
  information.

Differential Revision: https://phabricator.services.mozilla.com/D102973
2021-02-16 17:48:11 +00:00
Mitchell Hentges 1f85212944 Bug 1692529: Alphabetically order virtualenv packages r=sheehan
Orders alphabetically by path.

Differential Revision: https://phabricator.services.mozilla.com/D105043
2021-02-16 17:47:13 +00:00
Mitchell Hentges 60a6faecc4 Bug 1692280: Remove unused vendored packages r=sheehan,firefox-build-system-reviewers,andi,glandium
`pyflakes` is only used as a pip-downloaded package
in CI.
`biplist` and `configobj` are no longer vendored.

Differential Revision: https://phabricator.services.mozilla.com/D104860
2021-02-16 17:47:12 +00:00
Calixte Denizet a0b66fc1c7 Bug 1602482 - Remove use of ___custom_llvm_gcov_flush r=marco,dmajor
Because of conflicts between gcov_flush from gcc and the one from llvm, we renamed llvm one into ___custom_llvm_gcov_flush.
Since we switched to clang for linux ccov builds, this workaround is now useless.

Differential Revision: https://phabricator.services.mozilla.com/D104990
2021-02-12 20:37:25 +00:00
Mike Hommey 5f86b697af Bug 1692137 - Allow local linux builds to use a bootstrapped sysroot. r=firefox-build-system-reviewers,andi,mhentges
Bug 1690930 added sysroots that can be bootstrapped. With this change,
we allow --enable-bootstrap=install to pull the right sysroot for the
configured target, and --enable-bootstrap to update it if it was already
there.

Differential Revision: https://phabricator.services.mozilla.com/D104797
2021-02-12 20:31:49 +00:00
Csoregi Natalia 63a9b1da37 Backed out changeset 333391f911e5 (bug 1602482) for toolchains bustage. CLOSED TREE 2021-02-12 18:14:44 +02:00
Calixte Denizet 169e0b5a38 Bug 1602482 - Remove use of ___custom_llvm_gcov_flush r=marco,dmajor
Because of conflicts between gcov_flush from gcc and the one from llvm, we renamed llvm one into ___custom_llvm_gcov_flush.
Since we switched to clang for linux ccov builds, this workaround is now useless.

Differential Revision: https://phabricator.services.mozilla.com/D104990
2021-02-12 14:45:24 +00:00
Byron Campen [:bwc] e3737b1c60 Bug 1654112 - Exempt code in webrtc namespace from implicit conversion operator checks. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D105012
2021-02-12 14:26:36 +00:00
Mike Hommey 27dfa198c6 Bug 1685764 - Switch all tasks using the cross-releng tooltool manifest to the corresponding toolchain task. r=firefox-build-system-reviewers,dmajor
In the case of toolchain tasks, the tooltool download script already
extracted the SDK in $MOZ_FETCHES_DIR, so no adjustment was required.
Only a Firefox mozconfig needs adaptation.

Differential Revision: https://phabricator.services.mozilla.com/D104646
2021-02-11 22:06:20 +00:00
David Major 1499c8a490 Bug 1692234 - Allow new pass manager with ubsan on clang 10.0.1+ r=firefox-build-system-reviewers,mhentges
The hang in 10.0.0 was fixed in trunk 11 and backported to 10.0.1.

Differential Revision: https://phabricator.services.mozilla.com/D104836
2021-02-11 17:13:09 +00:00
Mike Hommey a7b2fb4104 Bug 1691865 - Clean up stdc++compat after bug 1634204. r=firefox-build-system-reviewers,dmajor
Bug 1634204 bumped the maximum version of symbols allowed in our
dependency upon libstdc++, which effectively makes some of the
stdc++compat code dead. We can now remove it.

Differential Revision: https://phabricator.services.mozilla.com/D104617
2021-02-10 21:14:52 +00:00
Mike Hommey 7ae7a72a38 Bug 1690937 - Build clang itself using a sysroot. r=firefox-build-system-reviewers,sheehan,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D104128
2021-02-09 00:44:01 +00:00
Mike Hommey d1be2e98e1 Bug 1690934 - Adjust clang for use with sysroots. r=firefox-build-system-reviewers,sheehan,mhentges
When using the --sysroot argument to clang, clang changes where it
searches for libraries in its own directory, and excludes the lib and
lib32 subdirectories. So we need to move the gcc files to a place where
it does look (and that it also looks without --sysroot).

We however still keep a copy of libstdc++ in the lib directory for
runtime purposes.

Differential Revision: https://phabricator.services.mozilla.com/D104123
2021-02-08 20:06:40 +00:00
Mike Hommey 4e004f1b25 Bug 1690757 - Build the clang aarch64 cross toolchain as a repack of clang + compiler-rt. r=firefox-build-system-reviewers,andi,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D104013
2021-02-04 14:52:00 +00:00
Cosmin Sabou 39960420a1 Bug 1686114 - Lint fix on build-clang.py. a=lint-fix 2021-01-29 15:43:10 +02:00
Tom Ritter 7aba583f22 Bug 1686114: Fix build-clang.py's --skip-checkout argument r=glandium DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D101397
2021-01-13 22:49:52 +00:00
Mike Hommey 49a54d790b Bug 1689284 - Default to opt-level=2 for Rust code. r=firefox-build-system-reviewers,sheehan,mhentges
We used to only push to opt-level=2 on --enable-release builds, to make
local builds faster with opt-level=1. Years later, it seems opt-level=2 makes no noticeable
difference in build times vs. opt-level=1, neither on my Threadripper
workstation at -j64 or my M1 Macbook Air at -j4.

That's one less difference to carry.

Differential Revision: https://phabricator.services.mozilla.com/D103266
2021-01-28 16:47:37 +00:00
Kevin Jacobs f9716bc8ab Bug 1688685 - land NSS 92dcda94c1d4 UPGRADE_NSS_RELEASE, r=bbeurdouche
2021-01-22  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/abi-check/previous-nss-release, lib/nss/nss.h,
	lib/softoken/softkver.h, lib/util/nssutil.h:
	Set version numbers to 3.62 Beta
	[680ec01577b9]

2021-01-23  Kevin Jacobs  <kjacobs@mozilla.com>

	* tests/chains/scenarios/nameconstraints.cfg,
	tests/libpkix/certs/NameConstraints.ipaca.cert,
	tests/libpkix/certs/NameConstraints.ocsp1.cert:
	Bug 1686134 - Renew two chains libpkix test certificates. r=rrelyea

	[3ddcd845704c]

2021-01-25  Kevin Jacobs  <kjacobs@mozilla.com>

	* gtests/common/testvectors/hpke-vectors.h,
	gtests/pk11_gtest/pk11_hpke_unittest.cc, lib/pk11wrap/pk11hpke.c,
	lib/pk11wrap/pk11hpke.h, lib/pk11wrap/pk11pub.h:
	Bug 1678398 - Update HPKE to draft-07. r=mt

	This patch updates HPKE to draft-07. A few other minor changes are
	included:
	- Refactor HPKE gtests for increased parameterized testing.
	- Replace memcpy calls with PORT_Memcpy
	- Serialization tweaks to make way for context Export/Import (D99277).

	This should not be landed without an ECH update, as fixed ECH test
	vectors will otherwise fail to decrypt.

	[e0bf8cadadc7]

	* automation/abi-check/expected-report-libnss3.so.txt,
	gtests/pk11_gtest/pk11_hpke_unittest.cc, lib/nss/nss.def,
	lib/pk11wrap/pk11hpke.c, lib/pk11wrap/pk11pub.h:
	Bug 1678398 - Add Export/Import functions for HPKE context. r=mt

	This patch adds and exports two new HPKE functions:
	`PK11_HPKE_ExportContext` and `PK11_HPKE_ImportContext`, which are
	used to export a serialized HPKE context, then later reimport that
	context and resume Open and Export operations. Only receiver
	contexts are currently supported for export (see the rationale in
	pk11pub.h).

	One other change introduced here is that `PK11_HPKE_GetEncapPubKey`
	now works as expected on the receiver side.

	If the `wrapKey` argument is provided to the Export/Import
	functions, then the symmetric keys are wrapped with AES Key Wrap
	with Padding (SP800-38F, 6.3) prior to serialization.

	[8bcd12ab3b34]

	* automation/abi-check/expected-report-libssl3.so.txt,
	gtests/ssl_gtest/libssl_internals.c,
	gtests/ssl_gtest/libssl_internals.h,
	gtests/ssl_gtest/ssl_extension_unittest.cc,
	gtests/ssl_gtest/tls_ech_unittest.cc, lib/ssl/ssl3con.c,
	lib/ssl/ssl3ext.c, lib/ssl/ssl3ext.h, lib/ssl/sslexp.h,
	lib/ssl/sslimpl.h, lib/ssl/sslsecur.c, lib/ssl/sslsock.c,
	lib/ssl/sslt.h, lib/ssl/tls13con.c, lib/ssl/tls13con.h,
	lib/ssl/tls13ech.c, lib/ssl/tls13ech.h, lib/ssl/tls13exthandle.c,
	lib/ssl/tls13exthandle.h, lib/ssl/tls13hashstate.c,
	lib/ssl/tls13hashstate.h:
	Bug 1681585 - Update ECH to Draft-09. r=mt

	This patch updates ECH implementation to draft-09. Changes of note
	are:

	- Acceptance signal derivation is now based on the handshake secret.
	- `config_id` hint changes from 32B to 8B, trial decryption added on
	the server.
	- Duplicate code in HRR cookie handling has been consolidated into
	`tls13_HandleHrrCookie`.
	- `ech_is_inner` extension is added, which causes a server to indicate
	ECH acceptance.
	- Per the above, support signaling ECH acceptance when acting as a
	backend server in split-mode (i.e. when there is no other local
	Encrypted Client Hello state).

	[ed07a2e2a124]

2021-01-24  Kevin Jacobs  <kjacobs@mozilla.com>

	* cmd/selfserv/selfserv.c:
	Bug 1681585 - Add ECH support to selfserv. r=mt

	Usage example: mkdir dbdir && cd dbdir certutil -N -d . certutil -S
	-s "CN=ech-public.com" -n ech-public.com -x -t "C,C,C" -m 1234 -d .
	certutil -S -s "CN=ech-private-backend.com" -n ech-private-
	backend.com -x -t "C,C,C" -m 2345 -d . ../dist/Debug/bin/selfserv -a
	ech-public.com -a ech-private-backend.com -n ech-public.com -n ech-
	private-backend.com -p 8443 -d dbdir/ -X publicname:ech-public.com
	(Copy echconfig from selfserv output and paste into the below
	command) ../dist/Debug/bin/tstclnt -D -p 8443 -v -A
	tests/ssl/sslreq.dat -h ech-private-backend.com -o -N <echconfig> -v

	[92dcda94c1d4]

Differential Revision: https://phabricator.services.mozilla.com/D102982
2021-01-26 15:30:01 +00:00
Nick Alexander 3d0d39d82c Bug 1675848 - Part 2: Add "BackgroundTasksSelector" to static component category registration. r=mhentges,nika
For simplicity, this implements just on in `NO_TASKS` (the default) or
on in `ALL_TASKS` (opt-in).  This disables all category registrations
when in background task mode; we'll selectively re-enable things as
appropriate.

The flag constants were chosen to smoothly extend to a (16-)bit set in
the future, should we want to add a `JUST_TASKS("task", "other-task")`
option in the future.

This also adds ython tests for gen_static_components.py exercising
categories, simply 'cuz it's easiest to see what this adds in such
tests.  Functional tests will follow in patches that actually
implement the new background tasks functionality.

Differential Revision: https://phabricator.services.mozilla.com/D96654
2021-01-25 23:44:49 +00:00
David Major bc943f076f Bug 1688292 - Fix non-unified build errors in netwerk/cache2/ r=necko-reviewers,valentin
This is a drive-by fix while I was looking into something else.

Differential Revision: https://phabricator.services.mozilla.com/D102795
2021-01-25 12:23:13 +00:00
Daniel Le 7f474f9d91 Bug 1684672 - Update mentions of macOS SDK v10.11 to v10.12. r=glandium DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D100591
2021-01-21 12:47:01 +00:00
Geoff Brown fc9db06c35 Bug 1685878 - Remove remoteautomation.py; r=jmaher
remoteautomation.py is an old collection of code used by android mochitest and android reftest;
it survived the removal of automation.py. This patch removes remoteautomation.py, moving the
majority of the functionality to a new class in mozdevice. Some features are simplified or
removed, and the remainder moved into the remote mochitest/reftest harnesses.

Differential Revision: https://phabricator.services.mozilla.com/D102239
2021-01-20 17:00:18 +00:00
Mike Hommey 66a79a59fe Bug 1553230 - Allow to opt-in to automatically update some bootstrapped toolchains. r=firefox-build-system-reviewers,nalexander,mhentges
This adds a --enable-bootstrap build flag that will automatically update
cbindgen, node, clang, sccache, nasm, wine, lucetc, dump_syms, pdbstr,
and winchecksec if they are already installed in ~/.mozbuild.

Eventually, we'll want to allow to install toolchains that weren't
already install, but one step at a time.

This explicitly doesn't cover rustc, which is its own can of worms, or
android-{ndk,sdk}, which are not installed via toolchain artifacts
currently.

Differential Revision: https://phabricator.services.mozilla.com/D101723
2021-01-15 22:15:51 +00:00
Mike Hommey ef2cc26ea5 Bug 1686646 - Don't pass --with-clang-path or --with-libclang-path in mozconfigs. r=firefox-build-system-reviewers,dmajor
Configure already figures those properly from $CC.

Differential Revision: https://phabricator.services.mozilla.com/D101722
2021-01-15 04:33:11 +00:00
Mike Hommey 5552bc3c4a Bug 1686646 - In mozconfigs, don't set paths to tools configure can now find on its own. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D101721
2021-01-15 04:33:09 +00:00
Mike Hommey 4ed35480e2 Bug 1686646 - Look for more tools in MOZ_FETCHES_DIR. r=firefox-build-system-reviewers,dmajor
This will allow to find them on automation without setting anything in
mozconfigs.

Differential Revision: https://phabricator.services.mozilla.com/D101720
2021-01-15 04:33:01 +00:00
Mike Hommey 8362a57bed Bug 1686646 - Use more targeted search paths for each tool. r=firefox-build-system-reviewers,dmajor
Instead of adding all possible tool paths from ~/.mozbuild, we only
add the relevant paths for each of the tools we search for.

Differential Revision: https://phabricator.services.mozilla.com/D101718
2021-01-15 04:26:05 +00:00
Mike Hommey de6099304e Bug 1686646 - Separate out Rust compiler search path. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D101717
2021-01-15 04:26:03 +00:00
Mike Hommey 22956f8151 Bug 1686646 - Separate out MSVC compiler search path. r=firefox-build-system-reviewers,dmajor
We don't need to check the MSVC compiler directory for more than a few
programs.

Differential Revision: https://phabricator.services.mozilla.com/D101716
2021-01-15 04:26:01 +00:00
Mike Hommey 2033eb7bed Bug 1686646 - Remove host_toolchain_search_path. r=firefox-build-system-reviewers,dmajor
The only thing that varies between toolchain_search_path and
host_toolchain_search_path is the path to the MSVC C/C++ compiler and
tools, because MSVC has a different compiler for each platform, and host
and target platforms may differ (when e.g. compiling for arm64 on
x86_64).

However, we don't use the MSVC compiler anymore, and the only thing we
use its path for is the assembler, which we don't use for host things
(and we don't have a HOST_AS), and to derive the path to some system
headers/SDK.

Differential Revision: https://phabricator.services.mozilla.com/D101714
2021-01-15 04:25:56 +00:00
Mike Hommey ea136c68b4 Bug 1686646 - Move --enable-release and DEVELOPER_OPTIONS to top-level moz.configure. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D101713
2021-01-15 04:25:54 +00:00
Mike Hommey 80cec70afd Bug 1686646 - Don't set NODEJS in mozconfigs. r=firefox-build-system-reviewers,dmajor
The code in nodeutil.py, used by configure, already looks in MOZ_FETCHES_DIR.

Differential Revision: https://phabricator.services.mozilla.com/D101712
2021-01-15 04:25:53 +00:00
Mike Hommey 2989908f9d Bug 1686646 - Remove TOOLTOOL_DIR from mozconfigs where it is unused. r=firefox-build-system-reviewers,dmajor
Differential Revision: https://phabricator.services.mozilla.com/D101711
2021-01-15 04:25:45 +00:00
Mike Hommey a9c5e28258 Bug 1480005 - Move NM to python configure. r=firefox-build-system-reviewers,nalexander
There is only one place where it's used:
config/check_vanilla_allocations.py, which is only executed from
js/src/build/Makefile.in on the condition that the build is targeting
Linux and not LTO. But the LTO test is actually outdated, because we
don't build with `-flto`, but `-flto=thin`, so the exclusion doesn't
work anymore.

There is however no AC_CHECK_PROG, and we currently rely on NM to be
given, or fall back to "nm", which works in most cases, except LTO with
clang. It works on CI because in LTO builds we explicitly set NM to
llvm-nm (which can output symbols from LLVM bitcode objects), but we
could also do that automatically.

So we add a full detection of nm/llvm-nm to python configure, and limit
it to Linux, since we only ever use it there.

Differential Revision: https://phabricator.services.mozilla.com/D101681
2021-01-14 20:17:08 +00:00
Mike Hommey 3a558130b5 Bug 1480005 - Remove check for RANLIB. r=firefox-build-system-reviewers,nalexander
It hasn't been used since bug 569597 and bug 1295937.

Differential Revision: https://phabricator.services.mozilla.com/D101680
2021-01-14 03:40:45 +00:00
Mike Hommey 647145eef9 Bug 1480005 - Look for llvm-ar for AR when compiling with clang. r=firefox-build-system-reviewers,nalexander
And stop setting AR to llvm-ar in mozconfigs.

Differential Revision: https://phabricator.services.mozilla.com/D101679
2021-01-14 03:41:39 +00:00
Mike Hommey a160c92089 Bug 1480005 - Always use llvm-lib when targetting Windows. r=firefox-build-system-reviewers,dmajor
The linker is always lld-link, as we don't support MSVC anymore, so the
fallback to "lib" is never used.

Differential Revision: https://phabricator.services.mozilla.com/D101678
2021-01-14 15:41:30 +00:00
Rob Wu 2506b7584c Bug 1680862 - Use fixed cwd in old.configure for m4 includes r=mhentges
js/src/aclocal.m4 contains includes starting with `../../`.
As explained in https://bugzilla.mozilla.org/show_bug.cgi?id=1680862#c8,
m4 will first try to resolve this path relative to the working directory
and only if that path doesn't exists, fall back to the location set by
`localdir` (from `-I`).

The working directory is usually MOZ_OBJDIR, an immediate subdirectory
of topsrcdir, so `../../` resolves to a location outside of topsrcdir.
Usually, that path does not exist, and m4 falls back to `localdir` that
was passed via `-I`.

But if that path existed and is incompatible with the current Gecko
checkout, then the build will fail (see bug report). To prevent this
from happening, this patch fixes the working directory to `localdir`,
so that m4 will immediately find the expected file.

Differential Revision: https://phabricator.services.mozilla.com/D101500
2021-01-14 18:15:12 +00:00
Aki Sasaki d409537a62 Bug 1686615 - replace pgo certs. r=kjacobs
via `./mach python build/pgo/genpgocert.py` per https://bugzilla.mozilla.org/show_bug.cgi?id=1525191#c1

Differential Revision: https://phabricator.services.mozilla.com/D101697
2021-01-14 17:35:18 +00:00
David Major 23d6295ae9 Bug 1686516 - Remove unused files clang-win64.json and clang-win64-2stage.json r=firefox-build-system-reviewers,mhentges DONTBUILD
I missed these in bug 1682405.

Additionally, after this removal, llvmorg-10-init-5191-ga84b200e604-windows-pgo.patch also becomes unused, so it is deleted too.

Differential Revision: https://phabricator.services.mozilla.com/D101633
2021-01-13 19:17:04 +00:00
Mitchell Hentges 82dd2c68f0 Bug 1686279: Support Python 3.6 with glean_parser r=sheehan
glean_parser depends on `iso8601`, but only on Python <= 3.6.
Add the `iso8601` hash to our frozen dependency hash list accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D101494
2021-01-12 21:36:11 +00:00
Mitchell Hentges e7b2115e00 Bug 1685353: Disable -Woverloaded-virtual for GCC r=firefox-build-system-reviewers,sheehan,andi,glandium
In addition to warning on regular methods overloading virtual functions,
GCC also watches for static functions doing such overloads.
:andi confirmed that this is not valuable, so the warning is being
disabled for GCC.

Differential Revision: https://phabricator.services.mozilla.com/D101367
2021-01-12 14:18:22 +00:00
Mitchell Hentges 34e20029c0 Bug 1683213: Don't warn on range-loop-analysis r=sheehan,sg,firefox-build-system-reviewers,andi,glandium
As described in
https://quuxplusone.github.io/blog/2020/08/26/wrange-loop-analysis/
range-loop-analysis warnings sometimes recommend inferior code.

Also removes pragmas that manually disable this warning.

Differential Revision: https://phabricator.services.mozilla.com/D100155
2021-01-11 15:30:45 +00:00
Mike Hommey 96dd8d7fd7 Bug 1685599 - Remove now unused macosx64-clang-9 and linux64-clang-9-macosx-cross toolchains. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D101081
2021-01-08 18:51:53 +00:00
Mike Hommey b9cdcbef46 Bug 1685599 - Build llvm-symbolizer separately. r=firefox-build-system-reviewers,mhentges
Only sanitizer builds require a native llvm-symbolizer executable.
Ideally, we'd build llvm-symbolizer from scratch, which would be faster,
but for now, let's go the easy route and just extract it from the
corresponding native clang builds.

We don't actually do anything with the llvm-symbolizer executable on
android builds, so we don't install it in $FINAL_TARGET, avoilding
the dependency on android builds (plus, we actually don't have an
android-native llvm-symbolizer, so even if it were already shipped, it
would be the wrong file).

Differential Revision: https://phabricator.services.mozilla.com/D101076
2021-01-08 18:51:52 +00:00
Ryan VanderMeulen 7f6a58e1d3 Bug 1685788 - Add AArch64 as a supported architecture for macOS. r=sylvestre DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D101211
2021-01-08 20:05:03 +00:00
Connor Sheehan 0005a8060d Bug 1684914: stop passing `-flto=thin` to gcc since it doesn't actually work r=glandium,mhentges
Passing `-flto=thin` worked previously but the value passed was just ignored
and full lto was performed. On newer versions of gcc passing an unknown value
causes failure. So this commit checks if `-flto=thin` is passed and fails with
an error message if so, else full lto is enabled if any other value is passed.

Differential Revision: https://phabricator.services.mozilla.com/D100953
2021-01-08 15:54:54 +00:00
Razvan Maries 891da67475 Backed out 6 changesets (bug 1685599) for WR bustages. CLOSED TREE
Backed out changeset 29eab2f84c77 (bug 1685599)
Backed out changeset 2839d8d39881 (bug 1685599)
Backed out changeset 3ba2f1c048c3 (bug 1685599)
Backed out changeset c7d4ecfc689a (bug 1685599)
Backed out changeset 5483ce4f5f4c (bug 1685599)
Backed out changeset 68fa5ecf205c (bug 1685599)
2021-01-08 09:04:37 +02:00
Sylvestre Ledru fe296c0858 Bug 1588710 - stack-clash-protection: enable when clang 11.0.1 is used r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D99759
2021-01-08 02:39:50 +00:00
Mike Hommey cf3c69ebe4 Bug 1685034 - Add the task-id to the clang version. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D100875
2021-01-07 17:07:15 +00:00
Mike Hommey c3d2cb844a Bug 1685599 - Remove now unused macosx64-clang-9 and linux64-clang-9-macosx-cross toolchains. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D101081
2021-01-08 00:33:35 +00:00
Mike Hommey 3128330c17 Bug 1685599 - Build llvm-symbolizer separately. r=firefox-build-system-reviewers,mhentges
Only sanitizer builds require a native llvm-symbolizer executable.
Ideally, we'd build llvm-symbolizer from scratch, which would be faster,
but for now, let's go the easy route and just extract it from the
corresponding native clang builds.

We don't actually do anything with the llvm-symbolizer executable on
android builds, so we don't install it in $FINAL_TARGET, avoilding
the dependency on android builds (plus, we actually don't have an
android-native llvm-symbolizer, so even if it were already shipped, it
would be the wrong file).

Differential Revision: https://phabricator.services.mozilla.com/D101076
2021-01-07 23:53:19 +00:00
Sylvestre Ledru 760d13f141 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
2021-01-07 16:40:09 +00:00
David Major 180d35da9f Bug 1685335 - Update to clang 11.0.1 r=firefox-build-system-reviewers,static-analysis-reviewers,andi,mhentges,sylvestre
In addition to the usual dot-release type of fixes, this also lets us drop a good amount of code that we had patched into our clang 11.

Differential Revision: https://phabricator.services.mozilla.com/D100959
2021-01-07 13:53:53 +00:00
Kartik Gautam 7ae6aea145 Bug 1684173 - Add newline character at end of files when missing r=sylvestre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D100484
2021-01-07 08:53:08 +00:00
David Major 767a9abd46 Bug 1685165 - Support clang-12 in TestNoRefcountedInsideLambdas.cpp r=static-analysis-reviewers,andi
clang-12 has gained some additional remarks for these code patterns.

Differential Revision: https://phabricator.services.mozilla.com/D100820
2021-01-05 21:47:22 +00:00
Markus Stange 504e820dc5 Bug 1685177 - Update sccache-dist documentation for new config file path. r=mhentges
The config file location on macOS recently changed from `~/Library/Preferences/Mozilla.sccache/config`
to `~/Library/Application Support/Mozilla.sccache/config`, see https://github.com/mozilla/sccache/issues/919.

Differential Revision: https://phabricator.services.mozilla.com/D100822
2021-01-05 22:15:14 +00:00
Andi-Bogdan Postelnicu 8de41d8d26 Bug 1683561 - Make `accessibility` buildable outside of `unified-build` environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100212
2021-01-05 09:47:12 +00:00
Bogdan Tara 0f44fec2ac Backed out changeset 9d5f4c9e6fdf (bug 1683213) for nsReadableUtils related bustage CLOSED TREE 2021-01-04 17:44:33 +02:00
Mitchell Hentges e370b9e0e8 Bug 1677994: Clarify that configure executes progs without using shell r=firefox-build-system-reviewers,dmajor,glandium
Some distros include flags when they specify the location of a binary,
such as: `XARGS=xargs -r`.
This was confusing in `configure`, since:
* We require that environment variables contain only path
  overrides (without flags).
* The error message thrown when configure chokes was unclear: "why
  would `$ xargs -r` fail?"

This patch should make our "path-only" requirement more clear.

Differential Revision: https://phabricator.services.mozilla.com/D100044
2021-01-04 15:18:33 +00:00
Mitchell Hentges 08adbab5c3 Bug 1683213: Don't warn on range-loop-analysis for clang < 10 r=sheehan,sg,firefox-build-system-reviewers,andi,glandium
Old clang shakes its fist when `auto&& item : range` is used with a
range
that returns values instead of references.
Modern `clang` doesn't warn for this scenario, so we disable the
warning.

Also removes pragmas that manually disable this warning.

Differential Revision: https://phabricator.services.mozilla.com/D100155
2021-01-04 15:15:46 +00:00
Andi-Bogdan Postelnicu 0fd4f87a0c Bug 1683557 - Make `image` buildable outside of `unified-build` environment. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D100211
2021-01-04 14:20:22 +00:00
Andi-Bogdan Postelnicu d5cca8c6ff Bug 1683553 - Make `hal` buildable outside of `unified-build` environment. r=gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D100210
2021-01-04 14:20:19 +00:00
Andi-Bogdan Postelnicu 7b246e293f Bug 1683551 - Make `gfx` buildable outside of `unified-build` environment. r=sg,jgilbert
Differential Revision: https://phabricator.services.mozilla.com/D100209
2021-01-04 14:20:17 +00:00
Andi-Bogdan Postelnicu 8f28b5cf01 Bug 1683540 - Make `extensions` buildable outside of `unified-build` environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100208
2021-01-04 14:18:58 +00:00
Andi-Bogdan Postelnicu b6b336c821 Bug 1683534 - Make `editor` buildable outside of `unified-build` environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100206
2021-01-04 14:18:50 +00:00
Andi-Bogdan Postelnicu 8dcc17a525 Bug 1683532 - Make `docshell` buildable outside of `unified-build` environment. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D100205
2021-01-04 14:18:37 +00:00
Emilio Cobos Álvarez 6f642487cb Bug 1684380 - Fix some configure error code paths. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D100508
2020-12-29 04:24:49 +00:00
Emilio Cobos Álvarez 78414576b9 Bug 1684350 - Update cbindgen to 0.16.0. r=andi
I was waiting for a better reason to do this, because the cbindgen
changes from 0.15.0 to 0.16.0 don't break trunk builds. But since
downstream has updated (see bug 1684180) and there's no reason not to,
let's do this to avoid future churn.

Differential Revision: https://phabricator.services.mozilla.com/D100499
2020-12-28 13:42:06 +00:00
Cosmin Sabou 2978aa00a3 Backed out changeset dbed1cdf588f (bug 1684173) for mochitest plain and devtools failures. a=backout DONTBUILD 2020-12-28 00:43:51 +02:00
Kartik Gautam 775cdec032 Bug 1684173 - Add newline character at end of files when missing r=sylvestre
Depends on D100443

Differential Revision: https://phabricator.services.mozilla.com/D100484
2020-12-27 11:43:41 +00:00
Kevin Jacobs 1eb47f6133 Bug 1684061 - land NSS 97ef009f7a78 UPGRADE_NSS_RELEASE, r=bbeurdouche
2020-12-11  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/abi-check/expected-report-libssl3.so.txt, automation/abi-
	check/previous-nss-release, lib/nss/nss.h, lib/softoken/softkver.h,
	lib/util/nssutil.h:
	Set version numbers to 3.61 Beta
	[f277d2674c80]

	* gtests/<...>
	Bug 1677207 - Update Google Test to release-1.10.0 r=bbeurdouche

	./gtests/google_test/update.sh release-1.10.0 && hg remove -A && hg
	add gtests/google_test/*

	[89141382df45]

	* gtests/<...>
	Bug 1677207 - Replace references to TestCase, which is deprecated,
	with TestSuite r=bbeurdouche

	grep -rl --exclude-dir=google_test INSTANTIATE_TEST_CASE_P gtests |
	xargs sed -i '' s/INSTANTIATE_TEST_CASE_P/INSTANTIATE_TEST_SUITE_P/g
	grep -rl --exclude-dir=google_test SetUpTestCase gtests | xargs sed
	-i '' s/SetUpTestCase/SetUpTestSuite/g

	[e15b78be87fa]

	* gtests/ssl_gtest/ssl_ciphersuite_unittest.cc,
	gtests/ssl_gtest/ssl_debug_env_unittest.cc,
	gtests/ssl_gtest/ssl_extension_unittest.cc,
	gtests/ssl_gtest/ssl_loopback_unittest.cc,
	gtests/ssl_gtest/ssl_renegotiation_unittest.cc,
	gtests/ssl_gtest/ssl_resumption_unittest.cc,
	gtests/ssl_gtest/ssl_version_unittest.cc,
	gtests/ssl_gtest/tls_ech_unittest.cc:
	Bug 1677207 - Use GTEST_SKIP in ssl_gtests. r=bbeurdouche

	[0772f1bf5fd6]

2020-12-17  Robert Relyea  <rrelyea@redhat.com>

	* gtests/common/testvectors/ike-aesxcbc-vectors.h,
	gtests/common/testvectors/ike-sha1-vectors.h,
	gtests/common/testvectors/ike-sha256-vectors.h,
	gtests/common/testvectors/ike-sha384-vectors.h,
	gtests/common/testvectors/ike-sha512-vectors.h,
	gtests/common/testvectors_base/test-structs.h,
	gtests/pk11_gtest/manifest.mn, gtests/pk11_gtest/pk11_gtest.gyp,
	gtests/pk11_gtest/pk11_ike_unittest.cc, lib/softoken/sftkike.c:
	Bug 1682071 IKE Quick mode IPSEC give you incorrect keys if you are
	asking for keys smaller than the hash size.

	IKE Appendix B fixes.

	This patch fixes 2 problems.

	 If you run either ike v1 App B or quick mode asking for a key with
	length

	mod macsize = 0, you will generate an extra block that's not used
	and overwrites the end of the buffer.

	 If you use quick mode, the function incorrectly subsets the
	existing key

	rather than generating a new key. This is correct behavior for
	Appendix B, where appendix B is trying to take a generated key and
	create a new longer key (with no diversification, just transform the
	key into something that's longer), so if you ask for a key less than
	or equal to, then you want to just subset the original key. In quick
	mode you are taking a base key and creating a set of new keys based
	on additional data, so you want to subset the generated data. This
	patch only subsets the original key if you aren't doing quickmode.

	Full test vectors have now been added for all ike modes in this
	patch as well (previously we depended on the FIPS CAVS tests to test
	ike, which covers basic IKEv1, IKEv1_psk, and IKEv2 but not IKEv1
	App B and IKE v1 Quick mode).

	[f4995c9fa185]

2020-12-18  Robert Relyea  <rrelyea@redhat.com>

	* gtests/common/testvectors/rsa_pkcs1_2048_test-vectors.h,
	gtests/common/testvectors/rsa_pkcs1_3072_test-vectors.h,
	gtests/common/testvectors/rsa_pkcs1_4096_test-vectors.h,
	gtests/freebl_gtest/Makefile, gtests/freebl_gtest/manifest.mn,
	gtests/freebl_gtest/rsa_unittest.cc, gtests/manifest.mn,
	gtests/pk11_gtest/pk11_rsaencrypt_unittest.cc,
	gtests/pk11_gtest/pk11_rsaoaep_unittest.cc, lib/freebl/alghmac.c,
	lib/freebl/alghmac.h, lib/freebl/rsapkcs.c:
	Bug 1651411 New tlsfuzzer code can still detect timing issues in RSA
	operations.

	This patch defeats Bleichenbacher by not trying to hide the size of
	the decrypted text, but to hide if the text succeeded for failed.
	This is done by generating a fake returned text that's based on the
	key and the cipher text, so the fake data is always the same for the
	same key and cipher text. Both the length and the plain text are
	generated with a prf.

	Here's the proposed spec the patch codes to:

	 1. Use SHA-256 to hash the private exponent encoded as a big-
	endian integer to a string the same length as the public modulus.
	Keep this value secret. (this is just an optimisation so that the
	implementation doesn't have to serialise the key over and over
	again) 2. Check the length of input according to step one of
	https://tools.ietf.org/html/rfc8017#section-7.2.2 3. When provided
	with a ciphertext, use SHA-256 HMAC(key=hash_from_step1,
	text=ciphertext) to generate the key derivation key 4. Use SHA-256
	HMAC with key derivation key as the key and a two-byte big- endian
	iterator concatenated with byte string "length" with the big- endian
	representation of 2048 (0x0800) as the bit length of the generated
	string.
	      - Iterate this PRF 8 times to generate a 256 byte string 5. initialise
	the length of synthetic message to 0 6. split the PRF output into 2
	byte strings, convert into big-endian integers, zero- out high-order
	bits so that they have the same bit length as the octet length of
	the maximum acceptable message size (k-11), select the last integer
	that is no larger than (k-11) or remain at 0 if no integer is
	smaller than (k-11); this selection needs to be performed using a
	side-channel free operators 7. Use SHA-256 HMAC with key derivation
	key as the key and a two-byte big-endian iterator concatenated with
	byte string "message" with the big-endian representation of k*8
	      - use this PRF to generate k bytes of output (right-truncate last HMAC
	call if the number of generated bytes is not a multiple of SHA-256
	output size) 8. perform the RSA decryption as described in step 2 of
	section 7.2.2 of rfc8017 9. Verify the EM message padding as
	described in step 3 of section 7.2.2 of rfc8017, but instead of
	outputting "decryption error", return the last l bytes of the
	"message" PRF, when l is the selected synthetic message length using
	the "length" PRF, make this decision and copy using side-channel
	free operation

	[fc05574c7399]

2020-12-22  Robert Relyea  <rrelyea@redhat.com>

	* gtests/freebl_gtest/rsa_unittest.cc,
	gtests/pk11_gtest/pk11_rsaoaep_unittest.cc, lib/freebl/alghmac.c,
	lib/freebl/rsapkcs.c:
	Restore lost portion of the bleichenbacher timing batch that
	addressed review comments. All the review comments pertained to
	actual code comments, so this patch only affects the comments.
	[fcebe146314e]

2020-12-22  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/dev/devslot.c:
	Bug 1682863 - Revert nssSlot_IsTokenPresent to 3.58 after ongoing Fx
	hangs with slow PKCS11 devices. r=bbeurdouche

	This patch reverts the `nssSlot_IsTokenPresent` changes made in bug
	1663661 and bug 1679290, restoring the version used in NSS 3.58 and
	earlier. It's not an actual `hg backout` because the comment in
	lib/dev/devt.h is worth keeping. While removing the nested locking
	did resolve the hang for some (most?) third-party modules, problems
	remain with some slower tokens after an even further relaxation of
	the locking, which defeats the purpose of addressing the races in
	the first place.

	The crash addressed by these patches was caused by the Intermediate
	Preloading Healer in Firefox, which has been disabled. We clearly
	have insufficient test coverage for third-party modules, and now
	that osclientcerts is enabled in Fx Nightly, any problems caused by
	these and similar changes is unlikely to be reported until Fx Beta,
	well after NSS RTM. I think the best option at this point is to
	simply revert NSS.

	[97ef009f7a78] [tip]

Differential Revision: https://phabricator.services.mozilla.com/D100401
2020-12-23 19:54:31 +00:00
James Graham b0ee167ce1 Bug 1683161 - Update mach venv path to include pywebsocket, r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D100054
2020-12-17 21:37:56 +00:00
David Major a70c653eb4 Bug 1681540 - Regenerate linker order files, December 2020 edition r=firefox-build-system-reviewers,mhentges
Since bug 1632542 we have a new major clang version, several new versions worth of rustc, new pass manager during LTO, and of course eight months worth of code change. Time for a refresh. Same process as the earlier bug.

Differential Revision: https://phabricator.services.mozilla.com/D99243
2020-12-17 18:24:50 +00:00
Tarek Ziadé 4c874857ed Bug 1682829 - Automate a fuzzing smoke test in the CI r=decoder
Adds a smoke test script we can use in the CI to smoke test Firefox prior to
bigger tests.

Differential Revision: https://phabricator.services.mozilla.com/D100008
2020-12-17 13:22:16 +00:00
Connor Sheehan 7e2347b01a Bug 1681560: install native packages using requirements files with pinned hashes r=firefox-build-system-reviewers,mhentges
At the moment installing Python packages with native code is done by calling
`pip install <package>` and does not enforce any SHA hash for installed
dependencies, nor does it enforce a specific version to be installed.

This commit adds `requirements.in` and `requirements.txt` files for native
packages and changes these packages to be installed by running `pip install`
and passing the requirements file for the package. This allows us to pin the
SHA of the various dependencies. The `.txt` files are generated using
`pip-compile`.

We also add the new requirements files to the sparse profile for `mach`.

Differential Revision: https://phabricator.services.mozilla.com/D99912
2020-12-16 21:02:02 +00:00
Sebastian Hengst a3e7021190 Backed out 2 changesets (bug 1588710) for frequent crashes on Linux x64 debug affecting Try pushes (bug 1679994). a=backout
Backed out changeset f0b02db01894 (bug 1588710)
Backed out changeset e45001cddaf4 (bug 1588710)
2020-12-16 11:58:47 +01:00
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