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

7201 Коммитов

Автор SHA1 Сообщение Дата
Tiberius Oros 92ba19b150 Merge inbound to mozilla-central. a=merge 2018-07-10 12:45:13 +03:00
David Major 92ead96042 Bug 1458109: Update to LLVM r336407 on Windows. r=glandium
Fixes https://bugs.llvm.org/show_bug.cgi?id=37634 and also picks up https://reviews.llvm.org/D48538
2018-07-09 18:56:04 -04:00
Ciure Andrei 19611b7362 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-10 01:01:03 +03:00
Ms2ger edfa923af9 Bug 1333800 - Part b: Support running specific WPT tests in the JS shell; r=luke,bbouvier,jgraham 2018-07-05 14:44:41 +02:00
Chris Manchester 04c4288d0d Bug 1472857 - Require rustc 1.27 to build. r=glandium
MozReview-Commit-ID: 5WsP4EQxSil

--HG--
extra : rebase_source : e4506f9c4dfcccdf691fb944270e1a508edc02d5
2018-07-03 15:27:20 -07:00
Tom Ritter 4fc01f63a0 Bug 1467897 Allow local runs of build-clang by providing a --base-dir option r=glandium
MozReview-Commit-ID: Gd9W1DV5g1x

--HG--
extra : rebase_source : 6324b6f5126f5c11b2f534ecb046d7d7e70eba3c
2018-06-05 14:01:59 -05:00
Mike Hommey b2837054ff Bug 1469091 - Build the clang plugin as a host shared library. r=ted
This adds just enough host shared library support for this one use case,
but also takes shortcuts, because fully supporting host shared library
is a deep rabbit hole I'm not ready to take just to fix --enable-lto
--enable-clang-plugin on mac builds.

One downside is that one my machine the plugin now takes > 80s to build,
instead of 15s before, thanks to the lack of unified sources.

--HG--
extra : rebase_source : bf52a72a01d4e3eb77cf52b646b19734b9273075
2018-07-05 14:58:09 +09:00
Mike Hommey 1cf4ac0f2e Bug 1469088 - Relax the assumptions of --enable-lto, and make it work for macOS builds. r=ted
Currently, --enable-lto just implies --enable-linker=lld, which
essentially only works on Linux, and assumes one can't do lto with
anything other than lld. Which is not true. As a matter of fact, even
ld.bfd can do lto, as long as the gold plugin for llvm is available,
or when doing lto with GCC instead of clang.

Anyways, to allow more lto setups, we adapt the --enable-linker setup
to:
- work on macOS, which it currently doesn't, and add support for the mac
  linker (ld64), which, unfortunately, doesn't have a clean way to be
  detected, so work around that.
- default to lld if lto is enable, no linker was explicitly given, the
  compiler is clang *and* the build target is not macOS.

--HG--
extra : rebase_source : 1dab2ad6230d18e7f4285943e76352e23b987d4e
2018-07-05 11:35:31 +09:00
Mike Hommey c6c6db41d2 Bug 1473436 - Default to lld for local *nix builds when it is available. r=chmanchester
--HG--
extra : rebase_source : 0a1705241dcce807fb16f94218476ed184e551fa
2018-07-05 09:28:49 +09:00
Mike Hommey da38aeba7d Bug 1457168 - Make configure tests use LINKER_LDFLAGS. r=chmanchester
Because we have no linking configure test in python configure (yet), we
just make old-configure tests use LINKER_LDFLAGS, and make those flags
added to LDFLAGS by old-configure at the same time.

--HG--
extra : rebase_source : 80ab7c5021c7ddd1b53d58ef76cd4372a524d3cb
2018-07-04 16:18:48 +09:00
Gurzau Raul c275df0863 Merge autoland to mozilla-central. a=merge 2018-07-04 19:27:44 +03:00
Nathan Froyd 05c61df014 Bug 1473331 - fix environment issues when checking node version; r=me, a=bustage
MozReview-Commit-ID: SGkfho9nvV
2018-07-04 12:09:41 -04:00
Nathan Froyd 8d0bead1e6 Bug 1471028 - fix check for outdated node versions; r=bustage, a=bustage
MozReview-Commit-ID: 5OlPH2tUACP
2018-07-04 07:46:08 -04:00
Gregory Szorc 1843095b29 Bug 1471028 - Detect Node.js in configure; r=glandium
The intent is for the build system to soon require Node.js to build
Firefox. But we aren't ready to make Node.js a build requirement
just yet.

The goal of this commit is to implement configure detection for
Node.js so that we can a) work out detection bugs b) give people a
means to validate system compatibility *before* we throw the switch to
require Node.js.

This commit introduces configure logic for finding a Node.js
executable, resolving its version, and validating its suitability.

By default, if Node.js cannot be found or there is an error resolving
its version, we print some warning messages and move on.

If --enable-nodejs is used (not the default), errors are raised
if Node.js cannot be found or its version isn't suitable.

Once we require Node.js, the added code can likely be simplified.
When writing the code, I went out of my way to make failures as
non-fatal as possible. e.g. normally we'd say that failures to run
`node --version` would be fatal. I'm purposefully trying to not have
this configure check break anyone's environment, even if failure
occurs. Again, the goal is to introduce the configure checks first
in a non-fatal way such that we can debug failures so the flag day
transition is simpler.

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

--HG--
extra : moz-landing-system : lando
2018-07-03 21:24:58 +00:00
Simon Fraser 1c95120d44 Bug 1468394 mach python-safety command for checking requirements files r=mtabara,tomprince
Added `./mach python-safety`, distinct from python-test so it doesn't have
to be run on every CI job - its errors may not depend on the area the push has changed.

Added the python/safety directory to ensure a different Pipfile is used, avoiding
conflicts with python-test.

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

--HG--
extra : moz-landing-system : lando
2018-06-29 16:56:51 +00:00
Mike Hommey 993aa6d00f Bug 1447116 - Require rust 1.26. r=froydnj
We're well overdue for an upgrade of the rust compiler requirements.
Now that we're building with 1.28 (albeit a beta, due to be bumped when
it's released), we can bump the requirement away from 1.24 which is now
old. 1.27 is too new, though, so settle for the older 1.26.

--HG--
extra : rebase_source : a17aa496bf3d4af4d1349d69a637c686c6817d0f
2018-06-26 18:05:23 +09:00
Andreea Pavel 91a9c110e2 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-30 12:49:32 +03:00
Dave Hunt a631fc714d Bug 1472201 - Vendor pytest 3.6.2 and dependencies; r=ahal
MozReview-Commit-ID: 5qfK6OygVMH

--HG--
rename : third_party/python/pytest/_pytest/vendored_packages/pluggy-0.4.0.dist-info/LICENSE.txt => third_party/python/pluggy/LICENSE
rename : third_party/python/pytest/doc/en/example/costlysetup/sub1/__init__.py => third_party/python/pytest/doc/en/example/costlysetup/sub_a/__init__.py
rename : third_party/python/pytest/doc/en/example/costlysetup/sub1/__init__.py => third_party/python/pytest/doc/en/example/costlysetup/sub_b/__init__.py
rename : third_party/python/pytest/_pytest/_code/__init__.py => third_party/python/pytest/src/_pytest/_code/__init__.py
extra : rebase_source : d80873f2b1899decefbddddfc2f69ae045925b81
2018-06-29 15:37:31 +01:00
Geoff Brown bea4bee944 Bug 1472032 - Increase Android browser time-out to 110 minutes; r=me,a=test-only
This time-out has traditionally been 90 minutes. It mustn't exceed the 120 minute
task time-out for android browser tests. Let's try 110 minutes.
2018-06-29 16:05:58 -06:00
Henri Sivonen 5885cf2259 Bug 1397807 - Allow rustc to emit NEON instructions when clang does on ARMv7 and use NEON in encoding_rs. r=glandium
MozReview-Commit-ID: LNd4jeIGIRg

--HG--
extra : rebase_source : e175f51ec3e8c1097d914d97c6b0d2644dbc4c18
2018-06-05 14:56:11 +03:00
Andrew Halberstadt 9435736ade Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt
This will make sure that when running |mach python-test --python 3| locally,
we only run the tests that also run in CI with python 3 (and therefore pass
presumably).

MozReview-Commit-ID: 3OBr9yLSlSq

--HG--
extra : rebase_source : 456340d0ecdddf1078f2b5b4ebb1eddf3813b26a
2018-06-27 11:10:02 -04:00
Xidorn Quan 9d13707bca Bug 1471486 part 1 - Detect rustfmt like other rust executables. r=froydnj
MozReview-Commit-ID: 8LMdpdqbrFS

--HG--
extra : rebase_source : e23b7e467993963eb1a69637dacdabb7cbff3e90
2018-06-27 15:27:43 +10:00
Mike Hommey 75a6124d43 Bug 1469790 - Build for NEON by default when targetting Android arm. r=nalexander
The media/libpng/moz.build file overrides the C standard used via
-std=c89, per bug 1371266, which conflicts with the use of the
arm_neon.h header: compilation fails on the inline keyword, which didn't
exist in C89. We thus "bump" to the GNU89 standard, which is C89+GNU
extensions, including inline.

--HG--
extra : rebase_source : fe93a13e3bef8888e1874d2e94a6d8ef396aaf83
2018-06-27 08:07:27 +09:00
Mike Hommey 17bbe0155b Bug 1471491 - Add lld to the mac clang toolchain. r=froydnj
--HG--
extra : rebase_source : 3161081a464c1c7acae6dde6a010ed9f5a598bfa
2018-06-27 13:33:23 +09:00
Chris Manchester cf39792d69 Bug 1471425 - Require rustc 1.28 in configure when building with Tup. r=mshal
MozReview-Commit-ID: 9FCs5FPcchC

--HG--
extra : rebase_source : 7a4e7afa7825f3c73b5cc3571d1531f26cc964b1
2018-06-26 20:32:16 -07:00
Dorel Luca f51c4fa5d9 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-27 13:26:49 +03:00
Bogdan Tara ee8db3bbe1 Backed out 2 changesets (bug 1447116) for debug reftests failures CLOSED TREE
Backed out changeset 0c8c7b025aee (bug 1447116)
Backed out changeset 82dc9159f28d (bug 1447116)
2018-06-27 05:17:03 +03:00
Nathan Froyd 920af449c0 Bug 1470502 - build arm/aarch64 support for ld in binutils; r=mshal
This change makes the ld that we build usable with the clang that we
build when we target arm.
2018-06-26 20:58:56 -04:00
Mike Hommey 72fd93fa0f Bug 1471096 - Choose OOM hooking version to use at build time rather than configure time. r=froydnj
When I originally implemented bug 1458161, this is how it was done, but
it was suggested to use a configure-time check. This turned out to not
be great, because the rust compiler changes regularly, and we don't run
the configure tests when the version changes. When people upgraded their
rust compiler to 1.27, the code subsequently failed to build because the
features were still set for the previous version they had installed.

--HG--
extra : rebase_source : 1b5f7a02ad8495d68cd29289f7beea59b8912183
2018-06-23 07:28:26 +09:00
Mike Hommey 310043662a Bug 1470701 - Use run-time page size when changing mapping permissions in elfhack injected code. r=froydnj
When a binary has a PT_GNU_RELRO segment, the elfhack injected code
uses mprotect to add the writable flag to relocated pages before
applying relocations, removing it afterwards. To do so, the elfhack
program uses the location and size of the PT_GNU_RELRO segment, and
adjusts it to be aligned according to the PT_LOAD alignment.

The problem here is that the PT_LOAD alignment doesn't necessarily match
the actual page alignment, and the resulting mprotect may end up not
covering the full extent of what the dynamic linker has protected
read-only according to the PT_GNU_RELRO segment. In turn, this can lead
to a crash on startup when trying to apply relocations to the still
read-only locations.

Practically speaking, this doesn't end up being a problem on x86, where
the PT_LOAD alignment is usually 4096, which happens to be the page
size, but on Debian armhf, it is 64k, while the run time page size can be
4k.

--HG--
extra : rebase_source : 5ac7356f685d87c1628727e6c84f7615409c57a5
2018-06-24 09:02:38 +09:00
Nathan Froyd 426a7a6439 Bug 1470449 - silence some warnings during clang bootstrap; r=chmanchester
This change makes interactive usage slightly nicer and logs somewhat shorter.
2018-06-26 12:02:36 -04:00
Mike Hommey 1ad0baf79f Bug 1447116 - Require rust 1.26. r=froydnj
We're well overdue for an upgrade of the rust compiler requirements.
Now that we're building with 1.28 (albeit a beta, due to be bumped when
it's released), we can bump the requirement away from 1.24 which is now
old. 1.27 is too new, though, so settle for the older 1.26.

--HG--
extra : rebase_source : c788ef4f7da9949b81df2f0577af6f6039ea63d8
2018-06-26 18:05:23 +09:00
Dave Hunt 0d9dbe14ab Bug 1466211 - Detect if we are running in a virtual environment; r=chmanchester
When we're running using pipenv, we have more than one virtual environment. This means the current check to see if python matches the initial virtual environment gives a false positive when we're in a secondary virtual environment. This patch changes the condition to check if the current python path exists within the virtual environments root directory.

MozReview-Commit-ID: AAONwLWsigL

--HG--
extra : rebase_source : c0ac94448ee4545417b5116e58b51c6187cdb175
2018-06-15 18:05:20 -07:00
Marco Castelluccio 7322ecf8fa Bug 1469804 - Disable Rust incremental compilation when code coverage is enabled. r=ted
--HG--
extra : rebase_source : 30d98009113554c266a46d4b74e7d3b7757114fe
2018-06-20 11:16:43 +01:00
Mike Hommey e22b35cf77 Bug 1470055 - Lift libstdc++ requirement relaxation when building clang-plugin. r=froydnj
--HG--
extra : rebase_source : 6c313ce673ff45fb1ca07530f801aef2f78be7e7
2018-06-21 11:45:30 +09:00
Kris Maglione 0506a56751 Bug 1468362: Remove ADDON_SINGING buildconfig setting. r=aswan
MozReview-Commit-ID: MeD4VQPVf6

--HG--
extra : rebase_source : c40ed5b7d194290332f0aa77deaf91812de48c42
extra : histedit_source : 34a69d708597fcdbfb9bffccd7dbf28c9d1a42a7
2018-06-12 13:56:58 -04:00
Mike Hommey abc300efbb Bug 1467039 - Default to gold on local builds. r=chmanchester
We used to do that before bug 1455767. Taking a step back, what we want
(and what this change implements) is to:
- allow to specify a linker to use explicitly
- check that using the corresponding linker flags makes us use that
  linker
- if no linker is specified, and developer options are enabled, we want
  to try to use gold if it's available, otherwise, we want to detect
  what kind of linker the default linker is
- if --disable-gold is explicitly given, we don't want to automatically
  use it.

--HG--
extra : rebase_source : 8d89c54bd5e555984d815beb8fdd3f5f75dae31e
2018-06-07 08:46:31 +09:00
Chris Manchester a2b572cc91 Bug 1466401 - Re-run configure in js/src based on dependencies generated by python configure. r=mshal
MozReview-Commit-ID: 3ueBBHiux3M

--HG--
extra : rebase_source : 78b42537f73a9688cc3d4befc9f7f7cd3b2db0c2
2018-06-07 15:50:06 -07:00
Johan Lorenzo 00b90ced7a Bug 1468751 - Add images in documentation sparse checkout r=gps
Add images in documentation sparse checkout

Differential Revision: https://phabricator.services.mozilla.com/D1663
2018-06-15 00:00:05 +00:00
Mike Hommey 75a0990a1d Bug 1467658 - Update the macosx clang toolchain (for bootstrap) to version 6. r=chmanchester
--HG--
extra : rebase_source : 104b34102202fe0598d73d351de7b7ce0689f5ac
2018-06-08 13:37:48 +09:00
Mike Hommey a7e6de776d Bug 1467658 - Use clang 6 for coverage builds. r=chmanchester,marco
Instead of clang 4, which they were the last to use, so remove the
clang 4 toolchain.

--HG--
extra : rebase_source : d03a083e9217aeb6c1d2c91decb978426f0e8d1a
2018-06-08 10:48:06 +09:00
Mike Hommey 67a5371f47 Bug 1467658 - Upgrade the default clang toolchain to clang 6. r=chmanchester
The linux64-clang toolchain alias is currently clang 5. Switch it to
clang 6, but keep the spidermonkey tsan builds on clang 5 because of
bug 1467673.

The LLVM headers that come with clang 6 contain a DEBUG define that
conflicts with our DEBUG define and breaks the clang-plugin build,
so force unset ours.

--HG--
extra : rebase_source : aae88f1166108f003b06c022f14d5f4c61fc1ed9
2018-06-08 10:36:07 +09:00
Mike Hommey 27988b7ff9 Bug 1467658 - Allow the mozsearch-plugin code to build against clang 6. r=kats
Also work around https://bugs.llvm.org/show_bug.cgi?id=37746 by
explicitly handling ObjC interface variables separately. This actually
allows the searchfox macosx build to go much further than it used to (it
now fails during make package with apparently no output for rust code)

--HG--
extra : rebase_source : 354981ca9deebed5c60d3684f5c3abc554422393
2018-06-08 13:18:53 +09:00
Dorel Luca 1719a7ad5a Backed out changeset 0c800e84c991 (bug 1467039) for Spidermonkey failure. CLOSED TREE 2018-06-12 08:29:01 +03:00
Dorel Luca f7a26a560f Backed out changeset 71ed3b0b1013 (bug 1467337) for build bustage. CLOSED TREE 2018-06-12 08:28:40 +03:00
Mike Hommey a75a0b49d5 Bug 1467337 - Don't allow --enable-stdcxx-compat when the linker is gold. r=nalexander
--HG--
extra : rebase_source : 74fcad2dc3bda3cf223de615b38bd06aa5a91224
2018-06-07 10:36:10 +09:00
Mike Hommey 3a65dbeef2 Bug 1467039 - Default to gold on local builds. r=chmanchester
We used to do that before bug 1455767. Taking a step back, what we want
(and what this change implements) is to:
- allow to specify a linker to use explicitly
- check that using the corresponding linker flags makes us use that
  linker
- if no linker is specified, and developer options are enabled, we want
  to try to use gold if it's available, otherwise, we want to detect
  what kind of linker the default linker is

--HG--
extra : rebase_source : 655089f29c6403f6c31a977dcf5c6fd1e9941121
2018-06-07 08:46:31 +09:00
Mike Hommey 03b4a0d6e0 Bug 1462498 - Update clang 6 pre to clang 6 final on linux and mac. r=gps 2018-06-08 09:25:49 +09:00
Mike Hommey e1e5972b07 Bug 1467327 - Use bootstrapped clang if no system clang is found. r=froydnj
--HG--
extra : rebase_source : 4e646c27321d19d2d44df9911e5ef6fdb060ac48
2018-06-07 09:57:36 +09:00
Gurzau Raul 30ff1c45fb Backed out changeset ba02d348e3fd (bug 1467327) for LinuxToolchainTest bustages on a CLOSED TREE 2018-06-07 05:22:40 +03:00