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

7281 Коммитов

Автор SHA1 Сообщение Дата
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
Mike Hommey b5dd8f7e9b Bug 1467327 - Use bootstrapped clang if no system clang is found. r=froydnj
--HG--
extra : rebase_source : fbb9e09e4211f6456391c8446899023520d2bbf9
2018-06-07 09:57:36 +09:00
Mike Hommey 65169421bc Bug 1467041 - Default to --enable-release when milestone is beta/release. r=froydnj
--enable-release not being passed means developer options are enabled,
which is generally speaking not desirable for builds meant to be
shipped. This is somewhat alleviated for Firefox by MOZILLA_OFFICIAL
implying --enable-release (as well as MOZ_AUTOMATION), but that doesn't
apply to e.g. standalone js builds (even some of the standalone js jobs
on our automation don't set MOZ_AUTOMATION for some reason).

A reasonable thing to do is just to default builds for release/beta
milestones to --enable-release, but still allow --disable-release
to enable the developer options.

--HG--
extra : rebase_source : 770d51b10a9cd17c63972435bb61eed10345ea71
2018-06-06 16:13:09 +09:00
Gregory Szorc 8922082362 Bug 1460777 - Taskgraph tasks for retrieving remote content; r=dustin, glandium
Currently, many tasks fetch content from the Internets. A problem with
that is fetching from the Internets is unreliable: servers may have
outages or be slow; content may disappear or change out from under us.

The unreliability of 3rd party services poses a risk to Firefox CI.
If services aren't available, we could potentially not run some CI tasks.
In the worst case, we might not be able to release Firefox. That would
be bad. In fact, as I write this, gmplib.org has been unavailable for
~24 hours and Firefox CI is unable to retrieve the GMP source code.
As a result, building GCC toolchains is failing.

A solution to this is to make tasks more hermetic by depending on
fewer network services (which by definition aren't reliable over time
and therefore introduce instability).

This commit attempts to mitigate some external service dependencies
by introducing the *fetch* task kind.

The primary goal of the *fetch* kind is to obtain remote content and
re-expose it as a task artifact. By making external content available
as a cached task artifact, we allow dependent tasks to consume this
content without touching the service originally providing that
content, thus eliminating a run-time dependency and making tasks more
hermetic and reproducible over time.

We introduce a single "fetch-url" "using" flavor to define tasks that
fetch single URLs and then re-expose that URL as an artifact. Powering
this is a new, minimal "fetch" Docker image that contains a
"fetch-content" Python script that does the work for us.

We have added tasks to fetch source archives used to build the GCC
toolchains.

Fetching remote content and re-exposing it as an artifact is not
very useful by itself: the value is in having tasks use those
artifacts.

We introduce a taskgraph transform that allows tasks to define an
array of "fetches." Each entry corresponds to the name of a "fetch"
task kind. When present, the corresponding "fetch" task is added as a
dependency. And the task ID and artifact path from that "fetch" task
is added to the MOZ_FETCHES environment variable of the task depending
on it. Our "fetch-content" script has a "task-artifacts"
sub-command that tasks can execute to perform retrieval of all
artifacts listed in MOZ_FETCHES.

To prove all of this works, the code for fetching dependencies when
building GCC toolchains has been updated to use `fetch-content`. The
now-unused legacy code has been deleted.

This commit improves the reliability and efficiency of GCC toolchain
tasks. Dependencies now all come from task artifacts and should always
be available in the common case. In addition, `fetch-content` downloads
and extracts files concurrently. This makes it faster than the serial
application which we were previously using.

There are some things I don't like about this commit.

First, a new Docker image and Python script for downloading URLs feels
a bit heavyweight. The Docker image is definitely overkill as things
stand. I can eventually justify it because I want to implement support
for fetching and repackaging VCS repositories and for caching Debian
packages. These will require more packages than what I'm comfortable
installing on the base Debian image, therefore justifying a dedicated
image.

The `fetch-content static-url` sub-command could definitely be
implemented as a shell script. But Python is readily available and
is more pleasant to maintain than shell, so I wrote it in Python.

`fetch-content task-artifacts` is more advanced and writing it in
Python is more justified, IMO. FWIW, the script is Python 3 only,
which conveniently gives us access to `concurrent.futures`, which
facilitates concurrent download.

`fetch-content` also duplicates functionality found elsewhere.
generic-worker's task payload supports a "mounts" feature which
facilitates downloading remote content, including from a task
artifact. However, this feature doesn't exist on docker-worker.
So we have to implement downloading inside the task rather than
at the worker level. I concede that if all workers had generic-worker's
"mounts" feature and supported concurrent download, `fetch-content`
wouldn't need to exist.

`fetch-content` also duplicates functionality of
`mach artifact toolchain`. I probably could have used
`mach artifact toolchain` instead of writing
`fetch-content task-artifacts`. However, I didn't want to introduce
the requirement of a VCS checkout. `mach artifact toolchain` has its
origins in providing a feature to the build system. And "fetching
artifacts from tasks" is a more generic feature than that. I think
it should be implemented as a generic feature and not something that is
"toolchain" specific.

I think the best place for a generic "fetch content" feature is in
the worker, where content can be defined in the task payload. But as
explained above, that feature isn't universally available. The next
best place is probably run-task. run-task already performs generic,
very-early task preparation steps, such as performing a VCS checkout.
I would like to fold `fetch-content` into run-task and make it all
driven by environment variables. But run-task is currently Python 2
and achieving concurrency would involve a bit of programming (or
adding package dependencies). I may very well port run-task to Python
3 and then fold fetch-content into it. Or maybe we leave
`fetch-content` as a standalone script.

MozReview-Commit-ID: AGuTcwNcNJR

--HG--
extra : source : 0b941cbdca76fb2fbb98dc5bbc1a0237c69954d0
extra : histedit_source : a3e43bdd8a9a58550bef02fec3be832ca304ea93
2018-06-06 14:37:49 -07:00
Gregory Szorc cf83defe06 Bug 1460777 - Extract GPG keys to standalone files; r=glandium
After this change, we consistently import GPG keys from files in
the GCC build scripts.

MozReview-Commit-ID: BcyvCQoGbMS

--HG--
extra : source : 5fce34a460b51e45ac280a9f0cb8bad896fbcff1
extra : histedit_source : 01621ea8111315c251a9493a11efca72c2ba3c7d
2018-05-11 10:38:35 -07:00
Gurzau Raul 53a10471cf Backed out 2 changesets (bug 1460777) for Toolchains failure on a CLOSED TREE
Backed out changeset 52ef9348401d (bug 1460777)
Backed out changeset 60ed097650b8 (bug 1460777)
2018-06-06 20:57:29 +03:00
Gregory Szorc 2f189264b9 Bug 1460777 - Taskgraph tasks for retrieving remote content; r=dustin,glandium
Currently, many tasks fetch content from the Internets. A problem with
that is fetching from the Internets is unreliable: servers may have
outages or be slow; content may disappear or change out from under us.

The unreliability of 3rd party services poses a risk to Firefox CI.
If services aren't available, we could potentially not run some CI tasks.
In the worst case, we might not be able to release Firefox. That would
be bad. In fact, as I write this, gmplib.org has been unavailable for
~24 hours and Firefox CI is unable to retrieve the GMP source code.
As a result, building GCC toolchains is failing.

A solution to this is to make tasks more hermetic by depending on
fewer network services (which by definition aren't reliable over time
and therefore introduce instability).

This commit attempts to mitigate some external service dependencies
by introducing the *fetch* task kind.

The primary goal of the *fetch* kind is to obtain remote content and
re-expose it as a task artifact. By making external content available
as a cached task artifact, we allow dependent tasks to consume this
content without touching the service originally providing that
content, thus eliminating a run-time dependency and making tasks more
hermetic and reproducible over time.

We introduce a single "fetch-url" "using" flavor to define tasks that
fetch single URLs and then re-expose that URL as an artifact. Powering
this is a new, minimal "fetch" Docker image that contains a
"fetch-content" Python script that does the work for us.

We have added tasks to fetch source archives used to build the GCC
toolchains.

Fetching remote content and re-exposing it as an artifact is not
very useful by itself: the value is in having tasks use those
artifacts.

We introduce a taskgraph transform that allows tasks to define an
array of "fetches." Each entry corresponds to the name of a "fetch"
task kind. When present, the corresponding "fetch" task is added as a
dependency. And the task ID and artifact path from that "fetch" task
is added to the MOZ_FETCHES environment variable of the task depending
on it. Our "fetch-content" script has a "task-artifacts"
sub-command that tasks can execute to perform retrieval of all
artifacts listed in MOZ_FETCHES.

To prove all of this works, the code for fetching dependencies when
building GCC toolchains has been updated to use `fetch-content`. The
now-unused legacy code has been deleted.

This commit improves the reliability and efficiency of GCC toolchain
tasks. Dependencies now all come from task artifacts and should always
be available in the common case. In addition, `fetch-content` downloads
and extracts files concurrently. This makes it faster than the serial
application which we were previously using.

There are some things I don't like about this commit.

First, a new Docker image and Python script for downloading URLs feels
a bit heavyweight. The Docker image is definitely overkill as things
stand. I can eventually justify it because I want to implement support
for fetching and repackaging VCS repositories and for caching Debian
packages. These will require more packages than what I'm comfortable
installing on the base Debian image, therefore justifying a dedicated
image.

The `fetch-content static-url` sub-command could definitely be
implemented as a shell script. But Python is readily available and
is more pleasant to maintain than shell, so I wrote it in Python.

`fetch-content task-artifacts` is more advanced and writing it in
Python is more justified, IMO. FWIW, the script is Python 3 only,
which conveniently gives us access to `concurrent.futures`, which
facilitates concurrent download.

`fetch-content` also duplicates functionality found elsewhere.
generic-worker's task payload supports a "mounts" feature which
facilitates downloading remote content, including from a task
artifact. However, this feature doesn't exist on docker-worker.
So we have to implement downloading inside the task rather than
at the worker level. I concede that if all workers had generic-worker's
"mounts" feature and supported concurrent download, `fetch-content`
wouldn't need to exist.

`fetch-content` also duplicates functionality of
`mach artifact toolchain`. I probably could have used
`mach artifact toolchain` instead of writing
`fetch-content task-artifacts`. However, I didn't want to introduce
the requirement of a VCS checkout. `mach artifact toolchain` has its
origins in providing a feature to the build system. And "fetching
artifacts from tasks" is a more generic feature than that. I think
it should be implemented as a generic feature and not something that is
"toolchain" specific.

I think the best place for a generic "fetch content" feature is in
the worker, where content can be defined in the task payload. But as
explained above, that feature isn't universally available. The next
best place is probably run-task. run-task already performs generic,
very-early task preparation steps, such as performing a VCS checkout.
I would like to fold `fetch-content` into run-task and make it all
driven by environment variables. But run-task is currently Python 2
and achieving concurrency would involve a bit of programming (or
adding package dependencies). I may very well port run-task to Python
3 and then fold fetch-content into it. Or maybe we leave
`fetch-content` as a standalone script.

MozReview-Commit-ID: AGuTcwNcNJR

--HG--
extra : rebase_source : 4918b8c3bac53d63665006802054038bfbca0314
2018-06-06 09:37:38 -07:00
Gregory Szorc 43e801ae60 Bug 1460777 - Extract GPG keys to standalone files; r=glandium
After this change, we consistently import GPG keys from files in
the GCC build scripts.

MozReview-Commit-ID: BcyvCQoGbMS

--HG--
extra : rebase_source : 657ccce8e242cabdfaff396fd0d6439754a3f364
2018-05-11 10:38:35 -07:00
Gregory Szorc fb21a1e517 Bug 1466746 - Debian packages for python-zstandard; r=glandium
python-zstandard's 0.9.1 source distribution contains a debian/
directory.

On Squeeze, producing a Debian package is straightforward.

On Wheezy, we need to hack up Build-Depends because Wheezy doesn't
have a package for the Hypothesis fuzzing library. This package is
only used for testing and our package building disables testing,
so we don't even need to further hack up the packaging to disable
tests.

MozReview-Commit-ID: 6raXjdzggCH

--HG--
extra : rebase_source : 672492a40d65df8430eb17ba033bcb1c0890b7df
2018-06-04 23:10:59 -07:00
Tom Ritter 2313bfe0d4 Bug 1457482 Add --enable-lto that turns on LTO r=glandium
MozReview-Commit-ID: DjICW7OKqzB

--HG--
extra : rebase_source : 92c766880845ec89305ef1e66ff13223421ac152
2018-04-13 15:55:39 -05:00
Tom Ritter 2eb926954e Bug 1457482 Add an LTO Build Target r=glandium
This build target doesn't have LTO enabled on it (yet)

MozReview-Commit-ID: 56tAHMyvH7o

--HG--
extra : rebase_source : 90039cd8e97332e2ef8aad7908b8a04b2869f4a5
2018-05-30 12:27:25 -05:00
Tom Ritter 539edded29 Bug 1457482 Correct elfhack's LTO detection to handle -flto=thin r=glandium
MozReview-Commit-ID: LnDLrDN0W9O

--HG--
extra : rebase_source : 3ba425fc9316d1b3df12a481c9ece1e3a65c8fe5
2018-06-01 10:10:16 -05:00
Tom Ritter 1f99a6a577 Bug 1457482 Add lld to the clang-6-pre-linux64 toolchain for use in the LTO build r=glandium
MozReview-Commit-ID: KYY0DqFxbDE

--HG--
extra : rebase_source : aafb326c82a2a871f356a7919efce6f3b0c9f58c
2018-04-13 15:22:57 -05:00
Miko Mynttinen 44b51ac0a2 Bug 1465060 - Part 2: Don't suppress pessimizing-move and self-move warnings r=froydnj
MozReview-Commit-ID: KtQ31q6uFqZ

--HG--
extra : rebase_source : 93b8550117410efb1839dc475d2bfec9ef4caf67
2018-06-01 14:09:30 +02:00
shindli 936dd8d764 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-04 01:07:15 +03:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 9a6bff4ea0 Bug 1465060 - Part 2: Don't suppress pessimizing-move and self-move warnings r=froydnj
MozReview-Commit-ID: KtQ31q6uFqZ

--HG--
extra : rebase_source : 017f965f0a861ee1eaa5bfae62ae164e48c309a5
2018-06-01 14:09:30 +02:00
Cosmin Sabou cff08774d6 Merge mozilla-central to autoland. a=merge 2018-06-03 13:10:57 +03:00
Cosmin Sabou 9994e67745 Backed out changeset cbf0895981cd (bug 1270217) for turning bug 1405083 into permafail. a=backout 2018-06-03 13:08:10 +03:00
Andreea Pavel 4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Jonathan Watt 5817084eb6 Bug 1270217 - Change the default MACOS_DEPLOYMENT_TARGET value to 10.9. r=froydnj 2018-05-10 10:41:13 +01:00
Jonathan Watt 67537a721b Bug 1270217 - Change the default MACOS_DEPLOYMENT_TARGET value to 10.9. r=froydnj
--HG--
extra : rebase_source : bb180a82c87bb49c688dbcb2f8da6756e6c54224
2018-05-10 10:41:13 +01:00
Chris AtLee 600b5b46ac Bug 1237182: get rid of oauth.txt r=mtabara
Differential Revision: https://phabricator.services.mozilla.com/D1444

--HG--
extra : rebase_source : dad4f2102dc1e74b681a765169eae691724f8b61
2018-05-25 17:43:15 -04:00
Chris AtLee 8e5587759f Bug 1237182: Get rid of buildprops.json r=tomprince,sfraser
Differential Revision: https://phabricator.services.mozilla.com/D1443

--HG--
extra : rebase_source : 1683b76377e27fdaa5292e1781573ddc4e61afa8
2018-05-25 17:35:43 -04:00
Emilio Cobos Álvarez 9855a4330e Bug 1465585: Don't error on pessimizing-move and self-move, for now. r=froydnj
MozReview-Commit-ID: FzoqidPSCaV
2018-06-01 10:43:31 +02:00
Andreea Pavel 38bcf897f1 Merge mozilla-inbound to mozilla-central. a=merge 2018-05-31 13:04:21 +03:00
arthur.iakab f1046ac67f Merge mozilla-central to inbound 2018-05-31 01:08:35 +03:00
arthur.iakab fb18cb09bd Merge mozilla inbound to central a=merge 2018-05-31 01:05:10 +03:00
David Major b6c41df5bb Bug 1465245 - Update clang-cl toolchain to r333414. r=froydnj
--HG--
extra : rebase_source : a0f174588c7fbf6f83709850b8b26448080b9a4d
2018-05-30 13:27:13 -04:00
Panos Astithas f041fb6e3c Bug 1461851 - Properly add the source URL in the profiler metadata. r=glandium
MozReview-Commit-ID: 53M4bGolmJk

--HG--
extra : rebase_source : f0da66755c92d2937f5fad1f5784f9a81829c951
2018-05-15 16:44:44 -07:00
Christian Holler 570031d38c Bug 1464202 - Improve and centralize libFuzzer flag management. r=froydnj
MozReview-Commit-ID: HFrQDAZWtpo

--HG--
extra : rebase_source : ab1da001d7e9280fbfb37858505f1d0d0caf7d54
2018-05-24 21:11:46 +02:00
Gurzau Raul bcd412f2a9 Backed out changeset 602bdd9d5a96 (bug 1461851) for linting failures on /checkouts/gecko/build/appini_header.py on a CLOSED TREE 2018-05-30 19:03:50 +03:00
Panos Astithas 9be1c58dd1 Bug 1461851 - Properly add the source URL in the profiler metadata. r=glandium
MozReview-Commit-ID: 53M4bGolmJk

--HG--
extra : rebase_source : 17c2f3922d04b1ee7e168837f4440bb1b0abc218
2018-05-15 16:44:44 -07:00
Mike Hommey 81cf850f82 Bug 1253064 - Prefer Clang to GCC in local developer builds. r=gps
For Android targets, we just ignore plain clang, it's unlikely to work.

--HG--
extra : rebase_source : 2ba19ea608921acc2739055115082291bb8996f4
2018-05-31 10:16:10 +09:00
Csoregi Natalia 83a923ef7a Merge inbound to mozilla-central. a=merge 2018-05-30 12:25:03 +03:00
Mike Hommey 8b091c97fd Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Noemi Erli f353eab731 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-05-30 00:52:42 +03:00
Sylvestre Ledru 3f0e9bf7a3 Bug 1464809 - Disable -Werror on -Wclass-memaccess until the backlog is fixed r=froydnj
https://bugzilla.mozilla.org/show_bug.cgi?id=1411029#c2

MozReview-Commit-ID: 2CyoNWMUrw9

--HG--
extra : rebase_source : 758d2c9bc9e2dd3502def27a0d9bc6f9e0887e2d
2018-05-28 14:56:41 +02:00
David Major 49de728827 Bug 1464249 - Patch clang-win64.json to fix ASan on Windows 10 1803. r=froydnj
--HG--
extra : rebase_source : 194a25a217ddc10eb2782c127689c88d1df68e1f
2018-05-29 15:38:18 -04:00
David Major 2ca7d595a1 Bug 1464161 - unset LINKER in mozconfig.no-compile. r=nalexander
--HG--
extra : rebase_source : 75913c32de26e0aa4f7bbcf79f29ad5d7f5fcb32
2018-05-29 15:37:49 -04:00
Geoff Brown 4d05f461aa Bug 1464866 - Fix a typo in Android time-out message; r=me,a=test-only 2018-05-28 11:29:34 -06:00
Kris Maglione c4035f104c Bug 1463637: Remove mozilla-config.h hacks for Hunspell extra includes. r=ted
MozReview-Commit-ID: 2yBlykhQsyV

--HG--
extra : rebase_source : d51a663c5f7d4c9cce09c649003c5577fe5952d0
2018-05-22 20:36:39 -07:00
Chris Manchester dd6a725aca Bug 1463921 - Re-run js configure when js/src/old-configure changes. r=gps
MozReview-Commit-ID: 2Rw4he9ZRpz

--HG--
extra : rebase_source : 2801965e246d6424ee37bac277472b294e783309
2018-05-23 17:22:09 -07:00
Sylvestre Ledru dcfef841a7 bug 1463425 - Fix flake8/pep8 issue by hand in build/ r=gps
MozReview-Commit-ID: AZdcEWyVV6e

--HG--
extra : rebase_source : b1c45028c8d46be5ba590a27a2f9f20e248a26b1
2018-05-21 23:58:19 +02:00
Sylvestre Ledru 8cd16bb55b bug 1463425 - autopep8 on build/ r=gps
MozReview-Commit-ID: ETzx4HsjbEF

--HG--
extra : rebase_source : 7e27a4cfe2bb358d513a18a33c245bcc6d559c46
2018-05-21 23:56:34 +02:00
Justin Wood 5412b28495 Bug 1286092 - Make taskgraph sparse checkout pull the onchange files. r=aki
for L10n jobs should run per-push based on the corresponding builds

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

--HG--
extra : rebase_source : b7b7f34204bd06ba2baf92ae6d103f8c207214fb
2017-12-01 12:54:47 -05:00
Bogdan Tara 933c5069bd Backed out 16 changesets (bug 1286092) for L10n bustages CLOSED TREE
Backed out changeset ef828badfd93 (bug 1286092)
Backed out changeset 57a592e33f36 (bug 1286092)
Backed out changeset c9cf945aa4f9 (bug 1286092)
Backed out changeset d8c01d976acd (bug 1286092)
Backed out changeset 5d68dfd6325c (bug 1286092)
Backed out changeset 878e174255ff (bug 1286092)
Backed out changeset fa3e38422d49 (bug 1286092)
Backed out changeset fc6aebca89e3 (bug 1286092)
Backed out changeset f2271cd6af26 (bug 1286092)
Backed out changeset 7b828445f551 (bug 1286092)
Backed out changeset 5617053b1740 (bug 1286092)
Backed out changeset 556f54c5e209 (bug 1286092)
Backed out changeset db19ea492b02 (bug 1286092)
Backed out changeset 6eb40b38f9c9 (bug 1286092)
Backed out changeset 3eb4e39b9bcd (bug 1286092)
Backed out changeset b3c05f6e6a57 (bug 1286092)
2018-05-30 16:16:24 +03:00
Justin Wood ead8128876 Bug 1286092 - Make taskgraph sparse checkout pull the onchange files. r=aki
for L10n jobs should run per-push based on the corresponding builds

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

--HG--
extra : rebase_source : fc669df941b70b720a6eb4118ad36d6679a28d48
2017-12-01 12:54:47 -05:00
Mike Hommey 5c6ce84a4c Bug 1464084 - Don't export std:🧵:_M_start_thread symbols with --enable-stdcxx-compat. r=froydnj
This relies on the fact that providing multiple --version-script
combines them all, so we effectively create a new symbol version
that has no global symbol, but hides the std:🧵:_M_start_thread
symbols.

This version script trick happens to work with BFD ld, gold, and lld.

The downside is that when providing multiple --version-script's, ld
doesn't want any of them to have no version at all. So for the libraries
that do already have a version script (through SYMBOLS_FILE), we use a
version where there used to be none, using the library name as the
version. Practically speaking, this binds the libraries a little closer
than they used to be, kind of non-flat namespace on OSX (which is the
default there), meaning the dynamic linker will actively want to use
symbols from those libraries instead of a system library that might
happen to have the same symbol name.

--HG--
extra : rebase_source : a7f672c35609d993849385ddb874ba791b34f929
2018-06-01 08:10:25 +09:00
Gurzau Raul 7e4f5e7dc6 Backed out changeset 838c0ab9cbdb (bug 1464084) for Linux static bustage on a CLOSED TREE 2018-06-02 02:42:52 +03:00
Mike Hommey e680be2ec4 Bug 1466060 - Upgrade to binutils 2.28.1. r=nalexander
Version 2.25.1's libiberty can choke on some symbols. That was fixed in
2.27. As of writing, the last version is 2.30. Conservatively go with
2.28.1, which is the same major version (2.28) as what is currently in
Debian stable.

--HG--
extra : rebase_source : 9e5ba94421a1568f662cfd98af7168ea1c890934
2018-06-01 17:48:41 +09:00
Csoregi Natalia 2f779be8d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-02 01:03:45 +03:00
Sofia Carrillo 0c81030974 Bug 1463834 - vendored hglib, updated to python-hglib r=davehunt
--HG--
rename : third_party/python/hglib/LICENSE => third_party/python/python-hglib/LICENSE
rename : third_party/python/hglib/hglib/__init__.py => third_party/python/python-hglib/hglib/__init__.py
rename : third_party/python/hglib/hglib/client.py => third_party/python/python-hglib/hglib/client.py
rename : third_party/python/hglib/hglib/context.py => third_party/python/python-hglib/hglib/context.py
rename : third_party/python/hglib/hglib/error.py => third_party/python/python-hglib/hglib/error.py
rename : third_party/python/hglib/hglib/merge.py => third_party/python/python-hglib/hglib/merge.py
rename : third_party/python/hglib/hglib/templates.py => third_party/python/python-hglib/hglib/templates.py
rename : third_party/python/hglib/hglib/util.py => third_party/python/python-hglib/hglib/util.py
rename : third_party/python/hglib/setup.py => third_party/python/python-hglib/setup.py
extra : rebase_source : 552d93c9e90c04171c8b627c8f4f4fa5ec506cc3
2018-05-31 18:04:54 -07:00
Mike Hommey cc7ff037ab Bug 1464084 - Don't export libstdc++ symbols with --enable-stdcxx-compat. r=froydnj
This relies on the fact that providing multiple --version-script
combines them all, so we effectively create a new symbol version
that has no global symbol, but hides as much std::* stuff as possible.

The added symbol script could use `extern "C++"` syntax and demangled
symbols but there is no guarantee the demangled symbols won't change.
Plus, it's not possible to match demangled symbols that have a return
type: they contain a space, and the only way to match that is to use
double quotes, which doesn't allow globs at the same time.

This version script trick happens to work with BFD ld, gold, and lld.

The downside is that when providing multiple --version-script's, ld
doesn't want any of them to have no version at all. So for the libraries
that do already have a version script (through SYMBOLS_FILE), we use a
version where there used to be none, using the library name as the
version. Practically speaking, this binds the libraries a little closer
than they used to be, kind of non-flat namespace on OSX (which is the
default there), meaning the dynamic linker will actively want to use
symbols from those libraries instead of a system library that might
happen to have the same symbol name.

--HG--
extra : rebase_source : 78adb64b90e75ebad203b8a647b305c9d7198d16
2018-06-01 08:10:25 +09:00
Sylvestre Ledru 7bc7122170 Bug 1463465 - Remove procmem.py; now unused r=dmajor
MozReview-Commit-ID: I0ygHwVn1PA

--HG--
extra : rebase_source : f24bb459f90d501f81a85d5d427515ecdc935ef7
2018-05-22 08:29:38 -07:00
Tom Ritter dd8b0dc15f Bug 1457162 Include CFLAGS and CPPFLAGS during the EXPAND_LIBS_LIST_STYLE check r=froydnj,ted
MozReview-Commit-ID: Eu82jfRZTk4

--HG--
extra : rebase_source : f6740111fb0e33ba1a8047d38ec3a9689be3afb6
2018-04-26 14:44:00 +00:00
Mike Hommey 60d982d254 Bug 1463036 - Add -mfloat-abi=softfp to NEON_FLAGS when it makes sense. r=froydnj
This is similar to what is done for VPX_ASFLAGS (bug 1199974).

--HG--
extra : rebase_source : 1e2feb1c244aa46ddc5fb7abb44ce33c6bd63a0f
2018-05-21 12:14:06 +09:00
Masatoshi Kimura b3f94f70ab Bug 1462616 - Unblock Windows 10 April 2018 Update SDK with clang-cl. r=ted
MozReview-Commit-ID: 9KGu1KTmyRM

--HG--
extra : rebase_source : d70c5dbabd15f10d865db7f5a9c7a4e76dd94fe8
2018-05-18 21:20:23 +09:00
Andreea Pavel f489d7af8e Backed out changeset 4523372c4945 (bug 1462498) for Win build bustages on a CLOSED TREE
--HG--
rename : build/build-clang/clang-6-linux64.json => build/build-clang/clang-6-pre-linux64.json
rename : build/build-clang/clang-6-macosx64.json => build/build-clang/clang-6-pre-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-pre-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-6-linux.sh => taskcluster/scripts/misc/build-clang-6-pre-linux.sh
2018-05-19 02:19:22 +03:00
Mike Hommey 6b2218c550 Bug 1462498 - Update clang 6 pre to clang 6 final. r=gps
--HG--
rename : build/build-clang/clang-6-pre-linux64.json => build/build-clang/clang-6-linux64.json
rename : build/build-clang/clang-6-pre-macosx64.json => build/build-clang/clang-6-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-pre-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh
rename : taskcluster/scripts/misc/build-clang-6-pre-linux.sh => taskcluster/scripts/misc/build-clang-6-linux.sh
extra : rebase_source : ae02bc8f15fa2bab743a63d49ffc3e14eca6c157
2018-05-18 08:03:31 +09:00
Tom Ritter e8b341f8cd Bug 1420350 Enable jemalloc on MinGW r=glandium
MozReview-Commit-ID: 6YUeFAJocHj

--HG--
extra : rebase_source : 016803ba5e3d5eaf8c937ac2f41e712fc543ba51
2018-03-07 10:49:28 -06:00
Mike Hommey e4ed02a860 Bug 1462273 - Use more reliable mirrors for gcc dependencies. r=froydnj
In the span of one week, both gmplib.org and multiprecision.org,
respective home of gmp and mpc have gone down. The latter is still down.

It turns out that all versions of gmp and mpfr we need are mirrored on
ftp.gnu.org, so we can just use that instead. For mpc, versions > 1.0
are on ftp.gnu.org, but not earlier versions.

The one mpc version <= 1.0 we do need is 0.8.2, and a copy of the exact
same archive, as per its sha256, which we're already checking per the
gcc build scripts, can be found on snapshot.debian.org. We lose gpg
validation on the way, but since we're already checking the sha256,
that's a fine tradeoff.

At least this unblocks changes to toolchains until multiprecision.org
comes back online.

--HG--
extra : rebase_source : f2bc67f8757655d99bfd9735b80d7205f7bfe47b
2018-05-17 17:52:37 +09:00
Mike Hommey 49a407b2ec Bug 1462273 - Use https for ftp.gnu.org instead of ftp. r=froydnj
--HG--
extra : rebase_source : 8c2b6a74b720d602f87c6c9bc622eeae2c2b8b97
2018-05-17 17:52:15 +09:00
Tom Ritter d4957e5ab4 Bug 1460647 Move big-obj out of Developer_OPTIONS so local MinGW builds work r=mshal
MozReview-Commit-ID: KxfoVkO4pu8

--HG--
extra : rebase_source : 8eef47c28ff7493afd74c1e553277c427d2eeb75
2018-05-04 10:33:25 -05:00
Andreea Pavel 8aab5416b7 Backed out changeset b51c2e39a12a (bug 1457162) for build bustages e.g mozmake.EXE[5]: *** No rule to make target 'clearkey_dll.list', needed by 'clearkey.dll'. Stop. on a CLOSED TREE 2018-05-16 18:09:10 +03:00
Tom Ritter c2db6a79d9 Bug 1457162 Include CFLAGS and CPPFLAGS during the EXPAND_LIBS_LIST_STYLE check r=froydnj
MozReview-Commit-ID: Eu82jfRZTk4

--HG--
extra : rebase_source : cf5366f8bccf05df98567bd3b8a92b1cd51b7025
2018-04-26 14:44:00 +00:00
Sylvestre Ledru f4b02c2f37 Bug 1453990 - Disable -Werror on -Wreturn-std-move. We have a false positive with nsAutoCString r=froydnj
See: https://bugs.llvm.org/show_bug.cgi?id=37249
MozReview-Commit-ID: VFvj33eeOm

--HG--
extra : rebase_source : 75208b2cfd1d3302ec0da2af3b24ceb36a4bdd8b
2018-05-12 12:00:39 +02:00
Andi-Bogdan Postelnicu a8cc78dc5c Bug 1454667 - clear out CPPFLAGS before compiling test files for the clang plugin. r=froydnj
MozReview-Commit-ID: sxnMdImxf8

--HG--
extra : rebase_source : 2589f86723b972188de1f8318001a1fc7c8627c1
2018-05-11 12:23:30 +03:00
Brindusan Cristian 1df25b391a Merge inbound to mozilla-central. a=merge 2018-05-12 12:47:14 +03:00
Sylvestre Ledru 274ecb9460 Bug 1460402 - Update the CI to use codespell with pip instead of the apt packages (too old) r=ahal
MozReview-Commit-ID: 9QkTPyP7izS

--HG--
extra : rebase_source : 155b8b64b3aac06682f9b4191293974d7b9cd844
2018-05-09 21:57:36 +02:00
Dorel Luca a5bc0b3f70 Backed out 4 changesets (bug 1460402) for lint failure on intl/locales/en-US/hyphenation/hyph_en_US.dic. CLOSED TREE
Backed out changeset c2e8fbd72ca6 (bug 1460402)
Backed out changeset 3676e913dbff (bug 1460402)
Backed out changeset bb12ffd4b96e (bug 1460402)
Backed out changeset 3e50885329c4 (bug 1460402)
2018-05-11 00:47:34 +03:00
Sylvestre Ledru 4f1403c359 Bug 1460402 - Update the CI to use codespell with pip instead of the apt packages (too old) r=ahal
MozReview-Commit-ID: 9QkTPyP7izS

--HG--
extra : rebase_source : 4784a5af43e806f2ec017fe16d930b3845fe2dde
2018-05-09 21:57:36 +02:00
Dorel Luca 74bbb3c1eb Backed out 4 changesets (bug 1460402) for breaking taskcluster images. CLOSED TREE
Backed out changeset 5b40f3f18f42 (bug 1460402)
Backed out changeset 17526c61b995 (bug 1460402)
Backed out changeset e1caff997e5a (bug 1460402)
Backed out changeset 06ceda084d69 (bug 1460402)
2018-05-10 23:54:38 +03:00
Sylvestre Ledru a7f37d6509 Bug 1460402 - Update the CI to use codespell with pip instead of the apt packages (too old) r=ahal
MozReview-Commit-ID: 9QkTPyP7izS

--HG--
extra : rebase_source : 23d87e6b352378aa41e8c539ce8640da68fe604c
2018-05-09 21:57:36 +02:00
Csoregi Natalia f034c0ab5d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-10 12:52:31 +03:00
Cosmin Sabou ea5feeedb6 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-10 01:16:27 +03:00
Sylvestre Ledru 3bed13c76e Bug 1453444 - Add support for versioned lld binaries r=glandium
Can be used:
ac_add_options --enable-linker=lld-7
or
ac_add_options --enable-linker=lld

MozReview-Commit-ID: GfDevGeooU4

--HG--
extra : rebase_source : ee2aad5f8f721a6fe5840affde6b29a3b940fb91
2018-05-09 13:53:16 +02:00
Gregory Szorc a339b799f8 Bug 1460451 - Add /usr/bin/python3 to Debian images; r=glandium
The python3-minimal package provides /usr/bin/python3 on Debian.

This commit installs this package so a `python3` executable is
provided.

This required backporting the package to wheezy. The final patch
is trivial. But I wasted a bit of time figuring out why `mk-build-deps`
wasn't working. It would no-op and exit 0 and then the build would
complain about missing dependencies!

glandium's theory is that the ":any" multiarch support on wheezy
isn't complete. Removing ":any" seems to make things "just work."

MozReview-Commit-ID: FBicpK4SmkQ

--HG--
extra : rebase_source : a28ce731024e8ed6a43fb30e2ed57da2abb50d0f
2018-05-09 19:54:21 -07:00
Rob Wood 6802d07a28 Bug 1455872 - Build support for the new raptor performance framework; r=gps
MozReview-Commit-ID: FBvXwkYfz0o

--HG--
extra : rebase_source : eb611d916d1bfda47321f6f424eeefa5598c1f83
2018-05-02 16:42:41 -04:00
Nathan Froyd 493330ae3f Bug 1460379 - remove --with-pthreads option; r=ted.mielczarek
This option does nothing if it's provided, and things will probably
break in some most peculiar manner if somebody uses --without-pthreads.
Given that neither outcome is useful, we should remove the option.
2018-05-09 17:26:31 -04:00
Nathan Froyd c21c323370 Bug 1460373 - move --enable-valgrind to moz.configure; r=ted.mielczarek 2018-05-09 17:26:31 -04:00
Nathan Froyd 375bdf507f Bug 1459993 - remove MSVC 2015 bits from toolchain.configure; r=ted.mielczarek
It's unsupported, so we might as well get rid of the bits for it.
2018-05-09 17:26:31 -04:00
Nathan Froyd 0de7ff8ffa Bug 1459988 - disallow MSVC 15.7+ from being used to build Firefox; r=ted.mielczarek 2018-05-09 17:26:32 -04:00
Sylvestre Ledru 0584c2911d Bug 1455767 - As we have gcc 6 as requirement, use -fuse-ld everywhere instead of the -B trick r=glandium
+ simplify the code

MozReview-Commit-ID: 1Qz5H8VkfpD

--HG--
extra : rebase_source : cf7ef2945a112c592ae02d68c3825205497e079a
2018-04-26 13:27:36 +02:00
shindli ede14ab8aa Backed out changeset 7c7118c12864 (bug 1455767) for failures in /python/mozbuild/mozbuild/test/configure/lint.py on a CLOSED TREE 2018-05-09 12:10:10 +03:00
Sylvestre Ledru 25b3284dcb Bug 1455767 - As we have gcc 6 as requirement, use -fuse-ld everywhere instead of the -B trick r=glandium
+ simplify the code

MozReview-Commit-ID: 1Qz5H8VkfpD

--HG--
extra : rebase_source : d20ca365969722e03b48aeb52424fcc1f7234f26
2018-04-26 13:27:36 +02:00
Jan Henning 47d4c1bcf7 Bug 1352015 - Part 1: Fix Android SDK configure checks. r=nalexander
It's the *compile*SdkVersion that needs to match the installed Android SDK plat-
form in order to be able to build an app, whereas the *target*SdkVersion is
merely a compatibility flag.

Since the received wisdom is that targetSdkVersion should be <= compileSdk-
Version and Android Studio is also showing a warning to that effect if you
modify the build.gradle of a small sample app accordingly, I've also added a
corresponding configure check of our own to enforce this.

MozReview-Commit-ID: F2RZemChFrm

--HG--
extra : rebase_source : cf4f6256baa4446d673b94d97f9497f93d7917ff
2018-05-06 20:39:11 +02:00
Andrew Halberstadt ac08b89a81 Bug 1459598 - Use profiles.json file to map test suites to the base profiles they use, r=jgraham
This serves two purposes:

1) It makes web-platform-tests pref downloading/handling a little more robust. When
run externally, it now downloads the entire testing/profiles directory. When loading
prefs it will look for both prefs_general.js (to support older versions of Firefox)
and profiles.json (for support moving forward).

This way we can add/remove/rename pref files under these directories without needing
to worry about breaking upstream wpt.

2) It provides developers an overview of which harnesses are using which base profiles.
Instead of hunting through test harness code to find this information, they can glance
at profiles.json.

MozReview-Commit-ID: AMzdnD8aGA2

--HG--
extra : rebase_source : 6fa0a802680417e49fcef99f3d03de7458a8fcba
2018-05-07 09:43:12 -04:00
Tom Ritter 613e18b048 Bug 1458897 Fix svn revert in build-clang so one can re-run it successfully r=glandium
svn revert requires a path, and does not take a revision.  This isn't an
issue on build machines because we do a fresh checkout every time.

But if you're trying to run build-clang locally, with existing checkouts,
it will:
1) successfully svn update
2) run svn revert, saying "Skipped <rev>"
      (except you don't see it because of -q)
3) svn revert returns a successfull eror code
4) patch fails because the file was never reverted and it attempts
   to re-apply the patch

Also I think the revert command needs to come first.

MozReview-Commit-ID: 4OfrJNZwJNU

--HG--
extra : rebase_source : b3474e8048b3110f3f5948c3351923c02735ca4d
2018-05-03 09:14:12 -05:00
arthur.iakab f2042a4c1f Merge inbound to mozilla-central a=merge 2018-05-08 15:42:06 +03:00
Aaron Klotz 3cfbbae4f0 Bug 1457999: Update Valgrind intentional leak whitelist to include undecorated SaveToEnv; r=bustage
--HG--
extra : rebase_source : f8282bdfb2c831cd086f0e5c61b80afaeb46e393
2018-05-07 17:07:52 -06:00
Aaron Klotz 92651e3581 Bug 1457999: Follow-up - update Valgrind intentional leak whitelist to reflect updated name of mozilla::SaveToEnv; r=bustage
--HG--
extra : amend_source : 437cd75dc2ea3d8b3b625b7f78dbe861c3f610c9
2018-05-07 16:17:24 -06:00
Csoregi Natalia d69aac5687 Merge inbound to mozilla-central. a=merge 2018-05-05 12:47:28 +03:00
Tom Prince 5658bb444e Bug 1458700: [python] Vendor attrs; r=dustin,ted
Differential Revision: https://phabricator.services.mozilla.com/D1124

--HG--
extra : source : 75ef3b64c1698ec53d1d289201ec9a3d51fea7b1
extra : histedit_source : 53d76ae733322098ca6b8f01fe4c2911c348ac3a
2018-05-02 19:39:38 -06:00
David Major 6e3e9549cf Bug 1459026: Make Windows ASan builds use lld-link. r=froydnj 2018-05-04 14:53:04 -04:00
Andrew Halberstadt c9bdbe0a32 Bug 1451159 - [testing/profiles] Use 'format' for interpolation instead of %s r=gbrown
MozReview-Commit-ID: EbDS1fYDe1X

--HG--
extra : rebase_source : e8e179f97fb3df492b2fcc690616157254e49fdd
extra : source : 03f43cb6ab42e55f475c6f6a99c7da547b0aa6f8
2018-04-20 11:03:38 -04:00
Andrew Halberstadt ee69aa133e Bug 1451159 - [testing/profiles] Store profile data in actual profile look alike folders r=gbrown
This moves testing/profiles/prefs_general.js to
testing/profiles/common/user.js. It also adds an 'extensions' folder to the
common profile. Dropping extension files here will get them installed in all
test harnesses (useful for testing on try).

The idea is that all test harnesses will eventually use this 'common' profile.
We'll also create some new per harness profiles, e.g testing/profiles/mochitest
and testing/profiles/reftest. This way there will be a single location
developers can go to set preferences, both for a specific harness, and across
all harnesses.

MozReview-Commit-ID: 8sqBqLiypgU

--HG--
rename : testing/profiles/prefs_general.js => testing/profiles/common/user.js
extra : rebase_source : 72a4a4b691e93c77479c7e70647b0ca373862c51
2018-04-19 16:12:26 -04:00
Dave Hunt d5d4c1b840 Bug 1455570 - Build and publish TPS add-on; r=dustin,ted
MozReview-Commit-ID: HOsTcmg1m7e

--HG--
extra : rebase_source : 57ee75482fe1204d741f851ed51f32a06146ae08
2018-04-23 14:32:05 +01:00
David Major 1e59fef758 Bug 1457523: Add msdia140.dll to the package on Windows ASan CI builds. r=ted 2018-05-03 15:53:53 -04:00
Xidorn Quan 8bf2d8e5a8 Bug 1457524 followup - Unset RUSTDOC for no-compile environment and add it to mozconfigs.
--HG--
extra : rebase_source : 811e48c193f593332ace7ed0108693373dafecaf
extra : amend_source : 4bb21acd6d3def08917dc00c2264f1ddb1b1ede8
2018-05-05 11:04:07 +10:00
Xidorn Quan 12ddb6a1e7 Bug 1457524 part 3 - Check rustdoc for rust tests. r=froydnj
MozReview-Commit-ID: 4qRccUcXq6O

--HG--
extra : rebase_source : 684fd08a18f55a1f620fa305b22b31e002077a0a
2018-05-02 20:02:04 +10:00
Xidorn Quan 1c8dc43017 Bug 1457524 part 1 - Use a list for rust tests. r=froydnj
MozReview-Commit-ID: 6A0hHClXDUE

--HG--
extra : rebase_source : 827bb569642aa2ad834b94f08af3f60b68552de4
2018-05-02 11:51:25 +10:00
Dave Hunt 4afca33e96 Bug 1437593 - Move initial virtual environment to _virtualenvs/init; r=ted
MozReview-Commit-ID: LP8NVz3tZZg

--HG--
extra : rebase_source : 990c0301a43a1870a69548a23aeddcf9fe3fe8a8
2018-03-28 12:55:04 +01:00
Mike Hommey ed54beeab0 Bug 1458161 - Hook rust OOM handler. r=froydnj
OOM rust crashes are currently not identified as such in crash reports
because rust libstd handles the OOMs and panics itself.

There are unstable ways to hook into this, which unfortunately are under
active changes in rust 1.27, but we're currently on 1.24 and 1.27 is not
released yet. The APIs didn't change between 1.24 and 1.26, so it's
fine-ish to use them as long as we limit their use to those versions.

As long as the Firefox versions we ship (as opposed to downstream) use
the "right" version of rust, we're good to go.

The APIs are in their phase of stabilization, so there shouldn't be too
many variants of the code to support.

--HG--
extra : rebase_source : 08a85aa102b24380b1f6764effffcc909ef3191b
2018-05-01 10:30:03 +09:00
Chris Manchester 22900f8fb9 Bug 1372381 - Generate automation.py with GENERATED_FILES rather than Makefile.in r=mshal
This commit also removes "DEFAULT_APP", which is unused.

MozReview-Commit-ID: 5YYaC5LJqUn

--HG--
extra : rebase_source : 45f0f8f11698890fae0dcca71174f88dbdb412c8
2018-04-30 11:08:59 -07:00
Tom Prince 386cd7a8bc Bug 1456182: [update-verify] Stop creating a virtualenv in update-verify-config-creator; r=nthomas
Since it is run with `mach python`, it uses the environment defined by
`build/virtualenv_packages.txt`. Thus, we don't need to create a separate
virtualenv.

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

--HG--
extra : rebase_source : 023095f82d7219a10dffb3579276c5285db37cfc
extra : source : a2999a5b9b7aa08a7c5c2ba6384724853d14b9c5
2018-04-22 18:51:38 -06:00
Dorel Luca 70e79e52cd Backed out 11 changesets (bug 1437593) for Doc linting failure. CLOSED TREE
Backed out changeset 0f3dbbd73ed4 (bug 1437593)
Backed out changeset 64c84cf90e8b (bug 1437593)
Backed out changeset 36c66615886f (bug 1437593)
Backed out changeset dfafbe7770ad (bug 1437593)
Backed out changeset 900f32450a74 (bug 1437593)
Backed out changeset d6fe456bb39c (bug 1437593)
Backed out changeset 4842e4b68d82 (bug 1437593)
Backed out changeset e024b3d775fd (bug 1437593)
Backed out changeset ce9e3951357a (bug 1437593)
Backed out changeset afaeac146ff8 (bug 1437593)
Backed out changeset 88954bcf6ca2 (bug 1437593)
2018-04-28 12:02:02 +03:00
Rob Wood 8b76a9ff3c Bug 1455107 - Integrate raptor into mach; r=gbrown
MozReview-Commit-ID: 84vIqU2NWkE

--HG--
extra : rebase_source : ac5454192271d19b4da448e6be2f97dbb3420828
2018-04-23 16:43:30 -04:00
Dave Hunt ab659de0d1 Bug 1437593 - Move initial virtual environment to _virtualenvs/init; r=ted
MozReview-Commit-ID: LP8NVz3tZZg

--HG--
extra : rebase_source : 0ddf9cd58d7258c17ffbed01b435fb58142df7c5
2018-03-28 12:55:04 +01:00
Gurzau Raul 677f146915 Backed out 11 changesets (bug 1437593) for SpiderMonkey failures on a CLOSED TREE
Backed out changeset e4b2357330b4 (bug 1437593)
Backed out changeset 8cb34c11ad45 (bug 1437593)
Backed out changeset ab27411c53c2 (bug 1437593)
Backed out changeset c90a0961f52a (bug 1437593)
Backed out changeset 60114a93b6b1 (bug 1437593)
Backed out changeset d12eec17c51c (bug 1437593)
Backed out changeset 2f83246cb0b1 (bug 1437593)
Backed out changeset 19b7273e375c (bug 1437593)
Backed out changeset cf026c071b73 (bug 1437593)
Backed out changeset c7fa833eff1d (bug 1437593)
Backed out changeset 828caab5032d (bug 1437593)
2018-04-27 02:20:39 +03:00
Dave Hunt 37e3c0c222 Bug 1437593 - Move initial virtual environment to _virtualenvs/init; r=ted
MozReview-Commit-ID: LP8NVz3tZZg

--HG--
extra : rebase_source : 7cc28c398da611f318bba5377d9ad1f18944e1e4
2018-03-28 12:55:04 +01:00
Ciure Andrei 33e644e1da Merge inbound to mozilla-central. a=merge 2018-04-24 04:14:21 +03:00
Gregory Szorc 8f5adf5328 Bug 1455708 - Find Python 3 in MozillaBuild, require Python 3 everywhere; r=mshal
We previously did not require Python 3.5+ everywhere because we failed
to detect Python 3.5 on Windows in CI. That's because CI isn't using
start-shell.bat and it hasn't yet updated PATH to include
%MOZILLABUILD%\python3.

We shouldn't need to teach CI to have PATH contain everything in
MozillaBuild. This commit teaches moz.configure to automatically use
MozillaBuild's Python 3 if we're running in MozillaBuild.

Since we can now detect Python 3 everywhere in CI, we make Python 3.5+
required on all build configurations.

MozReview-Commit-ID: BwgWGeYMyPM

--HG--
extra : rebase_source : b52f604b01c73b0493b142f3f71aa26c99a42b91
2018-04-20 12:44:05 -07:00
Justin Wood 9e151c936d Bug 1453274 - Add testing for python/mozrelease/versions.py r=rail
for: taskgraph: Make update tasks support esr60

MozReview-Commit-ID: GUmAq3sBXGB

--HG--
extra : rebase_source : 0eaeb17809fede07f6b9fc4ee5d856d0078f83be
2018-04-23 12:40:26 -04:00
Gregory Szorc 7efba3beae Bug 1451065 - Require Python 3.5+ to build; r=mshal
But only if we are:

a) not running in CI
b) running in CI on Linux

We will ideally make the requirement global. But Python 3.5 is not
yet available in CI on macOS. And we're not finding the MozillaBuild
copy in configure.

This was previously announced in November at
https://groups.google.com/d/msg/mozilla.dev.platform/rJrPh1QYXrQ/hqRrQsJ_BgAJ.

MozReview-Commit-ID: IyPCAcL3gop

--HG--
extra : rebase_source : f9e3db043a1ce9c1a903c943663f22245febf101
2018-04-03 11:00:00 -07:00
Gregory Szorc 5423976a8b Bug 1455143 - Refactor checksumming to occur after upload.py; r=ted
checksums.py is now run after upload.py, as part of the "upload" make
target.

As part of the refactor, checksums.py now takes as arguments a list of
directories containing files to checksum. It will recursively checksum
all files in listed directories.

This means we no longer have to pass an explicit list of files into
checksums.py. Instead, we can pass the artifact directory and
automatically checksum everything within. This will allow us to
generate files directly into the artifact directory instead of
having to run upload.py to copy files there.

MozReview-Commit-ID: 6ntnXU2Pp0E

--HG--
extra : rebase_source : 7e019b366f14b3692ec702ff331a1e0306dc3805
2018-04-18 16:24:03 -07:00
Gregory Szorc 137e7d1403 Bug 1455143 - Use .write() instead of print >>; r=ted
.write() is the preferred mechanism to write to a file object.

MozReview-Commit-ID: 1uhNeFayoxV

--HG--
extra : rebase_source : 5244e5548cefb8ebf98cb2415ab139e96e967433
2018-04-18 15:39:26 -07:00
Gregory Szorc 8faaa397e7 Bug 1455143 - Use a reasonable buffer size for reading files; r=ted
Reading in 1kb chunks in 2018 is insane.

MozReview-Commit-ID: 7wJv6fTAOh7

--HG--
extra : rebase_source : 9553fdd1b50c6da21fb2e15f63b0accc62bb01e8
2018-04-18 15:38:04 -07:00
Gregory Szorc ed4699f57b Bug 1455143 - Remove code for failing to obtain a hash; r=ted
digest_file() should always return something.

MozReview-Commit-ID: 6PpSUnxhCcL

--HG--
extra : rebase_source : 932a7e296a6bf32b03dc8b1ac5360d3287e44d38
2018-04-18 15:36:55 -07:00
Gregory Szorc 29eac5d14d Bug 1455143 - Handle directory inputs earlier; r=ted
This makes the logic in process_files() simpler.

MozReview-Commit-ID: KdphRJZLinx

--HG--
extra : rebase_source : 14a89fc9ba85d1dd4c2d2d18d0383552bb2d8e69
2018-04-18 15:35:57 -07:00
Gregory Szorc 10322471bc Bug 1455143 - Use a global logger instance; r=ted
MozReview-Commit-ID: 1RyLZBMx6mH

--HG--
extra : rebase_source : d83c756488c698680965badc953c9b3e3efb5403
2018-04-18 15:33:31 -07:00