Commit Graph

8471 Commits

Author SHA1 Message Date
David Major
401c1780fa Bug 1583138 - Prepare clang-tidy for clang-9 r=andi
In clang 9, the signature of `registerPPCallbacks` changed and it no longer provides us a `CompilerInstance` [0]. I couldn't find a way to reach the `CompilerInstance` from the new structures, so I've inserted a level into the class hierarchy that mimics the old functionality.

With this patch, clang-tidy compiles with either clang-8 or clang-9, so we can land this independently in preparation for bug 1573211.

[0] For reference: the new signature was introduced in bbc89dcb29, the old overload was marked deprecated in e9087fe75c and removed in ee737a84d7.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 17:27:02 +00:00
Andrew Halberstadt
898dfb96b4 Bug 1567642 - [lint.flake8] Fix misc flake8 under Python 3 lint issues r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D45417

--HG--
extra : moz-landing-system : lando
2019-09-24 14:44:01 +00:00
Boris Zbarsky
fa0ce4b209 Bug 1581315 part 1. Adjust MOZ_MUST_RETURN_FROM_CALLER to only apply to method calls on arguments. r=nika
It doesn't really make sense to enforce this behavior for calls on stack
variables (which presumably we then want to do something with) and doesn't
necessarily make sense to enforce it for member variables either.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 02:17:01 +00:00
Mike Shal
56ba0730bc Bug 1580899 - Remove MOZ_PGO from mozconfigs; r=glandium
Setting this flag still attempts to build with 1-tier PGO, unless we
detect that 3-tier PGO is enabled. Since we should be using 3-tier PGO
everywhere, the flag should be redundant in our automation mozconfigs.
It can still be used locally in a mozconfig to do a 1-tier PGO build.

Depends on D46069

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

--HG--
extra : moz-landing-system : lando
2019-09-18 18:29:00 +00:00
Mike Shal
00a274530f Bug 1580899 - Remove mozconfig.pgo; r=firefox-build-system-reviewers,chmanchester
This file is no longer required, since taskcluster handles scheduling
PGO tasks.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 03:11:11 +00:00
Nathan Froyd
2b7fcaf969 Bug 1551726 - remove --enable-content-sandbox from old configure options; r=dmajor
The option was removed entirely several months ago, and this bit was missed.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 15:29:30 +00:00
Chris Manchester
d03f6422fd Bug 1580331 - Update the workspace-hack to avoid duplicate work on windows. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45581

--HG--
extra : moz-landing-system : lando
2019-09-17 20:46:47 +00:00
Nathan Froyd
9316120343 Bug 1579870 - add wasm support to our clang builds; r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D45201

--HG--
extra : moz-landing-system : lando
2019-09-17 20:14:17 +00:00
Dorel Luca
bff3d0e47a Backed out changeset bb15fe1fd2b1 (bug 1580331) for Spidermonkey failures. CLOSED TREE 2019-09-17 21:06:17 +03:00
Chris Manchester
2826f31324 Bug 1580331 - Update the workspace-hack to avoid duplicate work on windows. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45581

--HG--
extra : moz-landing-system : lando
2019-09-17 17:34:13 +00:00
Tarek Ziadé
5dd9d5bcd0 Bug 1562870 - generate conditioned profiles r=gbrown,bc,aerickson
Generates "conditioned" profiles.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 19:44:35 +00:00
Andi-Bogdan Postelnicu
1b886ecee7 Bug 1576659 - Update infer to 0.17.0. r=bastien
Differential Revision: https://phabricator.services.mozilla.com/D43471

--HG--
extra : moz-landing-system : lando
2019-09-13 14:25:32 +00:00
Mike Shal
ec7a8745f1 Bug 1580497 - Fix topobjdir in 1-tier PGO builds; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45707

--HG--
extra : moz-landing-system : lando
2019-09-12 19:30:17 +00:00
Nathan Froyd
020191bdfa Bug 1580931 - remove libc++ gcc 4.9 workarounds from toolchain.configure; r=nalexander
Getting rid of unneeded code and having fewer global defines are both
worthy things.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 20:01:18 +00:00
Razvan Maries
98fb942aa9 Backed out changeset 70e72871917e (bug 1576659) for Linux x64 debug build bustages. CLOSED TREE 2019-09-12 15:51:31 +03:00
Andi-Bogdan Postelnicu
bc7bd7de68 Bug 1576659 - Update infer to 0.17.0. r=bastien
Differential Revision: https://phabricator.services.mozilla.com/D43471

--HG--
extra : moz-landing-system : lando
2019-09-12 12:17:50 +00:00
Nathan Froyd
2ffed65f8f Bug 1577272 - annotate some refcounted lambda tests with expected errors for C++17; r=andi
clang produces these errors itself, but only in C++17 mode.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 06:40:49 +00:00
Emilio Cobos Álvarez
0140a5576c Bug 1577439 - Shutdown Servo's thread-pool in leak-checking builds, leak the atom table elsewhere. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D44217

--HG--
extra : moz-landing-system : lando
2019-09-09 22:39:46 +00:00
Nathan Froyd
a66584728f Bug 1579523 - fix visibility definition for future NDKs on Android; r=nalexander
A previous patch defined `_LIBCPP_HIDE_FROM_ABI` to the empty string.
This definition worked for normal (opt/debug) builds, but
PGO-instrumented builds fell over with some linker errors.  A closer
look at the definition of `_LIBCPP_HIDE_FROM_ABI`:

```
#ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU
#  ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 0
#  else
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 1
#  endif
#endif

#ifndef _LIBCPP_HIDE_FROM_ABI
#  if _LIBCPP_HIDE_FROM_ABI_PER_TU
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_INTERNAL_LINKAGE
#  else
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#  endif
#endif
```

says that there are two macros involved there: one to set hidden visibility
(which we don't want), and another to exclude the function definition
from explicit instantiation.  The semantics of this are not obvious (the
clang documentation only documents this attribute in terms of C++
templates; the particular case we're interested in sets the attribute on
normal function definitions).  But roughly, what this does is that it
forces the compiler to see that an equivalent function definition is
provided external to the compilation unit, so it doesn't have to keep
the annotated function definition around.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 15:13:36 +00:00
Mike Shal
3b8df1c395 Bug 1580028 - Always merge PGO profile data in the run task; r=firefox-build-system-reviewers,chmanchester
If the run task generates bad profile data, the merge step in the
profile-use task will fail. However, retrying the profile-use task
doesn't fix the problem, and there isn't a straightforward way to retry
the run task in this situation. Instead we can add a clang toolchain to
all the run tasks, and perform the merge there.

This means the output from the run task will always be a successfully
merged file called 'merged.profdata', and we no longer need to perform
the merge as part of the profile-use build as a GENERATED_FILES step.

Depends on D45262

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

--HG--
extra : moz-landing-system : lando
2019-09-10 21:56:15 +00:00
Mike Shal
93f80b9e53 Bug 1580028 - Move pgo_flags to later in lto-pgo.configure; r=firefox-build-system-reviewers,chmanchester
This is needed in the following patch, but the diff is more clear with
this split out.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 02:41:06 +00:00
Chris Manchester
4991e899e4 Bug 1578493 - Mention scheduler url in server setup section and bump suggested version in sccache-dist docs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D45282

--HG--
extra : moz-landing-system : lando
2019-09-10 16:03:04 +00:00
Nathan Froyd
62a5c58f09 Bug 1579430 - mark some elfhack methods as override; r=glandium
This change silences a couple of clang warnings.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 23:54:34 +00:00
Wander Lairson Costa
1e4f81ec22 Bug 1572236: Support sccache in Google Storage r=chmanchester,dustin
With the migration from AWS to GCP, we also need to migrate sccache
buckets from S3 to Google Storage.

The problem is how we deal with regions, since there isn't an exact
correspondence on the region names between the two cloud providers.

To make the transition smoother, docker-worker (and soon generic-worker)
provides a new environment variable called TASKCLUSTER_WORKER_LOCATION,
with information about the cloud provider the task is running on. Using
this new variable, we configure sccache to use the corresponding storage
service of the cloud provider where the task runs.

The bucket names in Google Storage are shorter because GCS imposes a
limit of 30 characteres for the names.

Ref: https://github.com/taskcluster/taskcluster-rfcs/pull/148/files

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

--HG--
extra : moz-landing-system : lando
2019-09-09 16:51:42 +00:00
Andi-Bogdan Postelnicu
5fbdc1ea98 Bug 1579351 - Add constant complexity for MemMoveAnnotation when looking for specific std::atomic. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45027

--HG--
extra : moz-landing-system : lando
2019-09-09 13:30:16 +00:00
Andi-Bogdan Postelnicu
ef2739a418 Bug 1569350 - Added more primitives to our static-analysis from MSVC 2019. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D44827

--HG--
extra : moz-landing-system : lando
2019-09-05 12:57:18 +00:00
Sylvestre Ledru
20b343675a Bug 1577726 - Move generated directories into a dedicated file (Generated.txt) from ThirdPartyPaths.txt r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D44147

--HG--
extra : moz-landing-system : lando
2019-09-05 14:24:21 +00:00
Nathan Froyd
18e78c6b0d Bug 1578825 - add a strict version check for the NDK version; r=nalexander
One less thing for configurations to vary is a good thing.  This change
also means that when we do NDK bumps that introduce some kind of weird
incompatible change, configuration with a newly-pulled tree and an old
NDK halts at configure, rather than giving weird build errors.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 19:20:39 +00:00
Sylvestre Ledru
931b1e9554 Bug 1579054 - Improve the --enable-clang-plugin description r=andi
Differential Revision: https://phabricator.services.mozilla.com/D44820

--HG--
extra : moz-landing-system : lando
2019-09-05 12:21:38 +00:00
Andrew Sutherland
dbbe7fbf1f Bug 1511025 - Correct searchfox template traversal. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D44755

--HG--
extra : moz-landing-system : lando
2019-09-05 07:17:57 +00:00
Bogdan Tara
2c0a60b5b0 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-09-05 06:51:36 +03:00
Chris Manchester
0bb09fc35d Bug 1578596 - Require rustc 1.37. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D44699

--HG--
extra : moz-landing-system : lando
2019-09-04 19:08:28 +00:00
David Major
a6ecd0d619 Bug 1578775: Remove LIBCXX_LIBCPPABI_VERSION from build-clang.py r=glandium
This build workaround was made unnecessary (and in fact harmful) by 2d0b4d6bb3 (diff-140d2deaecabaad987b883a1de1c2aa4) which landed in LLVM 9.

It seems that we don't need this anyway even on our current LLVM 8 builds, so landing this separately in preparation for bug 1573211.

Reviewed as part of a larger patch in https://phabricator.services.mozilla.com/D44160#1342283

MANUAL PUSH: This may cause a toolchain rebuild.
2019-09-04 12:01:59 -04:00
Nathan Froyd
ebeb43d427 Bug 1578478 - update disabling visibility on Android for newer libc++; r=nalexander
We define some libc++-internal macros to avoid conflicts between the way
we do symbol visibility and the way libc++ expects visibility to work.
Newer NDK versions use a newer libc++ which changes the way the macro we
were using works. To enable building with newer libc++ versions, let's
also define macros appropriate to those versions as well.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 17:56:49 +00:00
Chris Manchester
5ac1f64990 Bug 1578493 - Suggest using an sccache-dist binary from automation in our docs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D44577

--HG--
extra : moz-landing-system : lando
2019-09-03 23:12:51 +00:00
Chris Manchester
358a3fb5f1 Bug 1578493 - Fix sccache-dist docs to mention port for builders and remove unused email. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D44530

--HG--
extra : moz-landing-system : lando
2019-09-03 20:49:44 +00:00
Nathan Froyd
f29b892aa0 Bug 1578471 - consolidate NDK version detection; r=nalexander
We have an `ndk_version_major` and an `ndk_version_minor` that have a
lot of duplicated code in them.  We could factor them into a single
function, but it seems better to just pull their logic into `ndk_version`
directly, rearranging that function to be IMHO more understandable.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 17:17:31 +00:00
Razvan Maries
9415ecf29b Backed out 2 changesets (bug 1569728) for causig Linux shippable opt build bustages.
Backed out changeset 2f873da4b36e (bug 1569728)
Backed out changeset aaae16f5f29d (bug 1569728)
2019-09-01 03:42:38 +03:00
Nathan Froyd
1bc5f4c3fe Bug 1569728 - manually instantiate some basic_string members for libstdc++ compat; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D41370

--HG--
extra : moz-landing-system : lando
2019-08-25 19:27:47 +00:00
Andrew Halberstadt
f43a6e3051 Bug 1570772 - [lint.license] Fix or exclude errors under /build r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D41820

--HG--
extra : moz-landing-system : lando
2019-08-30 15:44:08 +00:00
Emilio Cobos Álvarez
b33e5051d2 Bug 1577749 - Fix check_sccache_version when using RUSTC_WRAPPER. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D44139

--HG--
extra : moz-landing-system : lando
2019-08-30 12:22:12 +00:00
Chris Manchester
3712f28127 Bug 1577351 - Require a recent version of sccache when it is in use. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D43861

--HG--
extra : moz-landing-system : lando
2019-08-29 17:45:23 +00:00
Chris Manchester
37a0bb26bb Bug 1576737 - Add sccache-dist in offices docs to the tree. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D43531

--HG--
extra : moz-landing-system : lando
2019-08-27 22:10:54 +00:00
Andrew Halberstadt
333ffc4bcf Bug 1473498 - [mach] Support running mach commands with python 3 r=glandium,mars
Credit: mars for making the shell POSIX compliant

This embeds a blacklist of every mach command that needs to run with Python 2
directly in the mach driver itself. Initially this is every mach command. We
then use a bit of shell to determine whether the command being run needs Python
2 or 3.

While this approach may seem a bit hacky, it has several benefits:

1. No need to add complex machinery in mach's registration code.
2. No need to spawn two separate Python interpreters in the event a different
   Python from the original interpreter is needed.
3. Perf impact is negligible.
4. New commands are Python 3 by default.

It is also only a temporary hack. Once all commands are running with Python 3,
we can revert back to the original mach driver.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 03:08:08 +00:00
Andrew Halberstadt
80160f742f Bug 1473498 - [configure] Fix ImportError in util.configure under Python 3, r=glandium
This import is actually unused as of bug 844509.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 02:55:18 +00:00
Makoto Kato
8c25d0bb78 Bug 1575436 - Don't use absolute path for echo command. r=glandium
common.gypi uses hard-coded absolute path for echo command, but this path
is invalid on Windows.

But this lines are unused, so we should remove it.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 03:25:37 +00:00
Emilio Cobos Álvarez
c17fdaaa27 Bug 1576703 - Update cbindgen. r=boris
This cleans up the pattern of "Use a private dtor so that the helper functions
do the right thing" by enabling it everywhere using:

  https://github.com/eqrion/cbindgen/pull/377

It also caught some uninitialized value issues.

I think they're mostly harmless since we zero-initialize our structs:

https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/servo/components/style/properties/gecko.mako.rs#632

And since we override the clip rect, which is the other bit of code that was
failing to build with this change.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 23:18:46 +00:00
Mihai Alexandru Michis
ac5564a095 Merge mozilla-central to autoland. 2019-08-27 02:02:26 +03:00
Mike Hommey
46c7dfffb5 Bug 1575804 - Don't decode the result from get_cmd_output. r=chmanchester
Also don't pass universal_newlines to check_cmd_output. That was added
to make python 3 happier when check_cmd_output still returned bytes, to
hint subprocess to return a unicode string, but now that
check_cmd_output does the decoding, that's not needed anymore.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 22:05:51 +00:00
Tom Ritter
9dfb78cd80 Bug 1576710 - Perform the correct comparison with OS Arch r=nalexander
This removes an unrecognized parameter warning.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 18:58:51 +00:00