Commit Graph

8063 Commits

Author SHA1 Message Date
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
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
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
Mike Hommey
7e282558ea 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-20 16:17:57 +00:00
David Major
ebab8a4fb6 Bug 1490743 - Work around missing type information in Windows debug symbols r=chmanchester
See https://bugs.llvm.org/show_bug.cgi?id=38944. clang thought it could safely leave out type information for some of our classes, but that information would have been helpful for debugging. The flag in this patch turns off the debug-info limiting.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:04:41 +00:00
Mike Shal
5f5bbc2171 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 : source : 3dfc0e4f8e7c8cd48b911033222fb3c3edb9762b
2019-03-18 23:52:22 +00:00
Noemi Erli
b61340c4b0 Backed out 12 changesets (bug 632954) for causing Android Bpgo(run) pending jobs CLOSED TREE
Backed out changeset 429c96e4de32 (bug 632954)
Backed out changeset de8beacc5eb4 (bug 632954)
Backed out changeset c151ebf303ca (bug 632954)
Backed out changeset b96dd954a456 (bug 632954)
Backed out changeset 26031d362333 (bug 632954)
Backed out changeset 097f141a499d (bug 632954)
Backed out changeset 6f5fc0d644dd (bug 632954)
Backed out changeset 53d3443e55d9 (bug 632954)
Backed out changeset 503bcac73583 (bug 632954)
Backed out changeset 142ae187478d (bug 632954)
Backed out changeset 0615c775a0cf (bug 632954)
Backed out changeset 3dfc0e4f8e7c (bug 632954)
2019-03-20 11:58:18 +02:00
Boris Zbarsky
e348ad0b6c Improve the documentation around the MOZ_CAN_RUN_SCRIPT analysis. No bug. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D23762

--HG--
extra : moz-landing-system : lando
2019-03-16 12:52:33 +00:00
Chris Manchester
dd6a3ef16f Bug 1535771 - Append android compiler-rt flags in build-clang.py to avoid conflicts. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D23745

--HG--
extra : moz-landing-system : lando
2019-03-15 23:19:15 +00:00
Boris Zbarsky
135d0b832e Bug 1535651. Whitelist std::__pair_base as memmovable for static analysis purposes. r=emilio
In at least some libstdc++ versions, std::pair (which we want to be
memmovable) inherits from __pair_base.  We have a similar setup
already for __atomic_base.

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

--HG--
extra : moz-landing-system : lando
2019-03-15 16:17:52 +00:00
Gian-Carlo Pascutto
e0391761b8 Bug 1533133 - Fix missing linker and JS engine options for SSP. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D22730

--HG--
extra : moz-landing-system : lando
2019-03-15 08:46:27 +00:00
Nathan Froyd
c5ab838f7c Bug 1451104 - part 3 - inform stage2/3 clang about gcc binutils; r=glandium
We do this to encourage clang to find an new-enough linker instead of
the system one.

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

--HG--
extra : moz-landing-system : lando
2019-03-15 01:29:04 +00:00
Nathan Froyd
ce83c42681 Bug 1451104 - part 2 - force clang to always pick up its local GCC headers and libraries; r=glandium
We want our clang bootstrap to use the GCC headers we're building with,
not whatever sysroot it happens to find on the server we're building on.

The -gcc-toolchain argument we specify when building clang will also be
picked up by llvm-config, so we need to strip it out when building the
plugin. Otherwise, we will get peculiar failures about not being able to
find C++ header files.

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

--HG--
extra : moz-landing-system : lando
2019-03-15 01:28:55 +00:00
Nathan Froyd
9ebe50fc6e Bug 1451104 - part 1 - be explicit about our GCC/binutils target and build machine; r=glandium
Explicit is better than implicit, and helps ensure that GCC is always
using the binutils we built it with, rather than the system binutils.

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

--HG--
extra : moz-landing-system : lando
2019-03-15 01:28:10 +00:00
Nathan Froyd
1d99a85b72 Bug 1535350 - remove win32-clang-tidy job; r=dmajor
Updating clang indicates that 32-bit compilation is substantially longer
than 64-bit compilation, perhaps due to swapping.  The compilation
process is hitting the timeout limit shortly before the compilation
process completes (~3681/3695 tasks according to ninja).

We could tweak our clang build process to accommodate this job.  But we
don't support building on 32-bit Windows anymore, and we don't produce a
32-bit Windows clang either.  So we shouldn't support a 32-bit Windows
clang-tidy job either.  Let's get rid of it.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 20:28:48 +00:00
Carolina Jimenez Gomez
0f33068ca0 Bug 1483626 - Checks if subjectAltNames has elements that are not empty string, and if it has them, they will be remove, preventing incomplete r=johannh
messages to show to the user. r=johannh

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

--HG--
extra : moz-landing-system : lando
2019-03-14 15:45:55 +00:00
Gurzau Raul
c3883e46f7 Backed out 6 changesets (bug 1451104) for toolchains bustage on a CLOSED TREE.
Backed out changeset 2f6199beeb71 (bug 1451104)
Backed out changeset 7c116f85ede6 (bug 1451104)
Backed out changeset 5179c8066914 (bug 1451104)
Backed out changeset 675f73d41eb4 (bug 1451104)
Backed out changeset c64bfaad8a2f (bug 1451104)
Backed out changeset 991777e081ff (bug 1451104)
2019-03-14 05:02:44 +02:00
Nathan Froyd
3ba781f992 Bug 1451104 - part 3 - inform stage2/3 clang about gcc binutils; r=glandium
We do this to encourage clang to find an new-enough linker instead of
the system one.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 00:43:01 +00:00
Nathan Froyd
3ec62f66df Bug 1451104 - part 2 - force clang to always pick up its local GCC headers and libraries; r=glandium
We want our clang bootstrap to use the GCC headers we're building with,
not whatever sysroot it happens to find on the server we're building on.

The -gcc-toolchain argument we specify when building clang will also be
picked up by llvm-config, so we need to strip it out when building the
plugin. Otherwise, we will get peculiar failures about not being able to
find C++ header files.

Depends on D22879

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

--HG--
extra : moz-landing-system : lando
2019-03-12 00:21:20 +00:00