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

8639 Коммитов

Автор SHA1 Сообщение Дата
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
Sylvestre Ledru 65d8b0025e Bug 1564252 - Move to clang 8.0.1 r=glandium
Differential Revision: https://phabricator.services.mozilla.com//D42325

--HG--
extra : amend_source : 129ff97f6edc41ad7a2f54520141158416e75b8d
2019-08-20 21:06:24 +02:00
Nicholas Nethercote adb9edf389 Bug 1574388 - Implement PHC on Mac. r=gsvelto,glandium
But it is not yet enabled; bug 1576515 will do that.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 23:16:05 +00:00
Razvan Maries 74868f6da5 Backed out 2 changesets (bug 1569728) for Android 4.0 API16+ GeckoView multi-arch fat AAR opt build bustages.
Backed out changeset a420714ee262 (bug 1569728)
Backed out changeset d24ed38c76cd (bug 1569728)
2019-08-24 19:09:21 +03:00
Nathan Froyd faaa483c34 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-24 13:51:32 +00:00
Mike Hommey d9320a4077 Bug 1576003 - Update workspace hack to avoid multiple builds of cranelift. r=nalexander
The discrepancy of features used for syn between jsrust and gkrust
triggered syn and its reverse dependencies up to cranelift to be
built once for jsrust and once for gkrust, while they are time consuming
to build.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 17:01:40 +00:00
Nathan Froyd 1c00fec375 Bug 1573820 - default to bfd ld for x86-64 Android; r=nalexander
This change looks a lot more complicated than it actually is.

The motivating issue is that on x86-64 android, the NDK uses gold as its
default linker, and on this platform gold has some bugs in how it handles
`.note.*` sections that lead to `strip` and `objcopy` produce invalid
binaries...or at least invalid binaries according to `elfhack`.  When
`elfhack` complains, the build stops, which is suboptimal.  Instead, let's
use bfd `ld`, which doesn't have these problems.

Except that when we make the change to provide `--enable-linker` with a
platform-specific default, the lint configure tests complain that the
provided help string is not using the proper format.  So we tack on the
sekret `{|}` string to satisfy the linter.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 19:26:22 +00:00
Dustin J. Mitchell 23d547abce Bug 1562686 - revert remaining unnecessary bit of bug 1187245; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D42644

--HG--
extra : moz-landing-system : lando
2019-08-23 12:32:02 +00:00
Dustin J. Mitchell af8483e1ae Bug 1562686 - use AWS_IAM_CREDENTIALS_URL for all S3 sccache invocations r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41454

--HG--
extra : moz-landing-system : lando
2019-08-23 12:39:25 +00:00
Bogdan Tara b5b30d8b87 Backed out changeset cace4ffbecb2 (bug 1576030) requested by glandium 2019-08-23 11:36:03 +03:00
Mike Hommey a1ebadbc30 Bug 1576030 - Allow to forcefully enable cargo incremental. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D43189

--HG--
extra : moz-landing-system : lando
2019-08-23 03:11:35 +00:00
Mike Hommey 3e303cdeb9 Bug 1576030 - Disable cargo incremental when using sccache. r=nalexander
For some reason, cargo incremental doesn't work as well as it should,
and doesn't perform as well as sccache does. So when building with
sccache, disable cargo incremental. This brought a no-change clobber
build with 100% cache from 3:50 to 2:05 on a beefy AWS instance I was
testing this with.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 04:50:55 +00:00
Mike Hommey 32044bbc45 Bug 1575804 - Don't decode the result from check_cmd_output. r=froydnj
Bug 1575135 changed check_cmd_output to return unicode strings, but a
couple places were already trying to do their own decoding, which now
can fail. Remove those.

Interesting the decoding was previously broken on Windows, this
actually fixes it (the output of hg config is not actually utf-8 on
Windows).

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

--HG--
extra : moz-landing-system : lando
2019-08-22 17:02:39 +00:00
Mike Hommey 250c3cbc9a Bug 844509 - Don't encode environment in get_cmd_output and old_configure. r=nalexander
The configure sandbox has wrapped subprocess methods to add its own
encoded environment if none is provided, since bug 1520394. It only
makes sense that it normalizes the environment that comes in too,
avoiding caller in the configure sandbox to have to do it themselves.

OTOH, and while we're here, none of get_cmd_output, old_configure or the
sandbox were actually using the right encoding for this conversion, so
fix the configure sandbox to use the right one, and make it stop using
encode(), which does deep recursion that is not necessary here, and that
I'm trying to remove entirely.

Also while here, remove an unused import of encode().

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

--HG--
extra : moz-landing-system : lando
2019-08-20 22:12:23 +00:00
Razvan Maries 3d74e341f9 Backed out 2 changesets (bug 1562686) as per glandium's request. CLOSED TREE
Backed out changeset 0ce37eda652a (bug 1562686)
Backed out changeset fe7b9445e1d3 (bug 1562686)
2019-08-22 02:43:16 +03:00
Mike Hommey 2efacbae3d Bug 1560700 - Remove now unused allow_unknown argument to split_triplet. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41482

--HG--
extra : moz-landing-system : lando
2019-08-13 22:30:38 +00:00
Mike Hommey b444ca8929 Bug 1560700 - Change how the rust target is derived from the build system target. r=froydnj
There are a few problems with the strategy currently used to find the
rust target. For example, we don't find a target for arm freebsd, and we
pick the wrong target for armel linux. Both are related to how things
currently work when multiple targets have the same (cpu, endianness,
os).

So, to derive the rust target, we now use a more fine-grained approach.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 23:22:24 +00:00
Mike Hommey 47cdf6ea6a Fixup bug 1575471 to unbust aarch64 builds on a CLOSED TREE.
Differential Revision: https://phabricator.services.mozilla.com//D42981
2019-08-22 02:12:08 +03:00
Mike Hommey 76b948abd2 Bug 1575471 - Move `make check` from mozharness to moz-automation.mk. r=froydnj
Currently, we have no real visibility on the time spent after the build
finished, despite the fact that a large chunk is actually happening via
make check (although thankfully more and more of it is moving out to
separate tasks).

Also, the mozharness machinery for make check dates from when we were
running in buildbot and takes care of turning builds orange instead of
red in case of failure, etc. which doesn't do anything useful anymore.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 12:31:30 +00:00
Mike Hommey e9fda46587 Bug 1575471 - Properly report the beginning of automation tiers. r=nalexander
The automation tiers all have a dependency:
  automation/%: automation-start/%

The dependency runs the command for BUILDSTATUS, making the resource
monitor aware of what tiers start. Unfortunately, Make decides to run
all these automation-start/% targets way before starting the
automation/% targets, because of how the interdependencies are laid out.

Use a slightly better way, albeit still biased, making the
automation-start/% target for a tier depend on the dependencies, which
at least ensures that the resource monitor doesn't see a tier starting
before its dependencies are finished.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 21:25:35 +00:00
David Major cd1c868537 Bug 1573501 - Disable -Wtautological-type-limit-compare r=froydnj
This warning, new in clang 9, is noisy about patterns like:

```
unsigned long x = ...
if (x > 4294967295)
```

The condition is always false on 32-bit and LLP64 systems, but on LP64 it's a valid test.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 15:32:26 +00:00
Dustin J. Mitchell be3fd44f98 Bug 1562686 - revert remaining unnecessary bit of bug 1187245; r=glandium
Depends on D41454

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

--HG--
extra : moz-landing-system : lando
2019-08-21 03:32:05 +00:00
Dustin J. Mitchell 13f9bc563c Bug 1562686 - use AWS_IAM_CREDENTIALS_URL for all S3 sccache invocations r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41454

--HG--
extra : moz-landing-system : lando
2019-08-20 14:03:12 +00:00
Daniel Varga b703653c18 Merge mozilla-central to autoland. On a CLOSED TREE
--HG--
extra : rebase_source : ae31c873768b4a95fc6574d1bfbe7d17125bb40e
2019-08-21 14:45:21 +03:00
Daniel Varga 8b04757a32 Backed out changeset e533d2907a31 (bug 1564252) for build bustage at /lib/gcc/x86_64-unknown-linux-gnu/6.4.0. a=backout 2019-08-21 14:35:03 +03:00
Daniel Varga ae8445aebc Merge mozilla-central to autoland. On a CLOSED TREE 2019-08-21 13:06:00 +03:00
Sylvestre Ledru 16b33cea9a Bug 1564252 - Move to clang 8.0.1 r=glandium
Remove r355141-arm64-cfg.patch (merged upstream)

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

--HG--
extra : rebase_source : f74202e4459c46d45a8b4f5a8c00da080904e8bf
2019-08-20 21:06:24 +02:00
Chris Peterson 41241f3418 Bug 1514965 - Part 2: Enable clang -ftrivial-auto-var-init to initialize local variables with 0xAA in debug builds. r=froydnj
Disable -ftrivial-auto-var-init for DllBLocklistWin.cpp with clang-cl because the file's interceptions happen so early in the main process that the loader hasn't yet resolved the import of memset (used by -ftrivial-auto-var-init) from vcruntime140.dll.

Disable -ftrivial-auto-var-init on Linux32 because it causes some xpcshell test failures.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 07:08:29 +00:00
Chris Peterson 539da64637 Bug 1514965 - Part 1: Refactor mingw_clang checks for reuse. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27358

--HG--
extra : moz-landing-system : lando
2019-08-21 07:08:04 +00:00
Cameron Kaiser efe5f0901c Bug 1571613 - basic support for Power ISA SIMD detection (v2). r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D42592

--HG--
extra : moz-landing-system : lando
2019-08-21 03:36:55 +00:00
Mike Hommey e0be5605ec Bug 1575135 - Return an unicode path for nodejs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42606

--HG--
extra : moz-landing-system : lando
2019-08-20 21:24:35 +00:00
Mike Hommey 00256d3837 Bug 1575135 - Make configure sandbox open() look more like python 3's. r=nalexander
As a consequence, we can replace the encoded_open function that did the
same in an opt-in manner.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 04:44:43 +00:00
Mike Hommey 16c5b7db29 Bug 1575135 - Change get_cmd_output to emit unicode strings. r=nalexander
Because most calling places in python configure don't actually want to
deal with encodings, although in practical terms they should, make
get_cmd_output handle it itself.

Places that explicitly do want bytes can keep using subprocess directly.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 16:43:15 +00:00
Mike Hommey cce0006157 Bug 1575135 - Use functions from util.configure instead of subprocess.*. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42603

--HG--
extra : moz-landing-system : lando
2019-08-20 16:42:16 +00:00
Mike Hommey cc52fc2e1a Bug 1575135 - Define whether the system encoding is mbcs or utf-8 once. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42601

--HG--
extra : moz-landing-system : lando
2019-08-20 16:40:24 +00:00
Mike Hommey 76e02a9e5d Bug 1575135 - Remove unused subprocess imports. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42600

--HG--
extra : moz-landing-system : lando
2019-08-20 16:39:30 +00:00
Mike Hommey 2e9307d967 Bug 1574761 - Avoid race condition creating old-configure. r=nalexander
This is not something that happens under normal circumstances, but it
can happen when you go fancy and run multiple configures in parallel
with different objdirs, and old-configure doesn't exist in the first
place ; then one configure may overwrite old-configure while another is
starting to execute it, resulting in the latter nor executing
old-configure completely.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 23:21:27 +00:00
Nathan Froyd e03796ae1a Bug 1572724 - remove unused URL_REPO definition from build-clang.py; r=glandium
This definition is now unnecessary, given that the source code is
fetched for us from elsewhere.

Depends on D41368

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

--HG--
extra : moz-landing-system : lando
2019-08-09 21:12:31 +00:00
Nathan Froyd 10d28350d8 Bug 1572724 - preserve symlinks when installing libgcc; r=glandium
Otherwise we wind up with clownshoes like:

```
froydnj@hawkeye:/opt/build/froydnj/tmp/clang$ ls -l lib/libstdc++.so*
-rwxr-xr-x 1 froydnj froydnj 11633720 Aug  6 20:44 lib/libstdc++.so
-rwxr-xr-x 1 froydnj froydnj 11633720 Aug  6 20:44 lib/libstdc++.so.6
-rwxr-xr-x 1 froydnj froydnj 11633720 Aug  6 20:44 lib/libstdc++.so.6.0.24
```

and have duplicate copies of shared libraries in our toolchain packages,
which are not exactly small.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 21:11:31 +00:00
David Major 0db5cad5ae Bug 1574565 - Whitelist __cxx_atomic for memmove static analysis r=Ehsan
In some libstdc++ these appear in the inheritance hierarchy of __atomic_base, which is already whitelisted.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 23:01:03 +00:00
Mike Hommey 312ec28e99 Bug 1573566 - Move the real libxul definition in a subdirectory. r=froydnj
The current setup, where gtest/libxul uses the static library in
the same directory as the shared libxul, and somehow the backend ignores
gkrust for gtest/libxul, is fragile.

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

--HG--
rename : toolkit/library/dependentlibs.py => toolkit/library/build/dependentlibs.py
extra : moz-landing-system : lando
2019-08-16 21:44:10 +00:00
Razvan Maries cff855aa9c Backed out changeset 91eca815c9fc (bug 1562686) for build bustages. CLOSED TREE 2019-08-16 22:38:19 +03:00
Dustin J. Mitchell ad85abed68 Bug 1562686 - use AWS_IAM_CREDENTIALS_URL for all S3 sccache invocations r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41454

--HG--
extra : moz-landing-system : lando
2019-08-16 17:17:02 +00:00
Andreas Tolfsen 8350dc3134 bug 1540655: build, remote: add mach command for vendoring Puppeteer; r=firefox-build-system-reviewers,chmanchester
Introduces "./mach remote vendor-puppeteer" for vendoring the
Puppeteer client without dependencies into remote/test/puppeteer/.

The particular checkout of Puppeteer is
https://github.com/andreastt/puppeteer/tree/firefox, which contains a
couple of hotfixes we need for the client to work with the Firefox
implementation of CDP.

The remote agent targets a specific version of Puppeteer, so it is
not suitable for this to be vendored under third_party/.  We also
wouldn't want other code in central to accidentally use a patched fork.

The vendoring process is not part of "./mach vendor" because it does
not yet have Node.js support, and implementing that for mach is outside
the scope of getting the Puppeteer tests running with the remote agent.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:06 +00:00
Andreas Tolfsen 1c7db08de2 bug 1540655: build: sort MACH_MODULES; r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D37006

--HG--
extra : moz-landing-system : lando
2019-08-16 12:58:05 +00:00
Mike Hommey c173540215 Bug 1573435 - Use toolchain fetches for all remaining toolchain uses. r=nalexander
The remaining uses all need adjustements to in-tree mozconfigs, so they
all need to be done at once.

However, to make things slightly more intelligible, we do this in two
steps. This is step 1: we modify the use_toolchain transform to take care of
the transformation, while keeping the task definitions intact, so that
we only deal with mozconfig and build script adjustements here.

Differential Revision: https://phabricator.services.mozilla.com/D41890
2019-08-15 11:21:52 +09:00
Mike Hommey 639908c191 Bug 1573378 - Make build-clang independent of what MOZ_FETCHES_DIR resolves to. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41711
2019-08-15 11:21:42 +09:00
Ciure Andrei 8a1785a6cc Backed out 11 changesets (bug 1540655) for test_resolve.py perma failures CLOSED TREE
Backed out changeset 1a23d770d8a1 (bug 1540655)
Backed out changeset 641a7cb25298 (bug 1540655)
Backed out changeset 73236f81da44 (bug 1540655)
Backed out changeset 8d7bad30be46 (bug 1540655)
Backed out changeset bb012df3018b (bug 1540655)
Backed out changeset 8c67b494e207 (bug 1540655)
Backed out changeset c0a80d37576d (bug 1540655)
Backed out changeset 939ce2afcf0b (bug 1540655)
Backed out changeset 3b3a2a9fbc8b (bug 1540655)
Backed out changeset b96dede008ad (bug 1540655)
Backed out changeset 997d1568d944 (bug 1540655)
2019-08-14 18:53:36 +03:00
Andreas Tolfsen 1c16637ab1 bug 1540655: build, remote: add mach command for vendoring Puppeteer; r=firefox-build-system-reviewers,chmanchester
Introduces "./mach remote vendor-puppeteer" for vendoring the
Puppeteer client without dependencies into remote/test/puppeteer/.

The particular checkout of Puppeteer is
https://github.com/andreastt/puppeteer/tree/firefox, which contains a
couple of hotfixes we need for the client to work with the Firefox
implementation of CDP.

The remote agent targets a specific version of Puppeteer, so it is
not suitable for this to be vendored under third_party/.  We also
wouldn't want other code in central to accidentally use a patched fork.

The vendoring process is not part of "./mach vendor" because it does
not yet have Node.js support, and implementing that for mach is outside
the scope of getting the Puppeteer tests running with the remote agent.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 14:57:51 +00:00
Andreas Tolfsen e24280acf0 bug 1540655: build: sort MACH_MODULES; r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D37006

--HG--
extra : moz-landing-system : lando
2019-08-14 14:57:49 +00:00
Nathan Froyd 08b51223a9 Bug 1560666 - turn off C++17 aligned allocation support; r=glandium
Just like C++14 sized deallocation support, we don't want to support
this.  We shouldn't be using `new` on over-aligned types anyway.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 01:37:34 +00:00
Sylvestre Ledru 0dc8a7e274 Bug 1573769 - Update of the build-clang doc after the move to git r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D41910

--HG--
extra : moz-landing-system : lando
2019-08-14 07:40:58 +00:00
Nicholas Nethercote 4e52c0f072 Bug 1573080 - Fix some incorrect preprocessor.py docs. r=glandium
As shown by python/mozbuild/mozbuild/test/test_preprocessor.py, whitespace is
allowed within expressions, and chained #if/#elif/#else sequences work as you'd
expect.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 22:20:04 +00:00
Nathan Froyd 9fc6f1be89 Bug 1573601 - remove tabs in toolchain.configure; r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41800

--HG--
extra : moz-landing-system : lando
2019-08-13 18:12:54 +00:00
André Bargull 268981bb20 Bug 1539780: Remove "--with-intl-api=build" build config option. r=jwalden
There are about the same number of occurrences of "ENABLE_INTL_API" and "EXPOSE_INTL_API"
in the tree, so preferring one over the other doesn't lead to fewer changes. Therefore
I went with "ENABLE_INTL_API", because "ENABLE_" (resp. "MOZ_ENABLE") is already used as
the prefix for other preprocessor ifdef's.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:43:19 +00:00
Brendan Dahl b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
Nathan Froyd 3608ab49b8 Bug 1572216 - move LTO defaulting into mozconfig.win-common; r=glandium
Some recent changes to how we set cross-language LTO for Windows
resulted in compilation-time decreases and small performance regressions
on a few benchmarks.  The changes intended to remove explicit enablement
of cross-language LTO for all builds, but rely on shippable builds being
built with PGO and moz.configure's clever defaulting of cross-language
LTO for PGO'd builds on Windows, which would then enable cross-language
LTO for only shippable builds.

Obviously something went wrong with those changes.

The problem was our defaulting wasn't visible to moz.configure's logic
for how to pass command-line options to the JS subconfigure.  We set the
value (`cross`) after the value for `--enable-lto` has been determined,
and the default value is off (that is, `--disable-lto`).  Since
moz.configure is very thorough in passing configure options down into
JS, it dutifully looked at what the default value of `--enable-lto` was
supposed to be, and passed `--disable-lto` to JS's configure.

There's some evidence that we knew our defaulting was a little sketchy:
we'd only attempt cross-language LTO when we were performing the PGO use
phase, and only if the value of `--enable-lto` wasn't explicitly passed.
Which was a fine idea--you don't want to override what the user was
trying to do--but in the case of JS backfired on us: the value *was*
coming from the explicitly-passed command-line option of
`--disable-lto`.  So JS didn't enable any kind of LTO, with attendant
consequences.

This problem *didn't* happen before the aforementioned change because we
were explicitly specifying that `--enable-lto=cross` should be passed in
the mozconfig, which ensured that the correct setting was passed into
JS.  We were just setting `--enable-lto=cross` for *all* builds, which
was less than desirable.

The easiest way to fix all this is simply to put the
`--enable-lto=cross` setting in the Windows mozconfigs, conditional on
`MOZ_PGO_PROFILE_USE`.  That placement captures the intent of the
previous attempt at defaulting, but without the troubles described
above: the option explicitly appears on the command line, and
moz.configure will correctly pass it through to the JS subconfigure.
This also makes our Windows configuration closer to our Linux
configuration (the Linux configuration enables cross-language LTO for
both PGO phases, which is arguably a bug).

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

--HG--
extra : moz-landing-system : lando
2019-08-09 13:22:08 +00:00
Mike Hommey ee928b205d Bug 1572363 - Add a sparse profile for webrender tasks. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41152

--HG--
extra : moz-landing-system : lando
2019-08-08 13:47:51 +00:00
Justin Wood 605aa0fa02 Bug 1473498 - More support for py3. r=firefox-build-system-reviewers,mshal
This patch makes BuildEnvironmentNotFoundException a subclass of AttributeError as well, because hasattr in
python3 no longer catches all tracebacks but only AttributeError, and we use both hasattr and
BuildEnvironmentNotFoundException to guard against a handful of buildconfig variables in a few places
where it is OK to not have a buildenvironment.

We also use universal_newlines in real_host in init.configure (since I found
that fix while working on the AttributeError one) so that we get the right string type back from the process call

Lastly this patch also uses BytesIO for calling into a ReducedConfigureSandbox as its stdout and stderr pipes,
This ensures that related code handling the sandbox doesn't complain about getbuffer() missing in StringIO in py3.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 21:26:54 +00:00
Mike Hommey 375094b924 Bug 1571596 - Repack GCC and related source tarballs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40748
2019-08-07 13:54:27 +09:00
Mike Hommey 392c0b5ec8 Bug 1571576 - Flush stderr before running subprocesses in build-clang. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40728
2019-08-07 13:54:22 +09:00
Mike Hommey 9cfb69a1b0 Bug 1571566 - Fix cmake error handling in build-clang.py after python3 conversion. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D40720
2019-08-07 13:54:21 +09:00
Mike Hommey 0d49eb3466 Bug 1571562 - Make tooltool-download.sh download and extract to MOZ_FETCHES_DIR. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40712
2019-08-07 13:54:18 +09:00
Mike Hommey 034e9b6b7b Bug 1570541 - Use git fetch tasks for clang. r=froydnj
What this means is that the sources for clang/llvm are downloaded
separately from the toolchain build (which also means we finally only
download a given version of clang once for all platforms).

In turn, this means the build-clang.py script needs to start with an
existing llvm-project tree, and we choose to make build-clang.py expect
that it's run from the llvm-project root directory.

This also means we don't need to download git for the windows toolchain
task.

Differential Revision: https://phabricator.services.mozilla.com/D40402
2019-08-07 13:54:15 +09:00
Eric Rahm 26bdfd6480 Bug 1571836 - Enable Rust PGO on Linux64. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D40858

--HG--
extra : moz-landing-system : lando
2019-08-06 22:26:49 +00:00
Nicholas Nethercote 28a0265183 Bug 1569864 - Enable PHC on Win64 Nightly builds. r=glandium
Depends on D39841

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

--HG--
extra : moz-landing-system : lando
2019-08-03 00:20:09 +00:00
Bogdan Tara 0ffa9e372d Merge inbound to mozilla-central. a=merge 2019-08-03 12:47:05 +03:00
Mike Hommey 9b84c9014f Bug 1570598 - Pass the clang json file as an argument to the toolchain script. r=froydnj
Make the argument use the same format as resources, so move the
sub-script invocation accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D40364
2019-08-03 07:08:49 +09:00
Nathan Froyd 909e9c6f30 Bug 1568450 - explicitly specify a cpu for LTO linking on Windows; r=dmajor
By default, the linker chooses a "generic" 32-bit CPU to optimize for,
and LLVM's "generic" 32-bit CPU model doesn't include some features that
are helpful for performance on microbenchmarks.  We explicitly specify a
CPU model to ensure the model we want is selected.

On x86-64, we explicitly force a generically good processor model, even
though the automatically selected one didn't seem to hurt benchmarks.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:43:52 +00:00
Mike Hommey c638ab3c85 Bug 1570796 - Use a fetch task for hfsplus-tools source code. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D40329

MANUAL PUSH: avoid closing autoland while all docker images and
toolchains are rebuilt.
2019-08-02 19:07:06 +09:00
Mike Hommey 6e5fc78628 Bug 1570564 - Convert build-clang.py to python 3. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D40152
2019-08-02 19:06:20 +09:00
Mike Hommey 4c62b1281b Bug 1570515 - Change how build-clang.py consumes subprocess output. r=froydnj
Bug 1546136 wrapped subprocess execution output to capture cmake's, but
at the detriment of other output, and hiding everything unless an error
occurs.

So instead, we only capture the output when the called process is cmake,
and even when it is cmake, we don't pipe stderr at all (since we only
care about cmake's stdout) and we print out stdout as it comes in rather
than later. We then later check the output for hints at the more useful
cmake logs and dump them.

While here, add verbosity to ninja output (which gives the command
lines, rather than generic "Building foo.o" output).

Differential Revision: https://phabricator.services.mozilla.com/D40142
2019-08-02 19:06:00 +09:00
Nathan Froyd 8118763f6a Bug 1569709 - add --enable-profile-{generate,use}=cross option; r=mshal
This change gives us the ability to selectively turn on cross-language
PGO, just like we have the ability to selectively turn on cross-language LTO.

There is room for things to go wrong here: it's not guaranteed that
`--enable-profile-generate=cross` will always be used with
`--enable-profile-use=cross`.  Nothing bad will happen in the sense that
the build will succeed, but it's possible that we miss out on
optimizations on the Rust side.  Either we fail to generate profile data
for the Rust code, or the Rust compiler fails to use the profile data.

In the future, we may want to default to cross-language PGO to avoid
these kind of mismatches.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 00:57:46 +00:00
Nathan Froyd f51898d9da Bug 1568026 - move LTO/PGO configure bits to a new file; r=dmajor
To do properly checks on LLVM version correspondence between `clang` and
`rustc`, we need information about both of those compilers to be
available.  The current placement of the LTO/PGO checks is after we know
something about `clang`, but before we know something about `rustc`.
Therefore we need to move those checks after we've gathered information
about `rustc`.

The PGO bits come along for this bug because the LTO bits depend on
them, and we're going to need the Rust information for cross-language
PGO checks in a different bug.  So we might as well move everything all
at once.

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

--HG--
rename : build/moz.configure/toolchain.configure => build/moz.configure/lto-pgo.configure
extra : moz-landing-system : lando
2019-07-30 16:38:39 +00:00
Nathan Froyd 748c1f7ff0 Bug 1568026 - parse the LLVM version from rustc's version output; r=dmajor
This change will eventually enable us to cross-check `rustc`'s version
with `clang`'s version when doing cross-language LTO/PGO and avoid
people running into peculiar errors at link time.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 20:45:34 +00:00
Razvan Maries 3ca183c1a2 Merge mozilla-inbound to mozilla-central a=merge 2019-08-02 00:21:57 +03:00
Sylvestre Ledru 2505df426c Bug 1566336 - Build clang from git rather than subversion. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D38361

MANUAL PUSH: avoid closing autoland while clang rebuilds.
2019-08-01 07:26:55 +09:00
Mike Hommey 70693454fd Bug 1570224 - Use nproc instead of getconf _NPROCESSORS_ONLN. r=nalexander
Plenty of places use `nproc`, and only a couple use `getconf
_NPROCESSORS_ONLN`. Use the former instead of the latter.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 17:21:22 +00:00
Andrew Halberstadt d3ccaac56c Bug 1473498 - Fix Python 3 environment variables with subprocess r=glandium
On Windows in Python 2, the subprocess module requires the use of bytes with
the 'env' argument. For that reason, we would sometimes use byte strings with
'os.environ' like so:

    os.environ[b"FOO"] = b"bar"

However, this is a failure with Python 3 as 'os.environ' must only be used with
the text type. This patch creates a new 'setenv' helper that ensures we create
new environment with 'bytes' on Python 2, and 'text' on Python 3.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 21:35:53 +00:00
Aaron Klotz 20bd2d4b30 Bug 1569681: Part 2 - Add new clang-plugin tests for moz_static_local_class and moz_trivial_destructor attributes; r=Ehsan
These tests are based on `moz_global_class` and `moz_trivial_ctor_dtor` tests,
respectively, but adapted for the semantics of the new attributes.

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

--HG--
rename : build/clang-plugin/tests/TestGlobalClass.cpp => build/clang-plugin/tests/TestStaticLocalClass.cpp
rename : build/clang-plugin/tests/TestTrivialCtorDtor.cpp => build/clang-plugin/tests/TestTrivialDtor.cpp
extra : moz-landing-system : lando
2019-07-30 18:50:54 +00:00
Aaron Klotz b21e723d2e Bug 1569681: Part 1 - Add support for moz_static_local_class and moz_trivial_dtor to clang-plugin; r=Ehsan
This patch is in support of adding a variant of Static{Auto,Ref}Ptr for use as
static locals, taking advantage of C++11 "magic statics" such that we can lazily
initialize those variables in a thread-safe way.

In support of those classes, this patch adds two new attributes:

* `moz_static_local_class` to ensure that any instantiations of that class only
  occur as static local variables;
* `moz_trivial_dtor` to ensure that these classes do not implicitly call `atexit`
  and add a whole bunch of shutdown crap.

`moz_static_local_class` works similarly to `moz_global_class`, except that its
object must only instantiate as static locals.

`TrivialDtorChecker` is based on `TrivialCtorDtorChecker`, with the ctor-specific
bits removed.

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

--HG--
rename : build/clang-plugin/TrivialCtorDtorChecker.cpp => build/clang-plugin/TrivialDtorChecker.cpp
rename : build/clang-plugin/TrivialCtorDtorChecker.h => build/clang-plugin/TrivialDtorChecker.h
extra : moz-landing-system : lando
2019-07-30 18:50:52 +00:00
Mike Hommey 713a866401 Bug 1569355 - Upgrade python-zstandard to 0.11.1. r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D39583

MANUAL PUSH: avoid closing autoland while all docker images and
toolchains are rebuilt due to both changes.
2019-07-30 14:49:16 +09:00
Makoto Kato 44c1524bcd Bug 1568455 - Detect Android NDK on Windows. r=nalexander
Toolchain path for Windows version is `<NDK ROOT>/toolchains/llvm/prebuilt/windows-x86_64` etc, so it isn't '`winnt`.
So we has to replace `host.kernel.lower()` with `windows`.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 15:54:07 +00:00
Nathan Froyd 23b65ca007 Bug 1563204 - diagnose issues on Mac with cross-language LTO early; r=dmajor
...rather than people running into peculiar crashes running their tests
because functions are pointing at the wrong thing.

It would be more robust to version-check `ld`, but I figure people
wanting to do local cross-language LTO builds is rare enough that
setting an environment variable and rerunning configure is not a huge
hardship.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 14:26:51 +00:00
Andreea Pavel 08dfeb92cf Backed out changeset b80d14f72e5b (bug 1563204) build bustges on a CLOSED TREE 2019-07-25 17:13:14 +03:00
Nathan Froyd 6112863ed7 Bug 1563204 - diagnose issues on Mac with cross-language LTO early; r=dmajor
...rather than people running into peculiar crashes running their tests
because functions are pointing at the wrong thing.

It would be more robust to version-check `ld`, but I figure people
wanting to do local cross-language LTO builds is rare enough that
setting an environment variable and rerunning configure is not a huge
hardship.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 13:16:59 +00:00
Makoto Kato f8907645db Bug 1568452 - Move ANDROID and ANDROID_PLATFORM to moz.configure r=froydnj
ANDROID_SOURCE is for gonk, so it is unnecessary now.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:41:20 +00:00
Nick Alexander 280126dff5 Bug 1564256 - Part 2: Produce browsertime.zip in a toolchain task. r=mshal
In browsertime.zip we should have:

browsertime/
  package.json
  package-lock.json
  node_modules/
    .bin/
      browsertime -> ../browsertime/bin/browsertime.js
    browsertime/
      ...

The idea is that we'll fetch browsertime.zip in a generic-worker
environment and be able to run Node.js from within the top level
browsertime/ directory.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 20:59:55 +00:00
Mike Shal 98ffc560c9 Bug 1561146 - Enable PGO for Windows aarch64 builds; r=firefox-build-system-reviewers,chmanchester
This build re-uses the PGO profile from the win64 build in the
win64-aarch64-shippable-no-eme part of the aarch64 build. Even though
the profile isn't generated on the smae platform, we still get enough of
a performance win to make this worthwhile.

Note that the pgo_flags() in configure need to be tweaked slightly since
we don't supprt the -fprofile-generate flag for aarch64 (we don't build
the clang_rt.profile lib there). So we always want to return the flags
namespace to make sure we get the use_* versions of flags, which we do
need.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 23:42:47 +00:00
Mike Hommey 6a8d20b0cc Bug 1564216 - Require clang 5 for OSX builds. r=froydnj
There is less incentive to keep things building with older versions of
clang for OSX builds, and we're going to require an objective-C feature
that was added in clang 5.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 21:31:39 +00:00
Simon Sapin 0540fe3688 Bug 1565193 - Require Rust 1.36 r=glandium
MozReview-Commit-ID: GjcKBjZvTPr

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

--HG--
extra : moz-landing-system : lando
2019-07-19 04:50:22 +00:00
Nicholas Nethercote 3b27d4cb5e Bug 1567065 - Enable PHC on Linux64 Nightly builds. r=glandium
Depends on D38444

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

--HG--
extra : moz-landing-system : lando
2019-07-19 11:28:46 +00:00
Agi Sferro d0cb127dad Bug 1515248 - Upgrade to Android-Gradle plugin 3.2.1 and build-tools 28.0.3. r=agi
Differential Revision: https://phabricator.services.mozilla.com/D15159

--HG--
extra : moz-landing-system : lando
2019-07-20 17:27:53 +00:00
Makoto Kato c0d323f7d3 Bug 1567069 - Set valid _DEPEND_CFLAG for host compiler when target and host are different type. r=glandium
Actually we set _DEPEND_CFLAGS to both host and target compiler. But if host and target are different compiler type, we may pass invalid option.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 07:46:03 +00:00
David Walsh 5b1625c2cb Bug 1561723 - Add debugger to whitelist for import-pr usage r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D36082

--HG--
rename : gfx/thebes/mach_commands.py => tools/vcs/mach_commands.py
extra : moz-landing-system : lando
2019-07-19 14:18:56 +00:00
Csoregi Natalia 96403eac4f Merge inbound to mozilla-central. a=merge 2019-07-19 12:43:24 +03:00
Mike Hommey 83c4e99e8e Bug 1566768 - Upgrade valgrind to 3.15.0. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D38296

--HG--
extra : moz-landing-system : lando
2019-07-19 04:28:38 +00:00
Nicholas Nethercote 44ed879798 Bug 1523276 - Disable PHC for the moment. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D38444

--HG--
extra : rebase_source : 1b7fc097a624c53e0a9c24737738c044e60d0238
2019-07-18 10:46:37 +10:00
Nathan Froyd 2c71c84a33 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-07-16 02:39:18 +00:00
Nathan Froyd bde244933a Bug 1486042 - switch all existing `MOZ_LTO` configs to use cross-language LTO; r=dmajor
This change is a no-op for win64 configs, as they had this feature before.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 02:39:16 +00:00
Nicholas Nethercote 38dbbfcffc Bug 1523276 - Implement PHC, a probabilistic heap checker. r=glandium,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25021

--HG--
extra : rebase_source : 86e94499f746b18a596130341692c6a9992d4867
2019-07-03 09:26:11 +10:00
Sylvestre Ledru c9832fdc18 Bug 1566409 - Force the deactivation of the llvm binding generation r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D38176

--HG--
extra : moz-landing-system : lando
2019-07-17 05:07:53 +00:00
Andi-Bogdan Postelnicu 782c64d21c Bug 1514801 - refactor clang based checker - KungFuDeathGripChecker. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D38187

--HG--
extra : moz-landing-system : lando
2019-07-17 05:05:30 +00:00
Mike Hommey 9f33118c8c Bug 1562952 - Always build signmar when mar is built. r=nalexander
When we build mar, there is no reason not to build signmar as well. It
used to be optional because not all platforms were supported, but they
are now.

... except when building the newly added tools/update-packaging,
which builds the mar tool as a standalone thing, and building signmar
as well causes complications.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 19:01:03 +00:00
Mike Hommey 79919f31ad Bug 1357317 - Add an rpath to cctools such that it doesn't require LD_LIBRARY_PATH at run-time. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D38140

--HG--
extra : moz-landing-system : lando
2019-07-16 20:54:42 +00:00
Kartikaya Gupta 2d73759624 Bug 1523321 - Run the wrupdater on m-c pushes that touch gfx/wr. r=tomprince,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33548

--HG--
extra : moz-landing-system : lando
2019-07-16 15:38:39 +00:00
Andrew Halberstadt 39c3fe6605 Bug 1473498 - Don't add backport libraries to the Py3 environment r=Callek
Depends on D37762

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

--HG--
extra : moz-landing-system : lando
2019-07-15 17:39:21 +00:00
Narcis Beleuzu ab956a715f Backed out 2 changesets (bug 1523321) for webrender bustages. CLOSED TREE
Backed out changeset d86e7c8f1e14 (bug 1523321)
Backed out changeset 18414da977c3 (bug 1523321)
2019-07-16 18:23:45 +03:00
Kartikaya Gupta b3bebb6eca Bug 1523321 - Run the wrupdater on m-c pushes that touch gfx/wr. r=tomprince,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33548

--HG--
extra : moz-landing-system : lando
2019-07-16 14:09:47 +00:00
Brindusan Cristian 3de8b088e1 Backed out 2 changesets (bug 1523321) for breaking Gecko Decision Task. CLOSED TREE
Backed out changeset c032bed595dc (bug 1523321)
Backed out changeset 0a4f53b896b1 (bug 1523321)
2019-07-16 17:00:24 +03:00
Kartikaya Gupta c6cc78e85f Bug 1523321 - Run the wrupdater on m-c pushes that touch gfx/wr. r=tomprince,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D33548

--HG--
extra : moz-landing-system : lando
2019-07-16 13:49:54 +00:00
Mike Shal 562accde43 Bug 1561474 - Define and use a sparse profile for the profile-run task; r=sheehan
This was originally from bug 1528374 for Mac PGO, but that isn't able to
land yet and it should help Windows PGO runs in the meantime.

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

--HG--
extra : moz-landing-system : lando
2019-07-15 21:40:09 +00:00
Csoregi Natalia fcccd2b6b0 Merge mozilla-central to autoland. CLOSED TREE 2019-07-12 02:06:45 +03:00
Csoregi Natalia 65fc5da4af Merge autoland to mozilla-central. a=merge 2019-07-12 01:59:03 +03:00
Bogdan Tara 4d6dbdf94c Backed out 2 changesets (bug 1562952) for causing mar-tools failures a=backout
Backed out changeset 6b09d4c0868c (bug 1562952)
Backed out changeset 250696e18e7d (bug 1562952)
2019-07-12 00:04:53 +03:00
Mike Hommey f7f0525dc1 Bug 1564314 - Move gdbpp back to python/. r=nalexander
Somehow bug 1346025 moved it to third_party/python but... it's not third
party code.

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

--HG--
rename : third_party/python/gdbpp/gdbpp/__init__.py => python/gdbpp/gdbpp/__init__.py
rename : third_party/python/gdbpp/gdbpp/enumset.py => python/gdbpp/gdbpp/enumset.py
rename : third_party/python/gdbpp/gdbpp/linkedlist.py => python/gdbpp/gdbpp/linkedlist.py
rename : third_party/python/gdbpp/gdbpp/owningthread.py => python/gdbpp/gdbpp/owningthread.py
rename : third_party/python/gdbpp/gdbpp/smartptr.py => python/gdbpp/gdbpp/smartptr.py
rename : third_party/python/gdbpp/gdbpp/string.py => python/gdbpp/gdbpp/string.py
rename : third_party/python/gdbpp/gdbpp/tarray.py => python/gdbpp/gdbpp/tarray.py
rename : third_party/python/gdbpp/gdbpp/thashtable.py => python/gdbpp/gdbpp/thashtable.py
extra : moz-landing-system : lando
2019-07-11 02:39:31 +00:00
Tom Prince 0cd3337d90 Bug 1458385: Package mar and mbsdiff as a toolchain; r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D24229

--HG--
extra : moz-landing-system : lando
2019-07-11 16:40:13 +00:00
Andrew Halberstadt 1190fb0269 Bug 1563797 - Use 'backports.shutil_which' instead of 'which' in the build system r=firefox-build-system-reviewers,chmanchester
Credit: Callek for figuring out an issue in 'make check' making the binary
absolute in mozbuild.base.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 14:04:39 +00:00
Andrew Halberstadt 54355ca715 Bug 1563797 - Vendor backports.shutil_which r=Callek
I couldn't use 'mach vendor python' to get this module in-tree because that
puts a 'backports' module on the PYTHONPATH. This is a problem because many
(most?) compatibility backports also use a 'backports' library. So in the
likely event that a user happens to have one of these installed in their
system Python, we'll search that module before the vendored one and fail to
find it.

This gets around the issue by foregoing 'backports' and just putting
'shutil_which' on the path

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

--HG--
extra : moz-landing-system : lando
2019-07-11 14:03:30 +00:00
Mike Hommey c957b25a9f Bug 1562952 - Always build signmar when mar is built. r=nalexander
When we build mar, there is no reason not to build signmar as well. It
used to be optional because not all platforms were supported, but they
are now.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 06:09:02 +00:00
Andreea Pavel 5d60cdbd27 Backed out 2 changesets (bug 1562952) for failing xpcshell at test_create.js on a CLOSED TREE
Backed out changeset 12099ffad9ca (bug 1562952)
Backed out changeset fc4a6e8f6e34 (bug 1562952)
2019-07-10 11:06:58 +03:00
Andreea Pavel a35fc693c4 Backed out changeset fa94c9a03e3f (bug 1564314) for linting failures on a CLOSED TREE
--HG--
rename : python/gdbpp/gdbpp/__init__.py => third_party/python/gdbpp/gdbpp/__init__.py
rename : python/gdbpp/gdbpp/enumset.py => third_party/python/gdbpp/gdbpp/enumset.py
rename : python/gdbpp/gdbpp/linkedlist.py => third_party/python/gdbpp/gdbpp/linkedlist.py
rename : python/gdbpp/gdbpp/owningthread.py => third_party/python/gdbpp/gdbpp/owningthread.py
rename : python/gdbpp/gdbpp/smartptr.py => third_party/python/gdbpp/gdbpp/smartptr.py
rename : python/gdbpp/gdbpp/string.py => third_party/python/gdbpp/gdbpp/string.py
rename : python/gdbpp/gdbpp/tarray.py => third_party/python/gdbpp/gdbpp/tarray.py
rename : python/gdbpp/gdbpp/thashtable.py => third_party/python/gdbpp/gdbpp/thashtable.py
2019-07-10 10:12:34 +03:00
Mike Hommey 2f3833c4b3 Bug 1564314 - Move gdbpp back to python/. r=nalexander
Somehow bug 1346025 moved it to third_party/python but... it's not third
party code.

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

--HG--
rename : third_party/python/gdbpp/gdbpp/__init__.py => python/gdbpp/gdbpp/__init__.py
rename : third_party/python/gdbpp/gdbpp/enumset.py => python/gdbpp/gdbpp/enumset.py
rename : third_party/python/gdbpp/gdbpp/linkedlist.py => python/gdbpp/gdbpp/linkedlist.py
rename : third_party/python/gdbpp/gdbpp/owningthread.py => python/gdbpp/gdbpp/owningthread.py
rename : third_party/python/gdbpp/gdbpp/smartptr.py => python/gdbpp/gdbpp/smartptr.py
rename : third_party/python/gdbpp/gdbpp/string.py => python/gdbpp/gdbpp/string.py
rename : third_party/python/gdbpp/gdbpp/tarray.py => python/gdbpp/gdbpp/tarray.py
rename : third_party/python/gdbpp/gdbpp/thashtable.py => python/gdbpp/gdbpp/thashtable.py
extra : moz-landing-system : lando
2019-07-09 16:09:14 +00:00
Mike Hommey 1c3ea4d6bf Bug 1562952 - Always build signmar when mar is built. r=nalexander
When we build mar, there is no reason not to build signmar as well. It
used to be optional because not all platforms were supported, but they
are now.

--disable-verify-mar is kept to still allow to disable mar verification in
the updater for debugging purpose.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 03:17:26 +00:00
André Bargull 2268647965 Bug 1473229 - Part 1: Bump minimum required ICU version to 64.1. r=jwalden
- Part 3 uses functions added in ICU 64, so we need to bump the version requirement.
- Also remove a version check which is now true be default.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 10:04:06 +00:00
Mihai Alexandru Michis 57a64c3906 Backed out 3 changesets (bug 1473229) for causing bustages in ICUStubs.h CLOSED TREE
Backed out changeset 953a2bd4220b (bug 1473229)
Backed out changeset f3a2031bde94 (bug 1473229)
Backed out changeset 5109ce5a4b44 (bug 1473229)
2019-07-09 12:07:22 +03:00
André Bargull cafc533177 Bug 1473229 - Part 1: Bump minimum required ICU version to 64.1. r=jwalden
- Part 3 uses functions added in ICU 64, so we need to bump the version requirement.
- Also remove a version check which is now true be default.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 08:44:28 +00:00
Csoregi Natalia 3ee5aa5125 Backed out changeset 43e086ced66f (bug 1562953) for toolchains bustage. CLOSED TREE 2019-07-09 08:54:59 +03:00
Nathan Froyd c762dc8e76 Bug 1562953 - update cctools-port; r=mshal
We need a fix from `cctools-port` master for cross-language LTO builds
to work properly on the Mac.  Rather than cherry-picking yet another
commit, which would have to deal with a updated `ld64` upstream, we've
opted to go ahead and update directly to upstream.

This choice brings about some significant build changes, as TAPI support
has moved to a different library that is not easily buildable directly.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 04:59:37 +00:00
Mike Hommey 280a850db7 Bug 1561821 - Enable frame pointers in Rust code when building with --enable-frame-pointers. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D37021

--HG--
extra : moz-landing-system : lando
2019-07-05 00:08:32 +00:00
Mike Hommey 3ea251d03f Bug 1561821 - Bump toolkit/crashreporter's minimum supported rust version. r=dmajor
As it turns out, the version the minidump-stackwalk tasks use (1.31), is
the first version that actually builds the project: 1.30 and earlier
fail because for some reason, cargo wants to read all Cargo.toml files
in the workspace, including unrelated ones, and barfs on features that
weren't supported until 1.31.

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

--HG--
extra : moz-landing-system : lando
2019-07-05 22:01:23 +00:00
Jonathan Kingston 31441f82ea Bug 1560455 - rename CodebasePrincipal to ContentPrincipal. r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D35504

--HG--
extra : moz-landing-system : lando
2019-07-08 16:37:45 +00:00
Makoto Kato ecd47d34f4 Bug 1562389 - Better detect non-clang-cl native windows clang. r=glandium
When building Gecko/Android/aarch64 on Windows, `--target` parameter may not be incorrect value. Although `check_compiler`'s `info` is target compiler, clang on Windows is always detected as `clang-cl`, not `clang`.

```
c:/Users/mkato/.mozbuild/clang/bin/clang.exe -E  -dM - < /dev/null
...
#define _MSC_VER 1916
```

So even if using clang on Windows, not clang-cl, we should detect as 'clang' correctly

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

--HG--
extra : moz-landing-system : lando
2019-07-08 10:35:40 +00:00
Makoto Kato b26c7976c7 Bug 1562389 - Set correct triple for rustc when host and target are different compiler type. r=froydnj
When host and target are different compiler type, triple for rustc may be incorrect. If target is clang, host is always clang, not using host compiler type.

Example, when host is clang-cl for windows, and target is clang for Android, host's triple for ructc sets `windows-gnu`, not `windows-msvc`.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 10:35:31 +00:00
Sylvestre Ledru fc2eb5393c Bug 1562642 - Part 2 - Add missing MPL2 headers r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D37146

--HG--
extra : moz-landing-system : lando
2019-07-08 09:27:47 +00:00
Mike Hommey 1e693768bf Bug 1563465 - Remove leftovers from bug 1451104. r=froydnj
Bug 1451104 removed the GCC 4.9 toolchain, but left the build script and
the patch that only that toolchain build was using.

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

--HG--
extra : moz-landing-system : lando
2019-07-04 13:00:43 +00:00
shindli d3e7218ba8 Backed out 2 changesets (bug 1562389) for causing bustages in ../python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::WindowsToolchainTest::test_clang_cl CLOSED TREE
Backed out changeset 7dbb546e6138 (bug 1562389)
Backed out changeset 68ad44276058 (bug 1562389)
2019-07-04 07:44:49 +03:00
Makoto Kato fa0b6ffc5f Bug 1562389 - Better detect non-clang-cl native windows clang r=glandium
When building Gecko/Android/aarch64 on Windows, `--target` parameter may not be incorrect value. Although `check_compiler`'s `info` is target compiler, clang on Windows is always detected as `clang-cl`, not `clang`.

```
c:/Users/mkato/.mozbuild/clang/bin/clang.exe -E  -dM - < /dev/null
...
#define _MSC_VER 1916
```

So even if using clang on Windows, not clang-cl, we should detect as 'clang' correctly

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

--HG--
extra : moz-landing-system : lando
2019-07-04 01:28:12 +00:00
Makoto Kato 52aaf37d4d Bug 1562389 - Set correct triple for rustc when host and target are different compiler type. r=froydnj
When host and target are different compiler type, triple for rustc may be incorrect. If target is clang, host is always clang, not using host compiler type.

Example, when host is clang-cl for windows, and target is clang for Android, host's triple for ructc sets `windows-gnu`, not `windows-msvc`.

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

--HG--
extra : moz-landing-system : lando
2019-07-01 20:11:08 +00:00
David Major 3eb2b38c97 Bug 1563252 - Merge LLVM fix for ASan with VS2019 r=froydnj
https://reviews.llvm.org/rL357725

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

--HG--
extra : moz-landing-system : lando
2019-07-03 20:04:21 +00:00
Mike Hommey d26da0b870 Bug 1560044 - Make Xcode checks macOS host only. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36559

--HG--
extra : moz-landing-system : lando
2019-07-02 23:24:57 +00:00
Mike Hommey 7256ffeb9b Bug 1560044 - Always use a SDK path on macOS. r=nalexander
The SDK headers may not be installed in /usr/include. The usual response
has been to have people run e.g. `open
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`
which is not really sustainable.

This makes builds that happen on a macOS host try to detect their SDK
and use that as a default for --with-macos-sdk, which has the side
effect of enabling the SDK version check in that configuration.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 22:11:05 +00:00
Mike Hommey dc4a97fb4e Bug 1560044 - Allow --with-macos-sdk as an option when cross-compiling on macOS. r=nalexander
Building host tools on macOS require a macOS SDK, but it's currently
not configurable when cross-compiling for e.g. Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 23:25:01 +00:00
Mike Hommey 7905091bbe Bug 1528314 - Make configure find an appropriate java via /usr/libexec/java_home on macOS. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36561

--HG--
extra : moz-landing-system : lando
2019-07-02 23:25:04 +00:00
Andreea Pavel c92947ecc6 Backed out 5 changesets (bug 1528314, bug 1560044) for build bustages on a CLOSED TREE
Backed out changeset 4a544cd4b035 (bug 1528314)
Backed out changeset 91919cdf9159 (bug 1528314)
Backed out changeset 1271940e91e8 (bug 1560044)
Backed out changeset a5bbaa8c1001 (bug 1560044)
Backed out changeset 7ae0d606f1c6 (bug 1560044)
2019-07-03 02:20:15 +03:00
Mike Hommey 5762785f58 Bug 1528314 - Make configure find an appropriate java via /usr/libexec/java_home on macOS. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36561

--HG--
extra : moz-landing-system : lando
2019-07-02 17:25:05 +00:00
Mike Hommey e1e0add912 Bug 1560044 - Make Xcode checks macOS host only. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36559

--HG--
extra : moz-landing-system : lando
2019-07-02 17:24:04 +00:00
Mike Hommey 65dabdc42b Bug 1560044 - Always use a SDK path on macOS. r=nalexander
The SDK headers may not be installed in /usr/include. The usual response
has been to have people run e.g. `open
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`
which is not really sustainable.

This makes builds that happen on a macOS host try to detect their SDK
and use that as a default for --with-macos-sdk, which has the side
effect of enabling the SDK version check in that configuration.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:23:23 +00:00
Mike Hommey 4e854757b0 Bug 1560044 - Allow --with-macos-sdk as an option when cross-compiling on macOS. r=nalexander
Building host tools on macOS require a macOS SDK, but it's currently
not configurable when cross-compiling for e.g. Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:21:54 +00:00
David Major 88ae3f5fcb Bug 1557338 - Fix up TestSprintfLiteral.cpp for warnings on clang trunk r=andi
LLVM r356397 added some new warnings to the compiler that in this file complain about `size argument is too large; destination buffer has size 100, but size argument is 101`.

The easiest path is to just remove those lines; doing so doesn't really weaken the test coverage of the SprintfLiteral checker.

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

--HG--
extra : moz-landing-system : lando
2019-07-01 21:37:44 +00:00
Mihai Alexandru Michis a2163018a4 Backed out changeset 23973e3a5e95 (bug 1557338) for causing bustages on OS X Cross Compiled. CLOSED TREE 2019-07-02 00:30:06 +03:00
David Major 213d34fa80 Bug 1557338 - Fix up TestSprintfLiteral.cpp for warnings on clang trunk r=andi
LLVM r356397 added some new warnings to the compiler that in this file complain about `size argument is too large; destination buffer has size 100, but size argument is 101`.

The easiest path is to just remove those lines; doing so doesn't really weaken the test coverage of the SprintfLiteral checker.

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

--HG--
extra : moz-landing-system : lando
2019-07-01 18:32:34 +00:00
Andi-Bogdan Postelnicu 247d96a5f4 Bug 1559740 - add separate modules for build, static-analysis and artifacts. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D36479

--HG--
extra : moz-landing-system : lando
2019-07-01 14:02:20 +00:00
Sylvestre Ledru da21266863 Bug 1559740 - Move the clang-{format,tidy} and infer declarations into a separate directory r=andi
Differential Revision: https://phabricator.services.mozilla.com/D35187

--HG--
extra : moz-landing-system : lando
2019-07-01 13:57:18 +00:00
Kartikaya Gupta 721a5dbcf4 Bug 1558598 - Ensure mozinfo correctly detects WebRender. r=ahal
I don't know if this covers all the things that use mozinfo (probably not)
but it covers all the suites that use mozinfo and have webrender conditions
in the test manifests (i.e. mochitest and wpt variants).

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

--HG--
extra : moz-landing-system : lando
2019-06-29 09:51:14 +00:00
championshuttler e2b2c11969 Bug 1536103 - Fix Sphinx Warning - Title Underline too short in 'mach doc' (2). r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D35309

--HG--
extra : moz-landing-system : lando
2019-06-25 12:02:51 +00:00
Cosmin Sabou 20f7fd4c63 Backed out 3 changesets (bug 1559740) for linting errors and android bustages. CLOSED TREE
Backed out changeset 39db36060b8a (bug 1559740)
Backed out changeset df14ac0c2421 (bug 1559740)
Backed out changeset 089e04f53971 (bug 1559740)
2019-06-28 19:40:13 +03:00
Sylvestre Ledru 85ae7943fc Bug 1559740 - Move the clang-{format,tidy} and infer declarations into a separate directory r=andi
Differential Revision: https://phabricator.services.mozilla.com/D35187

--HG--
extra : moz-landing-system : lando
2019-06-28 07:39:48 +00:00
David Major 029c3f2a24 Bug 1561822 - Clean up a workaround for frame pointer flags in aarch64 clang-cl r=froydnj
Glandium pointed out that we're actually using the same flag for both `enable=` and `disable=`. Oops.

It turns out that we don't need this code anymore anyway, since the needed patch got merged to clang 8.0.0 [0], which we now require [1].

[0] https://reviews.llvm.org/rGa576b44d09080661fc9f83a94f66eccb44d5f3ce
[1] https://hg.mozilla.org/integration/autoland/rev/0a49234facf2

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

--HG--
extra : moz-landing-system : lando
2019-06-28 13:55:01 +00:00
Emilio Cobos Álvarez 3d0f056ca7 Bug 1559814 - Update cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36020

--HG--
extra : moz-landing-system : lando
2019-06-26 20:32:41 +00:00
Mike Hommey ed3910db06 Bug 1560545 - Force-enable wayland support in Linux builds. r=chmanchester
So that we don't end up disabling it by accident.

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

--HG--
extra : moz-landing-system : lando
2019-06-26 06:03:20 +00:00
Cosmin Sabou 58cc56c50f Backed out 3 changesets (bug 1560545) for causing build bustages. CLOSED TREE
Backed out changeset 31177fcc3123 (bug 1560545)
Backed out changeset e3e1ad8d7709 (bug 1560545)
Backed out changeset fd64770f1342 (bug 1560545)
2019-06-26 07:56:47 +03:00
Mike Hommey 54617f4cc0 Bug 1560545 - Force-enable wayland support in Linux builds on automation. r=chmanchester
So that we don't end up disabling it by accident.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 20:22:15 +00:00
Mike Hommey 7d0561299d Bug 1561465 - Remove ELOG. r=nalexander
The condition that enabled ELOG to do something has been broken since
bug 279212 landed two years ago, because MAKEFLAGS doesn't contain the
dash for flags, so looking for "-s" never did anything.

Bug 1560527 changed the condition to !BUILD_VERBOSE_LOG, which as of the
previous commit, does work. This would restore the old behavior, at the
expense of build time, since it involves wrapping in a shell script,
which is not necessarily desirable (and hasn't been done for two years
now)

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

--HG--
extra : moz-landing-system : lando
2019-06-26 02:20:29 +00:00
Mike Shal 9ea52410d9 Bug 1557785 - Fix automatic setting of LTO with clang-cl; r=dmajor
With clang-cl and PGO enabled, toolchain.configure automatically turns
on LTO for compatibility with MSVC. However, MOZ_PGO is set for both the
profile-generate and profile-use builds in a 3-tier PGO setup via
imply_option(), but we only want LTO enabled for the profile-use build
(see bug 1483778).

For 1-tier PGO builds, which are still used by local developers, MOZ_PGO
will be set and --enable-profile-generate will be unset, so LTO will be
automatically enabled. The profiledbuild target in make is responsible
for disabling MOZ_LTO on the profile-generate build.

For 3-tier PGO builds, MOZ_PGO will still be set, so we can skip setting
LTO in configure when --enable-profile-generate is set.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 18:38:15 +00:00
Mike Shal 628c15f57c Bug 1557785 - Allow LLVM_PROFDATA to work even if not explicitly set in the environment; r=firefox-build-system-reviewers,chmanchester
Windows finds llvm-profdata in the PATH, in contrast to Linux or Android
builds that set LLVM_PROFDATA as an environment variable in mozconfigs.
The pgo_profile_path() configure checks should still work in this case.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 22:05:56 +00:00
Mike Shal 5e2e67f17f Bug 1557785 - Hook MOZ_PGO_PROFILE_USE environment variable into common Windows mozconfig; r=firefox-build-system-reviewers,chmanchester
MOZ_PGO_PROFILE_USE is set when the use-pgo attribute is defined in the
task. This environment variable is used to enable --enable-profile-use
and related configure flags.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 22:05:52 +00:00
David Major df7699c43c Bug 1561350 - Fix libclang detection for clang-cl 9 r=glandium
In the clang-cl 9 case where we have semicolon-separated paths, the `dirs` variable is never read, so the libclang detection fails.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 20:39:01 +00:00
Kartikaya Gupta 870cc36ca1 Bug 1519598 - Add a mach command to import PRs from github. r=kvark,ahal
This is a simple mach command that imports a PR from a whitelisted set
of github repositories into the local m-c clone. It works by downloading
the .patch file from github, splitting the different commits, and
applying those commits to the local repo via the `patch` tool and git/hg
commit. It optionally allows filing a bug or providing a bug number, and
specifying a reviewer.

This is one part of a larger workflow that facilitates landing
contributor patches into m-c when those patches are submitted as PRs.
Other components of the workflow (to be added in the future) will make
it easier to actually test and land the patch.

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

--HG--
extra : moz-landing-system : lando
2019-06-24 20:30:32 +00:00
Petr Sumbera 506f679f53 Bug 1554582 - Solaris SPARC packaging should include libfreebl_64fpu_3.so and libfreebl_64int_3.so r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D32690

--HG--
extra : moz-landing-system : lando
2019-06-19 09:34:51 +00:00
Wes Kocher dca287e7da Bug 1560077 - Fix typo in sparse checkout docs
Differential Revision: https://phabricator.services.mozilla.com/D35299

--HG--
extra : moz-landing-system : lando
2019-06-19 05:24:56 +00:00
Mike Hommey 5091811073 Bug 1559301 - Straighten up C/C++ standard compiler flags. r=nalexander
- `info.type in ('clang-cl', 'clang', 'gcc')` is always true since MSVC
support was removed.
- For some reason, we didn't enforce C++14 on GCC.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 16:14:50 +00:00
Marian Raiciof b2b633e095 Bug 1526752 - [mozdevice] Update adb.py and other necessary files to support python3 r=ahal,davehunt
Improve support for Python 3 by running modernize over adb.py and a few other related changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 08:44:15 +00:00
Chris Manchester c74a1fa131 Bug 1558996 - Require rust 1.35 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D34794

--HG--
extra : moz-landing-system : lando
2019-06-13 06:02:05 +00:00
Bob Clary 2a1c46386f Bug 1559103 - RemoteAutomation should call parent class init first, r=gbrown.
Differential Revision: https://phabricator.services.mozilla.com/D34856

--HG--
extra : moz-landing-system : lando
2019-06-13 13:54:18 +00:00
Mike Hommey 85e29d1e3b Bug 1557583 - Add a --enable-frame-pointers option. r=chmanchester
We've been relying on frame pointers being indirectly enabled via things
like --enable-profiling for some time, but this doesn't scale because
some things may want frame pointers while wanting --disable-profiling.

So we move MOZ_FRAMEPTR_FLAGS to python configure and add a new option
to decide whether to enable frame pointers or not.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:30:46 +00:00
Mike Hommey 958968bcdc Bug 1557583 - Move --enable-*-sanitizers options to python configure. r=dmajor
But keep the corresponding logic in sanitize.m4.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 13:08:27 +00:00
Mike Hommey 44e96352da Bug 1557547 - Actively reject clang < 4.0 during configure. r=mshal
Bug 1394825 bumped the minimum version of clang we use on automation,
for the base toolchain jobs, and there's a libclang test for bindgen,
but we should reject the compiler in the first place.

The check to do that works in both C and C++, contrary to the original
3.6 test that was checking a C++ feature ; the test was later changed
for 3.9, using a check that would have worked in both C and C++, but
the C exception was left around. We remove it now.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:22:24 +00:00
Jan de Mooij dc18804805 Bug 1556646 part 2 - Rename JS_POSIX_NSPR to JS_WITHOUT_NSPR and remove --enable-posix-nspr-emulation configure flag. r=sfink,glandium
Stand-alone JS builds now default to without-NSPR on all platforms.

Note that the JS shell builds we do in automation pass --enable-nspr-build so they shouldn't be affected by
the JS shell changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 09:10:59 +00:00
Mike Hommey ff4ab7e28f Bug 1557855 - Use a sensible default for --with-android-ndk. r=nalexander
Use the same logic as for --with-android-sdk to use the NDK downloaded
by mach bootstrap by default.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:23:37 +00:00
Mike Hommey 177ad5806d Bug 1557855 - Change how --with-android-sdk is handled. r=nalexander
We make it have a default value only if the corresponding directory exists,
and make it throw a more explicit error when the explicitly given directory
doesn't exist.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:20:48 +00:00
Mike Hommey 4b49193e14 Bug 1557855 - Define MOZBUILD_STATE_PATH as an option. r=nalexander
Rather than taking it from the environment every time it's necessary.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 23:25:01 +00:00
Mike Hommey 47925b3f7a Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using fold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 04:43:45 +00:00
Bogdan Tara 12782914a5 Backed out changeset 2d8ad105aac8 (bug 1557507) on Glandium's request CLOSED TREE 2019-06-07 07:38:03 +03:00
Mike Hommey 6b74e0f7de Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using gold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:53 +00:00
Mike Hommey 7dcedba0bf Bug 1557213 - Don't try to use NDK clang. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33902

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:10 +00:00
David Major 5827377048 Bug 1557313 - Update ExplicitOperatorBoolChecker.cpp for clang trunk changes r=andi
https://reviews.llvm.org/rL360311 reworked the handling of `explicit` in `CXXConversionDecl`, and the `isExplicitSpecified()` method no longer exists. We can instead use `isExplicit()` which conveniently works on both old and new clangs. (Before 360311, `isExplicit()` just forwarded to `isExplicitSpecified()`.)

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

--HG--
extra : moz-landing-system : lando
2019-06-06 15:42:25 +00:00
Gerald Squelart b601187bf1 Bug 1492121 - Suppress dlopen leak triggered by next patch - r=njn
Valgrind report:
```
TEST-UNEXPECTED-FAIL | valgrind-test | 192 bytes in 3 blocks are definitely lost at malloc / dl_open_worker / _dl_catch_error / _dl_open
==2561== 192 bytes in 3 blocks are definitely lost in loss record 348 of 399
==2561==    at 0x4C2B240: malloc+112 (vg_replace_malloc.c:298)
==2561==    by 0x4012919: dl_open_worker+1977 (dl-open.c:457)
==2561==    by 0x400DD55: _dl_catch_error+101 (dl-error.c:178)
==2561==    by 0x4011CC9: _dl_open+185 (dl-open.c:633)
==2561==    by 0x5051F65: dlopen_doit+101 (dlopen.c:67)
==2561==    by 0x400DD55: _dl_catch_error+101 (dl-error.c:178)
==2561==    by 0x50522EB: _dlerror_run+123 (dlerror.c:164)
==2561==    by 0x5051EE0: dlopen@@GLIBC_2.2.5+48 (dlopen.c:88)
==2561==    by 0x1148FC: GetLibHandle (xpcom/glue/standalone/nsXPCOMGlue.cpp:86)
==2561==    by 0x1148FC: ReadDependentCB (xpcom/glue/standalone/nsXPCOMGlue.cpp:136)
==2561==    by 0x1148FC: XPCOMGlueLoad (xpcom/glue/standalone/nsXPCOMGlue.cpp:306)
==2561==    by 0x1148FC: mozilla::GetBootstrap(char const*, mozilla::LibLoadingStrategy)+572 (xpcom/glue/standalone/nsXPCOMGlue.cpp:374)
==2561==    by 0x114213: InitXPCOMGlue(mozilla::LibLoadingStrategy)+131 (browser/app/nsBrowserApp.cpp:223)
==2561==    by 0x113E6B: main+219 (browser/app/nsBrowserApp.cpp:284)
```

Nothing due directly to this patch, so it is likely a dlopen issue.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 06:20:23 +00:00
Mike Hommey 1c5cf6c437 Bug 1519954 - Pick binaries from mach bootstrap first on local developer builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33884

--HG--
extra : moz-landing-system : lando
2019-06-06 01:22:21 +00:00
Mike Hommey cbb9f80c77 Bug 1556880 - Support GCC ARM preprocessor defines to detect the ARM target. r=chmanchester
Also set `fpu` to None for when we don't find it.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:53:01 +00:00
Mike Hommey 985a376afa Bug 1526857 - Improve bindgen configuration wrt clang. r=chmanchester
The current setup for bindgen relies on either finding clang/libclang
from the output of llvm-config, or from the paths given via the
configure flags --with-clang-path/--with-libclang-path.

One _very_ common problem is that the llvm-config we end up using does
not correspond to the clang used for compilation, which has some
undesirable side effect, like failing to build.

So instead of relying on llvm-config, we do the following:
- when the compiler is clang, we just use that
- when the compiler is clang-cl, we use clang from the same directory
- otherwise, we either try to find clang in PATH, or rely on
  --with-clang-path.

Once clang is found, we try to deduce the location of the corresponding
libclang via the output of `clang -print-search-dirs`, or rely on
--with-libclang-path.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:48:20 +00:00
Andrew Sutherland 4e20ede87a Bug 1533802 - Sticky nesting for C++, Rust, JS r=kats
These are the changes from https://github.com/mozsearch/mozsearch/pull/212
(including the typo fixes requested today.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 20:49:34 +00:00
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