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

9496 Коммитов

Автор SHA1 Сообщение Дата
David Major 8f8ea43ab6 Bug 1677742 - Followups for new pass manager LTO r=glandium
Code review followups for 1675600: Restrict the use of new pass manager during LTO to builds where we're using the new pass manager in general, and (on Windows) where lld-link is new enough to understand the flag.

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

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

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

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

Differential Revision: https://phabricator.services.mozilla.com/D97563
2020-11-19 15:40:55 +00:00
Kevin Jacobs 54a13dccf2 Bug 1677548 - land NSS 3eacb92e9adf UPGRADE_NSS_RELEASE, r=jcj
2020-11-18  Kevin Jacobs  <kjacobs@mozilla.com>

	* lib/ssl/ssl3con.c, lib/ssl/tls13con.c, lib/ssl/tls13ech.c:
	Bug 1654332 - Fixup a10493dcfcc9: copy ECHConfig.config_id with
	socket r=jcj

	A late review change for ECH was for the server to compute each
	ECHConfig `config_id` when set to the socket, rather than on each
	connection. This works, but now we also need to copy that config_id
	when copying a socket, else the server won't find a matching
	ECHConfig to use for decryption.

	[3eacb92e9adf] [tip]

2020-11-17  Kevin Jacobs  <kjacobs@mozilla.com>

	* automation/abi-check/expected-report-libssl3.so.txt,
	cmd/tstclnt/tstclnt.c, cpputil/tls_parser.h,
	gtests/ssl_gtest/libssl_internals.c,
	gtests/ssl_gtest/libssl_internals.h, gtests/ssl_gtest/manifest.mn,
	gtests/ssl_gtest/ssl_auth_unittest.cc,
	gtests/ssl_gtest/ssl_custext_unittest.cc,
	gtests/ssl_gtest/ssl_extension_unittest.cc,
	gtests/ssl_gtest/ssl_gtest.gyp,
	gtests/ssl_gtest/ssl_tls13compat_unittest.cc,
	gtests/ssl_gtest/tls_agent.cc, gtests/ssl_gtest/tls_agent.h,
	gtests/ssl_gtest/tls_connect.cc, gtests/ssl_gtest/tls_connect.h,
	gtests/ssl_gtest/tls_ech_unittest.cc,
	gtests/ssl_gtest/tls_esni_unittest.cc,
	gtests/ssl_gtest/tls_filter.cc, gtests/ssl_gtest/tls_filter.h,
	lib/ssl/SSLerrs.h, lib/ssl/manifest.mn, lib/ssl/ssl.gyp,
	lib/ssl/ssl3con.c, lib/ssl/ssl3ext.c, lib/ssl/ssl3ext.h,
	lib/ssl/ssl3exthandle.c, lib/ssl/ssl3exthandle.h,
	lib/ssl/ssl3prot.h, lib/ssl/sslencode.c, lib/ssl/sslencode.h,
	lib/ssl/sslerr.h, lib/ssl/sslexp.h, lib/ssl/sslimpl.h,
	lib/ssl/sslinfo.c, 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/tls13esni.c,
	lib/ssl/tls13esni.h, lib/ssl/tls13exthandle.c,
	lib/ssl/tls13exthandle.h, lib/ssl/tls13hashstate.c,
	lib/ssl/tls13hashstate.h:
	Bug 1654332 - Update ESNI to draft-08 (ECH). r=mt

	This patch adds support for Encrypted Client Hello (draft-ietf-tls-
	esni-08), replacing the existing ESNI (draft -02) support.

	There are five new experimental functions to enable this:

	 - SSL_EncodeEchConfig: Generates an encoded (not BASE64) ECHConfig
	given a set of parameters.
	  - SSL_SetClientEchConfigs: Configures the provided ECHConfig to the
	given socket. When configured, an ephemeral HPKE keypair will be
	generated for the CH encryption.
	  - SSL_SetServerEchConfigs: Configures the provided ECHConfig and
	keypair to the socket. The keypair specified will be used for HPKE
	operations in order to decrypt encrypted Client Hellos as they are
	received.
	  - SSL_GetEchRetryConfigs: If ECH is rejected by the server and
	compatible retry_configs are provided, this API allows the
	application to extract those retry_configs for use in a new
	connection.
	  - SSL_EnableTls13GreaseEch: When enabled, non-ECH Client Hellos will
	have a "GREASE ECH" (i.e. fake) extension appended. GREASE ECH is
	disabled by default, as there are known compatibility issues that
	will be addressed in a subsequent draft.

	The following ESNI experimental functions are deprecated by this
	update:

	 - SSL_EncodeESNIKeys
	  - SSL_EnableESNI
	  - SSL_SetESNIKeyPair

	 In order to be used, NSS must be compiled with
	`NSS_ENABLE_DRAFT_HPKE` defined.

	[a10493dcfcc9]

	* lib/ssl/ssl3con.c, lib/ssl/sslencode.c, lib/ssl/sslencode.h,
	lib/ssl/tls13con.c, lib/ssl/tls13con.h:
	Bug 1654332 - Buffered ClientHello construction. r=mt

	This patch refactors construction of Client Hello messages. Instead
	of each component of the message being written separately into
	`ss->sec.ci.sendBuf`, we now construct the message in its own
	sslBuffer. Once complete, the entire message is added to the sendBuf
	via `ssl3_AppendHandshake`.

	`ssl3_SendServerHello` already uses this approach and it becomes
	necessary for ECH, where we use the constructed ClientHello to
	create an inner ClientHello.

	[d40121ba59ba]

2020-11-13  J.C. Jones  <jjones@mozilla.com>

	* automation/abi-check/expected-report-libnss3.so.txt, automation/abi-
	check/expected-report-libnssutil3.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.60 Beta
	[5e7b37609f22]

Differential Revision: https://phabricator.services.mozilla.com/D97492
2020-11-19 18:28:18 +00:00
Kris Wright 410eb5ffc8 Bug 1676906 - Remove unnecessary names in ThreadAllows.txt r=andi
Sometimes thread names bit rot in the list because there is no checker in place to ensure they are still active. The threads I removed have either:
	-Been converted to use the background thread pool
	-Been removed entirely
	-Been renamed
And they no longer require entries in the list.

Differential Revision: https://phabricator.services.mozilla.com/D96846
2020-11-19 16:00:56 +00:00
David Major c1d61912d3 Bug 1677839 - Re-allow new pass manager on aarch64-windows builds r=firefox-build-system-reviewers,mhentges
The SEH unwind info problem no longer happens because nowadays bug 1631929 prevents the code pattern that led to it. I've confirmed that bug 1626951's bustage doesn't come back, both in regular and beta-simulation builds.

This cleanup will allow me to reverse the dependency in bug 1677742 and have `lto` depend on `new_pass_manager_flags`.

Differential Revision: https://phabricator.services.mozilla.com/D97362
2020-11-17 22:25:32 +00:00
Mike Hommey abd6c007c3 Bug 1677651 - Report exact version of clang for last known Xcode. r=firefox-build-system-reviewers,mhentges
Currently, we report "10.0.0.or.more" for the latest release of Xcode,
but we know it's 10.0.0 for sure, which is when the clang version
reported by Xcode is exactly 12.0.0. We know that in the past a bump of
LLVM has always been accompanied with a bump of the minor version, so we
expect no LLVM version bump until at least 12.0.1.

Differential Revision: https://phabricator.services.mozilla.com/D97241
2020-11-17 15:56:31 +00:00
Andi-Bogdan Postelnicu e9fbba867c Bug 1666550 - Update `clang-tools` to `clang-11`. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D97137
2020-11-17 15:04:14 +00:00
Andi-Bogdan Postelnicu aac5ac29dc Bug 1626555 - Add `dom/xul` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97197
2020-11-17 09:28:10 +00:00
David Major c7dcbe9387 Bug 1675600 - Use the new pass manager during LTO r=firefox-build-system-reviewers,glandium
Currently, in LTO builds, we use the new pass manager during the initial translation to bitcode but not for the final optimization during linking.

On Linux, we can enable the new pass manager during LTO with a plugin option. I've landed a patch upstream to allow it on Windows as well, which is included here.

Switching the pass manager brings speed improvements on its own, but it also reduces code size by ~6%, which we can use a portion of as budget to increase the import limit (via the hot multiplier) for even more speed improvements.

Differential Revision: https://phabricator.services.mozilla.com/D96108
2020-11-17 04:07:54 +00:00
Andi-Bogdan Postelnicu 927d2292fd Bug 1626555 - Add `dom/xlst` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97192
2020-11-16 19:57:48 +00:00
Andi-Bogdan Postelnicu ce6a5ee2f7 Bug 1626555 - Add `dom/xml` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97191
2020-11-16 19:57:45 +00:00
Andi-Bogdan Postelnicu 25816ebd9a Bug 1626555 - Add `dom/xhr` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97187
2020-11-16 19:57:35 +00:00
Andi-Bogdan Postelnicu 0c905d6304 Bug 1626555 - Add `dom/worklet` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97175
2020-11-16 19:57:25 +00:00
Andi-Bogdan Postelnicu 65e3d61d13 Bug 1626555 - Add `dom/workers` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97170
2020-11-16 19:57:14 +00:00
Andi-Bogdan Postelnicu 522be9da14 Bug 1626555 - Add `dom/webgpu` to the list of non-unified-build-compatible directories. r=sg,kvark
Differential Revision: https://phabricator.services.mozilla.com/D97166
2020-11-16 19:57:04 +00:00
Noemi Erli f24bd4fcff Backed out 4 changesets (bug 1666345, bug 1661624, bug 1667152, bug 1666347) for causing mochitest failures CLOSED TREE
Backed out changeset 8ce536574e74 (bug 1666347)
Backed out changeset 7cc5b13a3bf6 (bug 1666345)
Backed out changeset e112876ba18b (bug 1661624)
Backed out changeset 0f03ce337449 (bug 1667152)
2020-11-16 21:06:12 +02:00
Ricky Stewart 96400f472d Bug 1666347 - Delete assorted dead code after removal of vendored `psutil` r=firefox-build-system-reviewers,mhentges
Most of the deletions here come from bug 1481612, the `--with-windows-wheel` option to `mach vendor python`, which according to that commit message "is very single-purpose: it's intended to let us vendor an unpacked
wheel for psutil on Windows". Since vendoring `psutil` is something we're no longer doing, we can safely just delete that added code.

Differential Revision: https://phabricator.services.mozilla.com/D90919
2020-11-13 19:18:03 +00:00
Ricky Stewart d8119e6288 Bug 1661624 - Include `psutil` in the `mach` `virtualenv`s r=firefox-build-system-reviewers,mhentges
Install `psutil` when setting up the `mach` `virtualenv`s and stop importing the in-tree version in the build.

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

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

Differential Revision: https://phabricator.services.mozilla.com/D90914
2020-11-13 20:21:45 +00:00
Razvan Maries bd8ba64c9d Backed out 2 changesets (bug 1626555) as per Andi's request. CLOSED TREE
Backed out changeset 22e23d9340a2 (bug 1626555)
Backed out changeset 02ea10ade875 (bug 1626555)
2020-11-16 18:45:15 +02:00
Andi-Bogdan Postelnicu 2b26dd3b3b Bug 1626555 - Add `dom/workers` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97170
2020-11-16 15:56:30 +00:00
Andi-Bogdan Postelnicu 575adf71a5 Bug 1626555 - Add `dom/webgpu` to the list of non-unified-build-compatible directories. r=sg,kvark
Differential Revision: https://phabricator.services.mozilla.com/D97166
2020-11-16 15:37:09 +00:00
Andi-Bogdan Postelnicu bfa29c9f3f Bug 1626555 - Add `dom/websocket` to the list of non-unified-build-compatible directories. r=sg
Depends on D97121

Differential Revision: https://phabricator.services.mozilla.com/D97122
2020-11-16 10:23:00 +00:00
Andi-Bogdan Postelnicu c3630ad787 Bug 1626555 - Add `dom/webshare` to the list of non-unified-build-compatible directories. r=sg
Depends on D97120

Differential Revision: https://phabricator.services.mozilla.com/D97121
2020-11-16 10:22:47 +00:00
Andi-Bogdan Postelnicu 9259dbc890 Bug 1626555 - Add `dom/webidl` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D97120
2020-11-16 10:22:34 +00:00
David Major 864a71324c Bug 1677147 - Update build-clang.py for "llvmbuildectomy" r=firefox-build-system-reviewers,mhentges
A recent change upstream [0] removed llvm-build, so we can't test for its files anymore.

[0] 9218ff50f9

Differential Revision: https://phabricator.services.mozilla.com/D97017
2020-11-14 03:15:54 +00:00
Mihai Alexandru Michis 06103d0e92 Backed out 3 changesets (bug 1666345, bug 1667152, bug 1661624) for causing mochitest timeouts.
CLOSED TREE

Backed out changeset baa1f7a615e4 (bug 1666345)
Backed out changeset b6646baa866d (bug 1661624)
Backed out changeset e4d550db6037 (bug 1667152)
2020-11-13 22:14:45 +02:00
Mihai Alexandru Michis 57a979f85c Backed out changeset d1dd480fd638 (bug 1666347) for causing mochitest timeouts. 2020-11-13 21:13:25 +02:00
Mitchell Hentges 967783d0db Bug 1676915: Add documentation page about Unified Builds r=firefox-build-system-reviewers,mstange,dmajor DONTBUILD
Describe what unified builds are and how they can cause innocuous
changes to cause unexpected compilation failures.

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

Differential Revision: https://phabricator.services.mozilla.com/D90919
2020-11-12 18:02:10 +00:00
Ricky Stewart 69321f149f Bug 1661624 - Include `psutil` in the `mach` `virtualenv`s r=firefox-build-system-reviewers,mhentges
Install `psutil` when setting up the `mach` `virtualenv`s and stop importing the in-tree version in the build.

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

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

Differential Revision: https://phabricator.services.mozilla.com/D90914
2020-11-13 03:03:33 +00:00
Mitchell Hentges eef15c6006 Bug 1676951: Improve "on Windows" * 2 sentence r=smacleod DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D96904
2020-11-12 20:39:19 +00:00
smolnar 1e6e466d99 Backed out 4 changesets (bug 1666347, bug 1667152, bug 1661624, bug 1666345) for causing mingw bustage. CLOSED TREE
Backed out changeset 19f707f5c097 (bug 1666347)
Backed out changeset 3732ee259759 (bug 1666345)
Backed out changeset 353d3c9e74b9 (bug 1661624)
Backed out changeset a651515586a8 (bug 1667152)
2020-11-12 19:55:58 +02:00
Ricky Stewart 15a9bfbe36 Bug 1666347 - Delete assorted dead code after removal of vendored `psutil` r=firefox-build-system-reviewers,mhentges
Most of the deletions here come from bug 1481612, the `--with-windows-wheel` option to `mach vendor python`, which according to that commit message "is very single-purpose: it's intended to let us vendor an unpacked
wheel for psutil on Windows". Since vendoring `psutil` is something we're no longer doing, we can safely just delete that added code.

Differential Revision: https://phabricator.services.mozilla.com/D90919
2020-10-27 21:15:08 +00:00
Ricky Stewart 55f90afcca Bug 1661624 - Include `psutil` in the `mach` `virtualenv`s r=firefox-build-system-reviewers,mhentges
Install `psutil` when setting up the `mach` `virtualenv`s and stop importing the in-tree version in the build.

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

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

Differential Revision: https://phabricator.services.mozilla.com/D90914
2020-11-12 15:58:05 +00:00
David Major 02b04550c6 Bug 1676669 - Trim some context on downgrade-mangling-error.patch for clang-12 r=firefox-build-system-reviewers,rstewart
Some of the surrounding lines recently changed so the patch refuses to apply. We can live with less context so I'd rather trim it than make a new clang-12 version of this patch.

Differential Revision: https://phabricator.services.mozilla.com/D96725
2020-11-11 16:19:25 +00:00
Sylvestre Ledru c7deb74f61 Bug 1670807 - Look for gm4 in addition to m4 r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D94305
2020-11-10 19:19:31 +00:00
Butkovits Atila 5e745619d9 Backed out changeset f38410c45877 (bug 1670807) for linting failures. CLOSED TREE 2020-11-10 20:37:44 +02:00
Sylvestre Ledru 8340ccd1e1 Bug 1670807 - Look for gm4 in addition to m4 r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D94305
2020-11-10 18:05:58 +00:00
Andi-Bogdan Postelnicu 6121332b48 Bug 1626555 - Add `dom/webbrowserpersist` to the list of non-unified-build-compatible directories. r=sg
Depends on D96590

Differential Revision: https://phabricator.services.mozilla.com/D96593
2020-11-10 16:18:01 +00:00
Andi-Bogdan Postelnicu 649fe4a141 Bug 1626555 - Add `dom/webauthn` to the list of non-unified-build-compatible directories. r=sg
Depends on D96586

Differential Revision: https://phabricator.services.mozilla.com/D96590
2020-11-10 16:32:16 +00:00
Andi-Bogdan Postelnicu 265193a613 Bug 1626555 - Add `dom/vr` to the list of non-unified-build-compatible directories. r=sg
Depends on D96573

Differential Revision: https://phabricator.services.mozilla.com/D96586
2020-11-10 16:08:48 +00:00
Andi-Bogdan Postelnicu 446acb4cea Bug 1626555 - Add `dom/url` to the list of non-unified-build-compatible directories. r=sg
Depends on D96572

Differential Revision: https://phabricator.services.mozilla.com/D96573
2020-11-10 13:43:07 +00:00
Andi-Bogdan Postelnicu ff9bb66d6f Bug 1626555 - Add `dom/u2f` to the list of non-unified-build-compatible directories. r=sg
Depends on D96571

Differential Revision: https://phabricator.services.mozilla.com/D96572
2020-11-10 13:43:05 +00:00
Andi-Bogdan Postelnicu 9c73ee47bf Bug 1626555 - Add `dom/tests` to the list of non-unified-build-compatible directories. r=sg
Depends on D96570

Differential Revision: https://phabricator.services.mozilla.com/D96571
2020-11-10 13:42:06 +00:00
Andi-Bogdan Postelnicu 3e53bbe010 Bug 1626555 - Add `dom/system` to the list of non-unified-build-compatible directories. r=sg
Depends on D96569

Differential Revision: https://phabricator.services.mozilla.com/D96570
2020-11-10 13:41:58 +00:00
Andi-Bogdan Postelnicu b9bd386da7 Bug 1626555 - Add `dom/svg` to the list of non-unified-build-compatible directories. r=sg
Differential Revision: https://phabricator.services.mozilla.com/D96569
2020-11-10 13:44:03 +00:00
Emilio Cobos Álvarez 440671e906 Bug 1676307 - Search for sccache in the toolchain search path. r=firefox-build-system-reviewers,mhentges
So that ac_add_options --with-ccache=sccache just works.

Differential Revision: https://phabricator.services.mozilla.com/D96501
2020-11-10 13:11:49 +00:00