Commit Graph

8280 Commits

Author SHA1 Message Date
Yaron Tausky
7892bfc18a Bug 1554989 - Fix implicit checker on inheriting constructors r=andi
Inheriting constructors are implicitly introduced via a using-declaration.
Since the C++ grammar doesn't allow attributes on using-declarations, it
is currently impossible to add MOZ_IMPLICIT to implicit inheriting
constructors.

This commit changes the AST matcher such that it ignores inheriting
constructors altogether. If they are inheriting from an implicit inherited
constructor, that constructor's check should be enough to ensure that no
constructors are unintentionally implicit.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 11:36:46 +00:00
David Major
6fe1e35fab Bug 1553864 - Clean up some VS2015 PGO build config code r=nalexander
This code was already dead during the VS2017 era (since that compiler changed to the `Hostx64\x86` path scheme), let alone clang-cl.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 20:30:31 +00:00
Mike Shal
e52ded1092 Bug 1553065 - Move profile-use mozconfig info into common mozconfigs; r=firefox-build-system-reviewers,chmanchester
The 3-tier PGO builds used a separate mozconfig called 'profile-use' for
the final tier. This created a problem when it rode to beta, since the
same mozconfig was used for all trees, which meant we ended up with
nightly branding on beta builds.

With the PGO-enabling logic in common mozconfigs, we can enable it by
setting the MOZ_PGO_PROFILE_USE environment variable from the task
definition. All of the final-tier PGO builds now use the nightly, beta,
etc mozconfigs like before, so branding should be intact.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:56:16 +00:00
Mike Shal
f5680f2fee Bug 1553065 - Use MOZ_LTO environment variable in mozconfig.unix; r=firefox-build-system-reviewers,chmanchester
This makes it consistent with bug 1530908 and 1536194.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:56:12 +00:00
Cosmin Sabou
85466f08fd Backed out 2 changesets (bug 1486042) for causing crashes @ servo_arc::Arc<T>::drop_slow. CLOSED TREE
Backed out changeset 5e85998c4d97 (bug 1486042)
Backed out changeset d083a8bd98ed (bug 1486042)
2019-06-01 02:19:19 +03:00
Nathan Froyd
915bec197e Bug 1486042 - default clang-cl pgo to use cross-language LTO; r=dmajor
This change is a little bit of a cheat, because of course MSVC doesn't
do cross-language LTO by default, but it seems consistent.

Depends on D33317

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

--HG--
extra : moz-landing-system : lando
2019-05-31 17:24:02 +00:00
Gijs Kruitbosch
871405553f Bug 1196094 - use e10s when doing PGO profiling, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32329

--HG--
extra : moz-landing-system : lando
2019-05-31 14:18:05 +00:00
Gijs Kruitbosch
fd337bafb4 Bug 1196094 - disable _exit in child processes when generating profile information, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D33269

--HG--
extra : moz-landing-system : lando
2019-05-31 14:17:47 +00:00
Mark Banner
b7e2ea03ab Bug 1555300 - .eslintignore no longer needs to ignore directories with no js files. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D32993

--HG--
extra : source : 0d2958471c0885b7acdfbeba557b109f1b403da4
2019-05-31 08:49:17 +00:00
Mihai Alexandru Michis
5e31eadf72 Backed out changeset 0d2958471c08 (bug 1555300) for spidermonkey bustages. CLOSED TREE 2019-05-31 12:17:38 +03:00
Mark Banner
ef018717ee Bug 1555300 - .eslintignore no longer needs to ignore directories with no js files. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D32993

--HG--
extra : moz-landing-system : lando
2019-05-31 08:49:17 +00:00
Mike Hommey
cfe985532a Bug 1554928 - Remove configure options that have been deprecated for a while. r=nalexander
- DISABLE_SHARED_JS and DISABLE_EXPORT_JS have been deprecated for 3
years,
- MOZ_JEMALLOC4 has been deprecated for 2 years.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 02:01:02 +00:00
Cosmin Sabou
4b7060c540 Backed out changeset f593f5a5bfa3 (bug 1555346) for build bustages on llvm-profdata. CLOSED TREE 2019-05-29 19:14:25 +03:00
Nathan Froyd
74a42ff95b Bug 1555346 - require llvm-profdata when using pgo with clang{,-cl}; r=dmajor
Detecting problems earlier is better than detecting them later.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 15:59:18 +00:00
Ehsan Akhgari
4cb428d268 Bug 1555205 - Move db/sqlite3 to third_party/; r=mak
Differential Revision: https://phabricator.services.mozilla.com/D32939

--HG--
rename : db/sqlite3/README => third_party/sqlite3/README
rename : db/sqlite3/README.MOZILLA => third_party/sqlite3/README.MOZILLA
rename : db/sqlite3/src/moz.build => third_party/sqlite3/src/moz.build
rename : db/sqlite3/src/sqlite.symbols => third_party/sqlite3/src/sqlite.symbols
rename : db/sqlite3/src/sqlite3.c => third_party/sqlite3/src/sqlite3.c
rename : db/sqlite3/src/sqlite3.h => third_party/sqlite3/src/sqlite3.h
extra : moz-landing-system : lando
2019-05-29 10:16:29 +00:00
Kagami Sascha Rosylight
4d696c5df3 Bug 1554186: Fix Python 3 negative import level error r=glandium
Negative value for import level is obsolete in Python 3, which was used on Py2 for implicit relative import. This change ensures the level value to be >=0 on Py3 to fix test failures.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 07:58:19 +00:00
Justin Wood
dbf256c14c Bug 1547730 - Update a build moz.configure function, to support py3 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D28115

--HG--
extra : moz-landing-system : lando
2019-05-28 14:28:43 +00:00
Mihai Alexandru Michis
bf0f822195 Backed out changeset 8b110b9889c3 (bug 1196094) as requested by Gijs. 2019-05-28 16:01:19 +03:00
Mike Hommey
69fe19f2a6 Bug 1554043 - Make the valgrind-test error when valgrind exits with a non-zero code slightly more useful. r=dmajor
The exit code from valgrind may subtly indicate how it failed (like, if
it's 139 or 137, which would mean respectively segfault or killed by
something external), which is currently completely hidden, making
diagnostics of things like bug 1545094 harder.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:47:13 +00:00
Gijs Kruitbosch
bd641f5fa6 Bug 1196094 - use e10s when doing PGO profiling, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32329

--HG--
extra : moz-landing-system : lando
2019-05-27 09:05:21 +00:00
Nathan Froyd
0839a1bd24 Bug 1542746 - remove code for frontend-based PGO instrumentation; r=dmajor
We're moving to IR-level PGO instrumentation for clang-cl.  We've also
moved to using static linker ordering files, which was the primary
application of the previous style of PGO instrumentation.  We therefore
we no longer need this code.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:00:38 +00:00
Nathan Froyd
875e72df9f Bug 1542746 - switch clang{,-cl} to use IR-based instrumentation for PGO; r=firefox-build-system-reviewers,chmanchester
This form of instrumentation is more like our other platforms, and also
opens the possibility of interacting properly with Rust IR-level PGO.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 19:52:41 +00:00
Nathan Froyd
2b3a15afe9 Bug 1542746 - use a static MOZ_PROFILE_ORDER_FILE; r=nalexander,chmanchester
We're planning on switching to IR-based profiling, so we can't use the
frontend-based instrumentation to collect the order in which functions
are executed...at least not during the build itself.  Performance tests
indicate that not having the order information decreases performance
significantly.  So we're going to check in static files for Win32 and
Win64 and use those to perform the ordering.  It's OK if these files are
slightly out of date; as of this writing, builds that generate and then
use these files complain that ~1/3 of the functions can't be found (!).
We're just trying to do something slightly smarter than whatever the
linker default is.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:54:59 +00:00
Nathan Froyd
93a44ee14e Bug 1553972 - make --with-pgo-profile-path take a directory; r=nalexander
e10s profiling or IR-based PGO instrumentation will both produce
multiple `.profraw` files that need to be handled in some way.  Since
clang's `-fprofile-generate` option takes a directory, it seems fitting
to make `--with-pgo-profile-path` mirror that by taking a directory, and
letting `merge_profdata.py` deal with whatever files it might find in
said directory.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:53:59 +00:00
Kagami Sascha Rosylight
bead355959 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-23 03:57:17 +00:00
Mike Hommey
146d61ba71 Bug 1530650 - Add --cap-lints warn to RUSTFLAGS when not building with --enable-warnings-as-errors. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32080

--HG--
extra : moz-landing-system : lando
2019-05-22 12:59:01 +00:00
Chris Manchester
a18c4d2cbd Bug 1553339 - Abandon "2" in name of sccache toolchain artifacts. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D32218

--HG--
extra : moz-landing-system : lando
2019-05-22 21:06:16 +00:00
Brindusan Cristian
952521e616 Backed out changeset fa4c37c31dfd (bug 1550956) as requested by mikedeboer on IRC for causing mach to stop working on Python 2. a=backout 2019-05-22 12:33:23 +03:00
Kagami Sascha Rosylight
2dd546dac6 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-21 18:38:46 +00:00
Nathan Froyd
37d0db29a9 Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 17:53:44 +00:00
Andreea Pavel
58566309c2 Backed out changeset ae7096d1add7 (bug 1551690) for toolchain bustages on a CLOSED TREE 2019-05-21 17:05:24 +03:00
Nathan Froyd
d49bc5f0ef Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 13:48:23 +00:00
Coroiu Cristina
c4361da40f Backed out changeset 2e560a9e4bcf (bug 1551690) for build bustages 2019-05-21 03:51:56 +03:00
Nathan Froyd
dc2ad25275 Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 21:13:17 +00:00
Tom Ritter
505cced8b9 Bug 1471698 - Switch the mingw clang compiler to the 8 branch r=froydnj
This will match the compiler version Tor would like. We backport several
llvm-objcopy patches that landed right after the 8 branch though. We
also grab some upstream changes from mingw-clang in the build script

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

--HG--
extra : moz-landing-system : lando
2019-05-17 19:21:15 +00:00
David Major
12a5d86407 Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 17:53:37 +00:00
Bastien Orivel
e661e801af Bug 1552695 - Part 1: Deduplicate syn and quote. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31737

--HG--
extra : moz-landing-system : lando
2019-05-20 12:21:20 +00:00
Coroiu Cristina
55a63d1520 Backed out 2 changesets (bug 1523526, bug 1526443) for Be bustage on Windows AArch on a CLOSED TREE
Backed out changeset 98013639d600 (bug 1526443)
Backed out changeset e8ac4b512f9d (bug 1523526)
2019-05-20 20:21:56 +03:00
David Major
f0dc4b3dbe Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 18:38:23 +00:00
Gijs Kruitbosch
1722aa9085 Bug 1552425 - re-disable e10s when generating PGO profile data to fix speedometer perf regression r=froydnj
Bug 1548941 restricted under which circumstances we allow the
browser.tabs.remote.autostart pref to turn off e10s. The PGO profileserver.py
script relied on the unittest-required user.js prefs collection to turn off
e10s (see also bug 1196094) via this pref. For PGO builds, we do not set the
MOZ_DISABLE_NONLOCAL_CONNECTIONS env var, which meant that we stopped
honouring the pref to turn off e10s. Unfortunately, this meant that
e10s was inadvertently now switched on for the pgo profiling, which
negatively impacted speedometer on PGO builds (and possibly other tests).

All this change does is re-disable e10s for PGO profiling. We should
investigate how to turn e10s on "properly" for PGO, but we can do that in
bug 1196094, without taking this temporary regression, especially as 68
branches.

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

--HG--
extra : moz-landing-system : lando
2019-05-19 13:26:13 +00:00
Chris Manchester
5fa8ca19bf Bug 1552021 - Add an option to turn off rust incremental compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31341

--HG--
extra : moz-landing-system : lando
2019-05-17 23:00:30 +00:00
Emilio Cobos Álvarez
dba21ae038 Bug 1552476 - Ensure we pass a string to CDLL on Windows. r=froydnj
Apparently it doesn't deal very well with unicode objects.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 19:16:55 +00:00
Emilio Cobos Álvarez
cee627fc60 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:24:17 +00:00
Ciure Andrei
00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Emilio Cobos Álvarez
e10c38f6f4 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

Differential Revision: https://phabricator.services.mozilla.com/D30799
2019-05-16 16:24:36 +02:00
Kevin Jacobs
b93f23a66b Bug 1535210 - Set SSL STATE_IS_BROKEN flag for TLS1.0 and TLS 1.1 connections. r=keeler
Differential Revision: https://phabricator.services.mozilla.com/D29576

--HG--
extra : moz-landing-system : lando
2019-05-15 23:34:52 +00:00
Emilio Cobos Álvarez
c74f3a885b Bug 1549762 - Don't build mozglue linker tests if building with icecream. r=glandium
As icecream doesn't deal well with .incbin.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:40:23 +00:00
Emilio Cobos Álvarez
56a3566948 Bug 1551618 - Check for libclang >= 4.0 in configure. r=froydnj
This is better than failing with obscure rust errors later on.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:11:52 +00:00
Nathan Froyd
85925b5be6 Bug 1547196 - remove rustup wrapper from rustc as well as cargo; r=glandium
Having `rustc` be `rustup`'s wrapper for `rustc` means that we may
silently honor `rustup`'s override mechanisms.  We noticed this first on
OS X, where we use the "real" `cargo` but `rustup`'s `rustc` wrapper,
and problems ensued when `cargo` thought it was using one version of
`rustc`, but actually wound up using something different.

It seems better to avoid silently interposing `rustup`'s toolchain
override mechanisms everywhere, rather than having to special-case OS
X.  So let's factor out a general mechanism for removing the wrappers
`rustup` provides and use that for both `rustc` and `cargo`.  The tests
need adjusting because we weren't triggering the unwrapping cases
before; we don't yet test the case where we really do need to unwrap.
That test can be left for a future patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 05:43:19 +00:00
Nathan Froyd
1396262e0e Bug 1550868 - enforce a minimum version of clang-cl; r=glandium
We've not been checking the clang-cl version in use.  This lack of
checking is bad, for a couple of reasons:

* Released versions of clang-cl differ drastically in their robustness;
* Only the most recent version of clang-cl supports aarch64.

We should check for a minimum version of clang-cl, just like our other
supported compilers.  As a bonus, we can then start depending on
features that we know appear in the particular minimum clang-cl
version.  (The current patch is motivated by `/clang:` command-line
support, but one could pick other things.)

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

--HG--
extra : moz-landing-system : lando
2019-05-14 14:22:55 +00:00
Sebastian Streich
99e0852267 Bug 1402530 - Use IsOriginPotentiallyTrustworthy in ShouldLoad r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D30917

--HG--
extra : moz-landing-system : lando
2019-05-13 14:40:40 +00:00
Nathan Froyd
f104ce2b4a Bug 1546438 - add a cross option to MOZ_LTO for cross-language LTO; r=mshal
This option is for performing LTO between C++ code and Rust code.  The
actual build pieces for Rust code are coming in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:16:36 +00:00
Nathan Froyd
ae023b43de Bug 1549794 - add sysroot flags for the macOS SDK to bindgen's flags; r=nalexander
We already do this for the compiler that we detect via
toolchain.configure...but as the comment in `basic_bindgen_cflags`
alludes to, we don't actually use that compiler here.  We use a much
more bare-bones compiler, so we have to add the necessary flags manually.

We need to make `--with-macos-sdk` a `js_option` so that uses of bindgen
in the JS engine will receive the proper flags.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:07:34 +00:00
Gijs Kruitbosch
c14acdeadd Bug 1548941 - remove e10s force-enable and force-disable prefs, and on desktop restrict 'normal' e10s pref to automation and unofficial builds, r=bholley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D29892

--HG--
extra : moz-landing-system : lando
2019-05-09 21:55:46 +00:00
Noemi Erli
1c65279044 Backed out changeset 38ce182f68ea (bug 1402530) for build bustages in nsMixedContentBlocker.cpp CLOSED TREE 2019-05-09 17:29:38 +03:00
Sebastian Streich
db1660661f Bug 1402530 - Use IsOriginPotentiallyTrustworthy in ShouldLoad r=ckerschb,jkt
Differential Revision: https://phabricator.services.mozilla.com/D28870

--HG--
extra : moz-landing-system : lando
2019-05-07 18:08:19 +00:00
Mike Hommey
fa3631a2e3 Bug 1549886 - Move MOZ_TELEMETRY_REPORTING to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30335

--HG--
extra : moz-landing-system : lando
2019-05-08 14:33:54 +00:00
Andreea Pavel
0a95eec6ae Backed out changeset 4e2250bbaed3 (bug 1548941) for failing test_gpuprocess.js on a CLOSED TREE 2019-05-08 22:55:45 +03:00
Gijs Kruitbosch
65eb7a47aa Bug 1548941 - remove e10s force-enable and force-disable prefs, and on desktop restrict 'normal' e10s pref to automation and unofficial builds, r=bholley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D29892

--HG--
extra : moz-landing-system : lando
2019-05-08 15:56:53 +00:00
Alexis Beingessner
1017bd764c Bug 1525402 - Bump cbindgen to 0.8.6. r=kvark
This version adds support for Rust 2018's new externs

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

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:15 +00:00
Nick Alexander
a7e3d82701 Bug 1543247 - Part 1: Add mach browsertime command that installs and invokes browsertime. r=Standard8,ahal
[browsertime](https://github.com/sitespeedio/browsertime) is a harness
for running performance tests, similar to Mozilla's Raptor testing
framework.  The Performance Team is using it locally with some
success, but we're running a heavily modified toolchain that is
challenging to install.  This mach command is intended to be leverage
for getting more folks able to use browsertime easily.

In particular, the version of browsertime that this installs has
nalexander's changes to support testing GeckoView-based vehicles.  If
this approach meets with approval, I'll continue to follow-up with
additional configuration and tooling layers to make it even easier to
drive GeckoView-based vehicles.

I elected to piggy-back install on the eslint installation process,
since this is very similar.  To that end, I generalized what was there
very slightly.  I elected not to try to move the existing code into a
more obvious shared location, although it might be possible, because
it wasn't clear what contexts the existing code would be invoked
from.  In particular I wasn't certain the code could rely on a
complete mozbuild checkout.

I did need to ensure the local Node.js binary is early on the PATH;
this was an issue I ran into with my initial Node/Yarn prototyping
many months ago.  At heart the issue is that package scripts in the
wild invoke a bare `node` or `npm` command; if there was a culture of
invoking $NODE or $NPM, this wouldn't be necessary.  There's no harm
doing it for ESlint, and it will help the next person who wants to
install an NPM package for tooling in this manner.

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

--HG--
extra : moz-landing-system : lando
2019-05-06 23:56:49 +00:00
Ryan VanderMeulen
40c297ce51 Bug 1548916 - Add support for specifying a custom path for app version files. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D29918

--HG--
extra : moz-landing-system : lando
2019-05-06 23:19:44 +00:00
Kartikaya Gupta
3068d94ed2 Bug 1549554 - Use biplist instead of plistlib so we can parse SDKSettings.plist in the 10.14 SDK. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D30097

--HG--
extra : moz-landing-system : lando
2019-05-06 20:11:16 +00:00
Razvan Maries
12bcfbb334 Backed out 2 changesets (bug 1543247) for build bustages. CLOSED TREE
Backed out changeset feb726e4f15d (bug 1543247)
Backed out changeset 4b3619d89abd (bug 1543247)
2019-05-04 03:10:55 +03:00
Nick Alexander
6df6c7ee39 Bug 1543247 - Part 1: Add mach browsertime command that installs and invokes browsertime. r=Standard8,ahal
[browsertime](https://github.com/sitespeedio/browsertime) is a harness
for running performance tests, similar to Mozilla's Raptor testing
framework.  The Performance Team is using it locally with some
success, but we're running a heavily modified toolchain that is
challenging to install.  This mach command is intended to be leverage
for getting more folks able to use browsertime easily.

In particular, the version of browsertime that this installs has
nalexander's changes to support testing GeckoView-based vehicles.  If
this approach meets with approval, I'll continue to follow-up with
additional configuration and tooling layers to make it even easier to
drive GeckoView-based vehicles.

I elected to piggy-back install on the eslint installation process,
since this is very similar.  To that end, I generalized what was there
very slightly.  I elected not to try to move the existing code into a
more obvious shared location, although it might be possible, because
it wasn't clear what contexts the existing code would be invoked
from.  In particular I wasn't certain the code could rely on a
complete mozbuild checkout.

I did need to ensure the local Node.js binary is early on the PATH;
this was an issue I ran into with my initial Node/Yarn prototyping
many months ago.  At heart the issue is that package scripts in the
wild invoke a bare `node` or `npm` command; if there was a culture of
invoking $NODE or $NPM, this wouldn't be necessary.  There's no harm
doing it for ESlint, and it will help the next person who wants to
install an NPM package for tooling in this manner.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 22:44:23 +00:00
Mike Shal
035996e0ef Bug 1523324 - Add retries to upload_generated_sources.py; r=nalexander
Occasionally the taskcluster fetches can fail, so make sure the requests
library automatically retries if possible.

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

--HG--
extra : moz-landing-system : lando
2019-05-03 23:26:51 +00:00
Dan Minor
e2aee8c88f Bug 1540760 - Make it possible to use clang-cl as an assembler; r=firefox-build-system-reviewers,mshal
Some media libraries use gas syntax in their assembly files. Rather than
converting these arm assembly syntax files for aarch64, we can use clang-cl
to build them directly.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 15:04:48 +00:00
Rob Thijssen
c00716af37 Bug 1543026 - enable sccache on gcp r=wcosta
this change comprises the in-tree changes required to make use of sccache in gcp.
specifically:
- a gcp metadata lookup for availability-zone is added to mozconfig, enabling a build to determine its regional gcp sccache bucket
- the sccache cargo build command is modified to include the gcs feature when the environment contains gcs configuration

note that further changes are required on infra to support sccache use. the required changes already [exist](https://github.com/mozilla-releng/OpenCloudConfig/commit/1d515dc) and are enabled for gcp windows infra, including:
- a json credential file on the build instance filesystem, containing credentials valid for the appropriate scm level bucket for the gcp region
- an `SCCACHE_GCS_KEY_PATH` env variable containing the path to the json credential file
- an `SCCACHE_GCS_RW_MODE` env variable containg the text `READ_WRITE`
- sccache buckets must exist for each region and scm levels 1 & 3
- credentials for scm level 1 buckets **must not** be valid for scm level 3 buckets

on gcp systems which do not contain credential files and the above mentioned env variables (eg gecko-[1-3]-b-linux), sccache should fail gracefully without breaking builds.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 12:56:20 +00:00
Sylvestre Ledru
e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

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

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Geoff Brown
ad07ef3e50 Bug 1548137 - Change bug component for build/mobile; r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D29428

--HG--
extra : moz-landing-system : lando
2019-04-30 22:45:44 +00:00
Mike Hommey
e958e4adc0 Bug 1536543 - Require rust 1.34. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25896

--HG--
extra : moz-landing-system : lando
2019-04-30 22:16:11 +00:00
Nathan Froyd
20f2bebd3f Bug 1547038 - ignore unrelated errors when checking compiler flags with ccache; r=chmanchester
Using `ccache` apparently interferes with how flag checking is done when
we're using `clang` as our compiler.  We can work around this by adding
a few more flags to flag checking.

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

--HG--
extra : moz-landing-system : lando
2019-04-30 20:04:22 +00:00
Bobby Holley
cc31352b96 Bug 1547847 - Refine MacOS header configure check to whitelist cross-compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D29285

--HG--
extra : moz-landing-system : lando
2019-04-30 00:06:53 +00:00
Nathan Froyd
0eebba71e5 Bug 1540082 - add an aarch64-cross clang build; r=nalexander
Analogously to the existing `linux64-clang-8-android-cross` build, this
build is a linux x86-64 build with runtime library support for aarch64.

Depends on D28405

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

--HG--
extra : moz-landing-system : lando
2019-04-22 22:11:12 +00:00
Nathan Froyd
047805c859 Bug 1540082 - add support for extra runtime targets in build-clang.py; r=firefox-build-system-reviewers,chmanchester
This change enables us to build compiler-rt and related
libraries (e.g. address sanitizer, etc.) for whatever targets we like,
assuming that we have an accessible sysroot for the target on the build
machine.

Depends on D28404

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:45:06 +00:00
Nathan Froyd
29df08bb6d Bug 1546136 - dump cmake logs on command failures; r=firefox-build-system-reviewers,chmanchester
CMake errors can be pretty opaque, especially if CMake is being run
inside the Ninja build process.  Let's try to surface those errors to
make problems easier to debug.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:44:55 +00:00
Mark Banner
e4c79f2689 Bug 1495672 - Block configure if the Mac OS X headers are not installed on 10.14. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28817

--HG--
extra : moz-landing-system : lando
2019-04-25 16:27:18 +00:00
Nathan Froyd
e6da99d7d3 Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 16:15:10 +00:00
Cosmin Sabou
428af65705 Backed out changeset 445a4ea25bb1 (bug 1546491) for build bustages on test/configure/lint.py. CLOSED TREE 2019-04-24 18:44:08 +03:00
Nathan Froyd
c7748ae96f Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 15:09:05 +00:00
Gabriele Svelto
83c135087e Bug 1542827 - Revert a change to LLVM to fix unwinding to the exception handler on Windows/AArch64 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D27798

--HG--
extra : moz-landing-system : lando
2019-04-24 11:52:11 +00:00
Nathan Froyd
49c1be9b8f Bug 1545502 - move fuzzing options to toolchain.configure; r=firefox-build-system-reviewers,chmanchester
We moved fuzzing options out of `toolkit/moz.configure` into `js`'s
configure a while back, but we seem to have snuck some fuzzing-related
options into `toolchain.configure` in the interim.  But we can't make
the `toolchain.configure` bits depend on the `js` bits; let's just put
everything in `toolchain.configure`.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:15:17 +00:00
Nathan Froyd
3b7164be54 Bug 1542958 - fix code section adjustments in elfhack; r=glandium
We were never adjusting `last` in this loop, so we were computing the
wrong addresses for all sections beyond the first.  Which in turn meant
that we would compute the wrong size for the section data we needed to
allocate.

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

--HG--
extra : moz-landing-system : lando
2019-04-22 23:44:28 +00:00
Nathan Froyd
cc22b1cec2 Bug 1544568 - pull out runtime library-related settings in build-clang.py; r=firefox-build-system-reviewers,chmanchester
It seems better to set switches enabling runtime libraries and switches
enabling runtime libraries to build in different places, as future
changes might only enable runtime libraries for certain targets, but not
need any special switches for building.

Depends on D27594

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:18:01 +00:00
Nathan Froyd
8fffaf4e11 Bug 1544568 - make setting of LLVM_*_TARGETS more explicit; r=firefox-build-system-reviewers,chmanchester
`android_targets` here is a dict, not a sequence, and while `iter` on a
dict object implicitly means `dict.iterkeys()`, that's not really
obvious.  We should instead be explicit about what we're doing here.

Depends on D27593

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:15:15 +00:00
Nathan Froyd
cc3cc65fd7 Bug 1544568 - don't build XRay libraries; r=firefox-build-system-reviewers,chmanchester
We don't need them and we might as well be explicit about not building them.

Depends on D27592

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:14:15 +00:00
Nathan Froyd
306721430b Bug 1544568 - move compiler-rt runtimes setup into build_one_stage; r=firefox-build-system-reviewers,chmanchester
The setup for compiler-rt is currently done before the stage 2 build,
which happens to be the final stage for our android runtime libraries
build.  But we may also want to build runtime libraries on 3-stage
bootstrap builds, in which case we don't want compiler-rt to be active
for the second stage.  Move the setup into build_one_stage so that the
setup is controllable by is_final_stage, which is set in all the place
that we care about.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 17:13:58 +00:00
Ehsan Akhgari
ccfae51c32 Bug 1500533 - Ensure that TLS session resumption tickets are only consumed if the channel isn't isolated by anti-tracking checks; r=michal,baku
Differential Revision: https://phabricator.services.mozilla.com/D26996

--HG--
extra : moz-landing-system : lando
2019-04-18 01:00:22 +00:00
Jesse Schwartzentruber
3b2a6e156c Bug 1537751 - Add x86_64 target to Android Clang build configuration. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24349

--HG--
extra : moz-landing-system : lando
2019-04-16 18:30:56 +00:00
Emilio Cobos Álvarez
4f84601466 Bug 1542878 - Check all the cbindgen executables before failing configure. r=froydnj
Before this patch, we first find an executable, then check the version. So if
the first executable we find is outdated, we won't look for others.

Instead, check each of them for different versions manually. This will also
unblock bug 1540533, since at that point we know that we'll be able to find
a cbindgen with the right version.

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

--HG--
extra : moz-landing-system : lando
2019-04-17 14:31:19 +00:00
Eric Rahm
1cfab6d66f Bug 1544418 - Increase max OSX SDK version to 10.14. r=mshal
We are no longer seeing black screen issues on OSX 10.14.4.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:45 +00:00
Eric Rahm
2016216d6f Bug 1544418 - Backed out changeset 3d0236f985f8. r=mshal
Backout update that broke OSX 10.13 builds.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:57 +00:00
Nathan Froyd
0d8cc55ffb Bug 1542958 - avoid malloc/delete[] mismatches in elfhack; r=glandium
We were allocating ElfSection's data with `new[]` and modifying it with
`realloc` in some places, which causes allocator mismatches.
Consistently manage the data with `malloc`, `realloc`, and `free` instead.

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

--HG--
extra : moz-landing-system : lando
2019-04-15 23:40:04 +00:00
Chris Manchester
0ce6855fe4 Bug 1544139 - Un-set RUSTFLAGS for artifact builds. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27397

--HG--
extra : moz-landing-system : lando
2019-04-12 22:47:52 +00:00
Mike Shal
63403bb0df Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-12 19:00:13 +00:00
Mike Shal
b64b81d0c5 Bug 1522931 - Vendor biplist; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D26390

--HG--
extra : moz-landing-system : lando
2019-04-12 19:00:15 +00:00
Cosmin Sabou
856169370c Backed out changeset ac23ad5ef0c1 (bug 1542862) as requested by glandium for being obsolete after bug 1536486. 2019-04-12 02:24:21 +03:00
Mike Hommey
35d057b2e3 Bug 1536486 - Use plain cargo instead of rustup cargo on OSX. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27040

--HG--
extra : moz-landing-system : lando
2019-04-11 22:25:51 +00:00
Oana Pop Rus
76651301a1 Backed out changeset acb04833e713 (bug 1500533) for assertion failure in nsHttpChannel.cpp on a CLOSED TREE 2019-04-11 23:15:08 +03:00
Ehsan Akhgari
bf2a5e6e54 Bug 1500533 - Ensure that TLS session resumption tickets are only consumed if the channel isn't isolated by anti-tracking checks; r=michal,baku
Differential Revision: https://phabricator.services.mozilla.com/D26996

--HG--
extra : moz-landing-system : lando
2019-04-11 18:36:16 +00:00