Commit Graph

8079 Commits

Author SHA1 Message Date
Thomas Daede
017147c0f4 Bug 1520163 - Remove nasm debian package. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D20041

--HG--
extra : moz-landing-system : lando
2019-03-26 00:05:00 +00:00
Boris Zbarsky
b49b18f7fb Bug 1539013. Teach MOZ_CAN_RUN_SCRIPT about taking pointers to live references. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24840

--HG--
extra : moz-landing-system : lando
2019-03-26 20:55:41 +00:00
Boris Zbarsky
89dea017ae Bug 1539016 part 2. Teach MOZ_CAN_RUN_SCRIPT analysis about conditional operators. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24839

--HG--
extra : moz-landing-system : lando
2019-03-26 20:56:36 +00:00
Boris Zbarsky
80a2c9c2db Bug 1539016 part 1. Refactor the MOZ_CAN_RUN_SCRIPT analysis a bit to make new live things easier to add. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24838

--HG--
extra : moz-landing-system : lando
2019-03-26 20:56:16 +00:00
Gurzau Raul
a7315d7841 Merge autoland to mozilla-central. a=merge 2019-03-26 11:51:06 +02:00
Gurzau Raul
d57d523481 Backed out changeset 70ce7207292e (bug 1490743) for increasing build times on Windows platforms. a=backout 2019-03-26 09:06:35 +02:00
Mike Hommey
25dbad7cb2 Bug 1536307 - Bump libstdc++ requirement to 4.7. r=froydnj
Last time we updated the requirements was in bug 1278456, after we
switched to GTK+3.

While it might be worth checking what would be a reasonable requirement,
the immediate problem is that updating ANGLE hits a snag with a
libstdc++ 4.7 symbol, and the only main distro release that bumping to
that version would make us not support anymore is Ubuntu 12.04 LTS,
EOLed 2 years ago (April 2017).

Bumping to some even newer version would need more consideration.
Desupporting Ubuntu 12.04 LTS at this point is almost a no-brainer.

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

--HG--
extra : moz-landing-system : lando
2019-03-25 12:40:25 +00:00
David Major
ef4fa82ab2 Bug 1535441 - Update win64 clang-cl to 8.0.0final r=firefox-build-system-reviewers,chmanchester
This gets us back to using an official release.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 01:40:14 +00:00
Mike Hommey
851ab5ec78 Bug 1537707 - Don't use full build symbols artifacts when MOZ_DISABLE_FULL_SYMBOLS is set. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24449
2019-03-23 09:29:25 +09:00
Mike Hommey
27c0bbcc88 Bug 1527463 - Get full artifact build symbols for aarch64 EME builds. r=mshal
We need to have full symbols uploaded for the upcoming EME-enabled
win64-aarch64 nightlies, and the tasks to do that are derived from the
nightly itself, which is going to be an artifact build. Bug 1527463 took
care of adding the option to enable that, and we turn it on for
EME-enabled builds.

MOZ_ARTIFACT_TASK_WIN32_OPT is not exactly the right thing, but we're
already using it to enable EME in
browser/config/mozconfigs/win64-aarch64/common-opt and is only set on
those builds.

Differential Revision: https://phabricator.services.mozilla.com/D23639
2019-03-23 09:29:24 +09:00
Mike Hommey
49a0cbadc9 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:05:18 +00:00
Mike Hommey
46318ccb91 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:06:11 +00:00
Andreea Pavel
74a4769236 Merge mozilla-central to autoland 2019-03-22 12:37:25 +02:00
Andreea Pavel
c1f948c75f Backed out 2 changesets (bug 1527463) for bustages a=backout
Backed out changeset 74b3bf36f5e8 (bug 1527463)
Backed out changeset 235af3330b73 (bug 1527463)
2019-03-22 12:09:57 +02:00
Noemi Erli
81350b76e9 Backed out 2 changesets (bug 1524396) for mass build bustages CLOSED TREE
Backed out changeset 3a444460cb6c (bug 1524396)
Backed out changeset 0480bca0d680 (bug 1524396)
2019-03-22 06:23:04 +02:00
Mike Hommey
d58c9a5f85 Bug 1524396 - Unify how target/host linker/flags are passed to rust. r=chmanchester
The current setup uses different ways for different platforms, with
different workarounds, even using extra configuration items for Windows.

Now that there can't be a difference between the host per the build
system and the host per rust, we can get rid of those configuration
items, and use a more common infrastructure.

We cannot, however, avoid using wrapper scripts, because per-target rust
link-arg flags don't work up great.

The downside is that multiplies the number of wrappers, as we now have
to have a different one for host and target, and then we have .bat files
and shell scripts for, respectively, Windows hosts, and other hosts.

Depends on D24321

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:40:41 +00:00
Mike Hommey
27044ed480 Bug 1524396 - Replace RUST_TARGET_ENV_NAME with make substitutions. r=chmanchester
While the substitution pattern is kind of awful in make, it will allow
to more straightforwardly deal with the difference between target and
host.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:40:23 +00:00
Mike Hommey
632127ba32 Bug 1521734 - Use thumbv7neon rust targets when stars align. r=chmanchester
Newer versions of rust come with a specialized arm target that matches
more closely our armv7 targets (with neon and thumb2), so use that when
possible.

Depends on D24324

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:36:49 +00:00
Mike Hommey
99bdcc7cb2 Bug 1521734 - Print out the chosen rust host/target triplet during configure. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24323

--HG--
extra : moz-landing-system : lando
2019-03-21 23:36:00 +00:00
Ciure Andrei
fd25af25ef Backed out changeset bf46557c98cb (bug 1537707) for diff build bustage CLOSED TREE
--HG--
extra : rebase_source : 6cac044e30f76deb1909f98c702a580eb3e4088b
2019-03-22 11:57:54 +02:00
Boris Zbarsky
7d25b166ca Bug 1538030. Disable warning about dereferencing void* in can-run-script test. r=glandium
Some of our builds use --enable-warnings-as-errors and some don't, and I can't
figure out a way to write an expectation comment for that.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 03:25:51 +00:00
Ciure Andrei
24ea8124e6 Backed out changeset e0cacf5d936f (bug 1537751)for causing instrumented-build-android bustage CLOSED TREE 2019-03-22 10:51:32 +02:00
Ciure Andrei
2a9eb52a31 Backed out changeset 40832d187454 (bug 1537669) for causing ActivationContext.cpp asertion failures CLOSED TREE 2019-03-22 10:47:36 +02:00
Jesse Schwartzentruber
4954fa6da1 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-03-21 22:17:07 +00:00
Jesse Schwartzentruber
21c1f1f7d6 Bug 1533560 - Enable sanitizer runtimes in Android clang. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24346

--HG--
extra : moz-landing-system : lando
2019-03-21 22:13:05 +00:00
Mike Hommey
5581aa598a Bug 1537669 - Use llvm-mt.exe instead of mt.exe when available. r=dmajor
MT is part of the Windows SDK, not MSVC, but an alternative exists for
it: llvm-mt. The official LLVM distribution for Windows doesn't include
it[1], though, so we can't just switch to it.

1. https://bugs.llvm.org/show_bug.cgi?id=40152

While here, remove the .exe suffix from the check, to future-proof for
cross-windows builds.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 23:34:07 +00:00
Mike Hommey
ae0f08c081 Bug 1537707 - Don't use full build symbols artifacts when MOZ_DISABLE_FULL_SYMBOLS is set. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D24449

--HG--
extra : moz-landing-system : lando
2019-03-21 22:58:56 +00:00
Nicholas Nethercote
a955ca9592 Bug 1535226 - Remove uses of XP_WIN32 in Gecko. r=glandium
The definitions can't be entirely removed yet because NSS still needs them.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 01:28:50 +00:00
Boris Zbarsky
ba49f4de45 Bug 1537537. Improve the MOZ_CAN_RUN_SCRIPT analysis reporting around invalid args. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24258

--HG--
extra : moz-landing-system : lando
2019-03-21 11:52:50 +00:00
Boris Zbarsky
1e54f805f8 Bug 1536736. Allow constexpr things in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
Since these are compile-time constants, they can't exactly go away on us due to
running script, right?

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

--HG--
extra : moz-landing-system : lando
2019-03-21 11:52:33 +00:00
Boris Zbarsky
534495abc4 Bug 1536825. Fix the interaction of ignoreTrivials and typechecks in MOZ_CAN_RUN_SCRIPT analysis. r=andi
We need to typecheck the trivials too, not just the final thing after trivials
are stripped, because casts are trivials.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 11:50:55 +00:00
Boris Zbarsky
b25b0dd1a9 Bug 1536724. Consider a smartptr temporary to be live for MOZ_CAN_RUN_SCRIPT analysis purposes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24120

--HG--
extra : moz-landing-system : lando
2019-03-21 11:49:11 +00:00
Boris Zbarsky
081fa29a04 Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 11:48:33 +00:00
Boris Zbarsky
640cb8470a Bug 1536336. Change MOZ_CAN_RUN_SCRIPT analysis to allow const members of "this" in addition to stack refptrs. r=andi
"this" is guaranteed to stay alive as long as other MOZ_CAN_RUN_SCRIPT
conditions hold, and its const members can't change value and drop
their refs.

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

--HG--
extra : moz-landing-system : lando
2019-03-21 11:47:22 +00:00
Csoregi Natalia
0fb5d156aa Merge autoland to mozilla-central. a=merge 2019-03-21 12:39:38 +02:00
shindli
987aa4b78c Merge autoland to mozilla-central. a=merge 2019-03-21 06:33:42 +02:00
Mike Hommey
f371e198d1 Bug 1527463 - Get full artifact build symbols for aarch64 EME builds. r=mshal
We need to have full symbols uploaded for the upcoming EME-enabled
win64-aarch64 nightlies, and the tasks to do that are derived from the
nightly itself, which is going to be an artifact build. Bug 1527463 took
care of adding the option to enable that, and we turn it on for
EME-enabled builds.

MOZ_ARTIFACT_TASK_WIN32_OPT is not exactly the right thing, but we're
already using it to enable EME in
browser/config/mozconfigs/win64-aarch64/common-opt and is only set on
those builds.

Differential Revision: https://phabricator.services.mozilla.com/D23639
2019-03-21 08:57:14 +09:00
Brindusan Cristian
044c3936c7 Backed out 6 changesets (bug 1536736, bug 1536336, bug 1536719, bug 1536825, bug 1537537, bug 1536724) for build bustages at TestCanRunScript. CLOSED TREE
Backed out changeset f754116e738e (bug 1537537)
Backed out changeset f9df48cfea43 (bug 1536736)
Backed out changeset 7a9888e700cf (bug 1536825)
Backed out changeset e2551303c5cf (bug 1536724)
Backed out changeset f497ce3b7419 (bug 1536719)
Backed out changeset fd59264c47c1 (bug 1536336)
2019-03-21 07:33:33 +02:00
Boris Zbarsky
e3785e6699 Bug 1537537. Improve the MOZ_CAN_RUN_SCRIPT analysis reporting around invalid args. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24258

--HG--
extra : moz-landing-system : lando
2019-03-20 20:04:13 +00:00
Boris Zbarsky
22b27ec802 Bug 1536736. Allow constexpr things in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
Since these are compile-time constants, they can't exactly go away on us due to
running script, right?

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

--HG--
extra : moz-landing-system : lando
2019-03-20 20:04:11 +00:00
Boris Zbarsky
9679412967 Bug 1536825. Fix the interaction of ignoreTrivials and typechecks in MOZ_CAN_RUN_SCRIPT analysis. r=andi
We need to typecheck the trivials too, not just the final thing after trivials
are stripped, because casts are trivials.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:25:55 +00:00
Boris Zbarsky
0d0978f826 Bug 1536724. Consider a smartptr temporary to be live for MOZ_CAN_RUN_SCRIPT analysis purposes. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D24120

--HG--
extra : moz-landing-system : lando
2019-03-20 14:40:34 +00:00
Boris Zbarsky
14f6385d4b Bug 1536719. Fix handling of member method calls in the MOZ_CAN_RUN_SCRIPT analysis. r=andi
The old code for member method calls did the following:

 1) Find the member method calls.
 2) Look at their "this" expression.
 3) If the "this" is an operator call, check for any of the arguments of the
    operator call being invalid.
 4) Otherwise (if not an operator call) check for the "this" value being
    invalid.

This wasn't right, because the "is invalid" check checks the type and only
considers refcounted things.  So if the code looked something like
"foo[i]->call_method()", we would look at the types of "foo" and "i" and
determine that none of those are refcounted types so there is nothing invalid
here (since "foo" is some sort of array type and "i" is an integer).  The new
setup just checks whether the "this" value is invalid, which does the type
check on the "this" value itself; in the "foo[i]->call_method()" case on
"foo[i]".  We then adjust the exclusions in InvalidArg to consider operator->
on known-live things valid, to allow the thing that we were really trying to
accomplish with the "check for an operator call" bits:
"stackRefPtr->some_method()".

The test coverage being added for the made-up TArray type is meant to catch
things like the geolocation issue that was being hidden by the buggy behavior.
I'm not using nsTArray itself because some header included by nsTArray.h
tries to define operator new/delete bits inline and that triggers warnings that
then cause a clang-plugin test failure, because they're unexpected.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 18:08:16 +00:00
Boris Zbarsky
fd9223d7ac Bug 1536336. Change MOZ_CAN_RUN_SCRIPT analysis to allow const members of "this" in addition to stack refptrs. r=andi
"this" is guaranteed to stay alive as long as other MOZ_CAN_RUN_SCRIPT
conditions hold, and its const members can't change value and drop
their refs.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 04:19:24 +00:00
Boris Zbarsky
5c13f9c06d Bug 1535124 part 1. Add a MOZ_KnownLive() around callback-typed arguments in bindings. r=qdot
This allows calling a C++ MOZ_CAN_RUN_SCRIPT method that takes a callback argument.

The changes to TestCanRunScript.cpp are there to catch an incorrect change I was
going to make to the analysis to make this work, until I figured out that
RootedCallback should be MOZ_IS_SMARTPTR_TO_REFCOUNTED.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 12:59:53 +00:00
Andreea Pavel
f7b09c8773 Backed out 2 changesets (bug 1524429) for build bustages at lint.py on a CLOSED TREE
Backed out changeset 7947b90f1580 (bug 1524429)
Backed out changeset 1a5a5aef01d5 (bug 1524429)
2019-03-20 02:16:41 +02:00
Mike Shal
5607f84fdf Bug 632954 - Add -Wno-error=backend-plugin to support Android PGO; r=glandium
Without this flag, Android PGO profile-use builds may fail with
"Function control flow change detected" errors.

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

--HG--
extra : moz-landing-system : lando
2019-03-18 23:52:22 +00:00
Mike Hommey
80f7e86b2e Bug 1524429 - Move build/autoconf/arch.m4 to python configure. r=nalexander
The file is essentially limited to ARM flag tweaks, so we make the
corresponding python configure code ARM-only. In large parts, the
python code sets things up similarly, although in a few places we try to
be smarter about than the current autoconf-based code.

The resulting config.status have been verified to only have
insignificant differences on both arm and aarch64 android builds.

Depends on D24000

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:32:58 +00:00
Chris Manchester
02576069b4 Bug 1536259 - Add missing ANDROID define for clang runtime builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D23957

--HG--
extra : moz-landing-system : lando
2019-03-19 17:47:21 +00:00
Wes Kocher
9eefc4e997 no bug - fix spelling of 'mozila' tree-wide r=me 2019-03-18 15:55:18 -07:00