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

207 Коммитов

Автор SHA1 Сообщение Дата
Tom Prince 14cf8b64d6 Bug 1486224: [fetch-content] Retry downloads when fetching content; r=gps
Differential Revision: https://phabricator.services.mozilla.com/D6686

--HG--
extra : moz-landing-system : lando
2018-09-25 16:40:42 +00:00
Marco Castelluccio 047574b0bd Bug 1492159 - Build Linux and Mac grcov in a toolchain task. r=ahal
--HG--
extra : rebase_source : 922e19f9d2a77fd3dec33c84f3c675ed37ece6b7
2018-09-21 10:56:47 +02:00
Tom Ritter b4e5b102e0 Bug 1492971 Bump mingw version to get fix for FILE_ID_128 struct r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6497

--HG--
extra : moz-landing-system : lando
2018-09-21 15:13:20 +00:00
Gurzau Raul 5777753954 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-21 07:15:29 +03:00
Nick Thomas 64b1b8b4a0 Bug 1493056 - fetch-content tries to use https for private urls with the proxy, should use http, r=tomprince
Differential Revision: https://phabricator.services.mozilla.com/D6454

--HG--
extra : moz-landing-system : lando
2018-09-21 03:14:27 +00:00
Mike Hommey 42c96ee774 Bug 1492037 - Build clang with LLVM as a shared library. r=froydnj
Doing so changes the size of the compressed toolchain archive from ~280M
to ~120M, and the decompressed size from ~1500M to ~675M. This will
reduce the overhead of decompression during builds.

As we ship llvm-symbolizer as part of ASan builds, we do need it to
still statically link against LLVM, which we do with a small patch.

With LLVM as a shared library, libLTO, which is used by cctools-port for
the linker, is dynamically linked to LLVM, and the cctools-port
configure script fails to link against libLTO. So we add a -rpath-link
to make it find the LLVM library. This happens to force a rebuild of
cctools-port, but for future cases where we might need a rebuild because
of some clang changes, we add a comment to ease the process, and avoid
a newer cctools-port taking the cache spot of an older one.

Ideally, mac cctools-port would need something similar, but it needs a
mac libLTO.dylib, which is not there anyways (and the mac cctools-port
thus already didn't support LTO).

Also, with LLVM built as a shared library, all its symbols are exported
with a LLVM_x.y version. Combined with -static-libstdc++ that is used
during the clang build, this causes problems (see
https://bugzilla.mozilla.org/show_bug.cgi?id=1492037#c7). But it turns
out things have evolved since -static-libstdc++ has been added to the
clang build script, and things work without now, so remove it (as well
as -static-libgcc).

Differential Revision: https://phabricator.services.mozilla.com/D6117
2018-09-21 10:41:36 +09:00
Mike Hommey b12b62d352 Backout changeset dba2140cb366 (bug 1492037) to give time to toolchains to build without blocking other landings. 2018-09-21 08:18:49 +09:00
Mike Hommey 000f8d6970 Bug 1492037 - Build clang with LLVM as a shared library. r=froydnj
Doing so changes the size of the compressed toolchain archive from ~280M
to ~120M, and the decompressed size from ~1500M to ~675M. This will
reduce the overhead of decompression during builds.

As we ship llvm-symbolizer as part of ASan builds, we do need it to
still statically link against LLVM, which we do with a small patch.

With LLVM as a shared library, libLTO, which is used by cctools-port for
the linker, is dynamically linked to LLVM, and the cctools-port
configure script fails to link against libLTO. So we add a -rpath-link
to make it find the LLVM library. This happens to force a rebuild of
cctools-port, but for future cases where we might need a rebuild because
of some clang changes, we add a comment to ease the process, and avoid
a newer cctools-port taking the cache spot of an older one.

Ideally, mac cctools-port would need something similar, but it needs a
mac libLTO.dylib, which is not there anyways (and the mac cctools-port
thus already didn't support LTO).

Also, with LLVM built as a shared library, all its symbols are exported
with a LLVM_x.y version. Combined with -static-libstdc++ that is used
during the clang build, this causes problems (see
https://bugzilla.mozilla.org/show_bug.cgi?id=1492037#c7). But it turns
out things have evolved since -static-libstdc++ has been added to the
clang build script, and things work without now, so remove it (as well
as -static-libgcc).

Differential Revision: https://phabricator.services.mozilla.com/D6117
2018-09-21 08:18:47 +09:00
Sylvestre Ledru 2ad3aee57b Bug 1491788 - Use clang 7final to build firefox & clang-tidy r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D6018
2018-09-20 10:10:29 +09:00
Tom Ritter 2a646ae19b Bug 1490564 Add a x86 MinGW-clang toolchain job r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D5720

--HG--
extra : moz-landing-system : lando
2018-09-17 15:39:14 +00:00
Jim Chen 21d0088d00 Bug 1480834 - 8. Add x86-64 as rust target; r=nalexander r=froydnj
Add x86-64 as a rust target so we can build Android for x86-64.

Differential Revision: https://phabricator.services.mozilla.com/D5605
2018-09-13 12:09:26 -04:00
Eric Rahm aaed620ced Bug 1484406 - Update rust-size version. r=glandium
This updates the rust-size build to reference the latest version [1] that
includes a work-around for calculating the .bss of a PE file that has a
writable section with a smaller on-disk size than in-memory size.

[1] ab659d93b1

--HG--
extra : rebase_source : 24b451d244cd0533ca550688ccc05976cae410c7
2018-09-06 16:36:19 -07:00
Mike Hommey 6b4f2f3162 Bug 1487603 - Update llvm-dsymutil to 7rc2. r=dmajor,firefox-build-system-reviewers
Last time it was updated is bug 1436208, and the crashes we patched it
for back then has been fixed upstream a few months later.

For some reason, they renamed the executable from llvm-dsymutil to
dsymutil.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 13:25:27 +00:00
Tom Ritter d8daa6fd7c Bug 1487443 Bump MinGW Version to correct PEB Struct and ICU-conflicting daylight macro r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D4685

--HG--
extra : moz-landing-system : lando
2018-08-30 16:07:14 +00:00
Tom Ritter 247efb2903 Bug 1480178 Bump mingw version to pick up new API functions and provide libmincorer?froydnj r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D4565

--HG--
extra : moz-landing-system : lando
2018-08-29 16:11:37 +00:00
Tom Prince 83067e2603 Bug 1484012: [fetch-content] Add support for downloading private artifacts; r=gps
Differential Revision: https://phabricator.services.mozilla.com/D3556

--HG--
extra : rebase_source : 8207be2e99ee8fdc75209f62c4a357b5c827edce
2018-08-16 15:13:02 -06:00
Tom Prince 9fd238c7e3 Bug 1484012: [fetch-content] Transparently decompress artifacts; r=gps
generic-worker transparently compresses uncompressed artifacts. Teach
fetch-content to decompress those artifacts.

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

--HG--
extra : rebase_source : 3e1847b545de5443fd4349f75acc605ea5a46701
2018-08-15 15:53:27 -06:00
Tom Prince 6701e41a4c Bug 1484012: [fetch-content] Add an option to not unpack downloaded artifacts; r=gps
Differential Revision: https://phabricator.services.mozilla.com/D3554

--HG--
extra : rebase_source : 58bba31bd921d29d4a40ad8d9ba09c4c7ac1f8dc
2018-08-15 15:16:49 -06:00
Tom Prince 43c8cdcaae Bug 1484012: [fetch-content] Pass `MOZ_FETCHES` as json; r=gps,ahal
Rather than trying to parse strings, just pass a json blob. This will allow us
to easily do things like mark artifacts to be left unextracted.

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

--HG--
extra : rebase_source : 4e762c65d1c9f13361d5bae2e4608ba09bb39a91
2018-08-17 10:37:21 -06:00
Andrew Halberstadt 321a8788f2 Bug 1484790 - [fetches] Overwrite without prompting when unzipping an artifact with fetch-content, r=gps
This also moves the call to 'fetch_artifacts' in run-task down inside the
try/finally block. This way if something goes wrong, we'll still cleanup
MOZ_FETCHES_DIR.

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

--HG--
extra : moz-landing-system : lando
2018-08-24 16:04:59 +00:00
Mike Hommey dc8ae8410c Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor
When different translation units contain the same symbol name, all
static, but one of them non-static, ld64 wrongfully link the references
to the static data with the non-static data, or vice versa. With libaom
and libvpx sharing data structures with the same name but different
contents, that leads to interesting failures/crashes at runtime.

This was apparently fixed in Apple ld64 from Xcode 9, but the last open
sourced version is the one from Xcode 8, so I ended up digging in the
ld64 source code and fixed the issue.

This work was merged to cctools-port upstream in
https://github.com/tpoechtrager/cctools-port/pull/59.

For the same reason as invoked in bug 1478917, though, updating to
cctools-port master is more involved than just changing a commit sha1
(as it requires building apple-libtapi, which in turn builds parts of
LLVM, which should probably be avoided), so just cherry-pick the fix.
2018-08-24 08:39:31 +09:00
Mike Hommey 1894266228 Backout changesets 59c38e3958fe (bug 1485545) and 4017bcbb799d (bug 1485503) to give time to toolchains to build without blocking other landings. 2018-08-24 07:39:04 +09:00
Mike Hommey 660169ff88 Bug 1485503 - Avoid ld64 merging static and non-static data with the same name during ThinLTO. r=dmajor
When different translation units contain the same symbol name, all
static, but one of them non-static, ld64 wrongfully link the references
to the static data with the non-static data, or vice versa. With libaom
and libvpx sharing data structures with the same name but different
contents, that leads to interesting failures/crashes at runtime.

This was apparently fixed in Apple ld64 from Xcode 9, but the last open
sourced version is the one from Xcode 8, so I ended up digging in the
ld64 source code and fixed the issue.

This work was merged to cctools-port upstream in
https://github.com/tpoechtrager/cctools-port/pull/59.

For the same reason as invoked in bug 1478917, though, updating to
cctools-port master is more involved than just changing a commit sha1
(as it requires building apple-libtapi, which in turn builds parts of
LLVM, which should probably be avoided), so just cherry-pick the fix.
2018-08-24 07:34:38 +09:00
Mike Shal 02a25dd9b0 Bug 1480494 - Update tup toolchain to e948a999a38fefa0ac0d92f6357f82aca2f9cb17; r=chmanchester
This includes a fix for the style build script hang where pthreads fork
subprocesses, as well as a fix for ignoring the icecream file lock.

MozReview-Commit-ID: 29eNcbNtwB1

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

--HG--
extra : moz-landing-system : lando
2018-08-23 16:58:29 +00:00
Boris Chiou d56d102ae0 Bug 1485197 - Bump cbindgen to 0.6.2. r=heycam
In order to support operator==() for tagged enum, we have to bump the version to
0.6.2.

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

--HG--
extra : moz-landing-system : lando
2018-08-21 23:40:51 +00:00
Emilio Cobos Álvarez bb604b0dee Bug 1484473 - Add a cbindgen version check. r=firefox-build-system-reviewers,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D3718

--HG--
extra : moz-landing-system : lando
2018-08-20 15:20:42 +00:00
Mike Shal d5258aee4b Bug 1480840 - Update tup toolchain to f77dbd429d6157dac252014a26f6d275dce85d85; r=chmanchester
This includes a patch to enable ccache support.

MozReview-Commit-ID: 9FzMQ2XX4ca

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

--HG--
extra : moz-landing-system : lando
2018-08-15 19:24:57 +00:00
Emilio Cobos Álvarez 818db7603f Bug 1478813 - Add cbindgen toolchain job and install via bootstrap. r=ted
And require it for taskcluster build already, because it doesn't harm and lets
me put all the yml changes in the same commit.

I gave up cross-compiling for OSX after a few tries and after realizing it
wasn't enough with cctools and such, but that I also needed the Mac SDK, for
which I don't have permission...

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

--HG--
extra : moz-landing-system : lando
2018-08-13 10:58:22 +00:00
Gregory Szorc 71e90e5309 Bug 1480431 - Make ifh a file object; r=tomprince
Otherwise it can't be used as a context manager since it
doesn't have __enter__ or __exit__.

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

--HG--
extra : moz-landing-system : lando
2018-08-02 16:22:46 +00:00
dvarga e487e6e564 Merge inbound to mozilla-central. a=merge 2018-08-02 01:09:38 +03:00
Gregory Szorc 3b427569ba Bug 1479533 - Log to stderr, capitalize messages; r=tomprince
This is what a lot of programs do.

We do logging in a helper function so we can flush after every write.

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

--HG--
extra : rebase_source : 98563aee129c16662a783122241623b8ed2fe457
2018-07-31 15:39:10 -07:00
Gregory Szorc 2207dd7026 Bug 1479533 - Refactor archive decompression; r=tomprince
Previously, we told `tar` or `unzip` to operate on an explicit file.
This worked when `tar` understood the compression format of the file.
And this worked in the majority of cases.

But `tar` does not support zstandard compression (at least not outside
extremely new versions, which aren't yet widely deployed). And not all
versions of `tar` support the `-a` argument.

This commit changes our invocation of `tar` so input data is piped
to it from Python. In the case of `tar`, we perform decompression in
Python, if possible. This allows us to support zstandard and `tar`
binaries that don't support `-a` to auto-detect the compression format.

I wanted to be consistent and always pipe the raw data via stdin.
But `unzip` doesn't appear to like this. Oh well.

We also refactor the logic around detecting archives. We have a
function to identify the archive type based on a filename. We then
pass the archive type to the extraction function and key off that
logic within. We also conditionally call extract_archive() and
fail hard in extract_archive() when things fail. This will make
future archive code easier to reason about.

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

--HG--
extra : rebase_source : 1c66396cced1b2a94a959386eecc3f512b033308
2018-08-01 09:00:58 -07:00
Tom Ritter 2c2a1fac5c Bug 1400484 MinGW gcc is broken - root_dir is required with the new fetch code r=gps
MozReview-Commit-ID: LC0ZgWDyDDT

--HG--
extra : rebase_source : e873efff1f1d8189b49bce94a79b139016bfe5e3
2018-07-30 15:12:06 -05:00
Mike Shal ee320f1dec Bug 1475071 - Bump tup version to v0.7.7; r=chmanchester
MozReview-Commit-ID: 55JOVxzWhm4

--HG--
extra : rebase_source : 77e88b33f3513713390c657f9b95d390d31fd0f1
2018-07-31 10:06:27 -04:00
Nick Alexander 8568d6adb5 Bug 1478995 - Add node toolchain repack tasks for linux, windows, and mac, r=gps
MozReview-Commit-ID: 3JEghnqGdun

--HG--
extra : rebase_source : 7468ee9f27ba8e6df208b317c0c944345e2d27ad
2018-05-29 17:50:05 -07:00
Jacek Caban 6e25c2945a Bug 1465798: Create a MinGW-Clang toolchain job r=froydnj
MozReview-Commit-ID: 9OLqKcYtMJi

--HG--
extra : histedit_source : d1e7da6531ffd8d9df869324da07440ce13899cc
2018-07-24 14:04:53 -05:00
Robert Bartlensky 1a56460275 Bug 1473951: Add infer to taskcluster and build. r=gps
MozReview-Commit-ID: BHi3E6J3nuH

--HG--
extra : rebase_source : a59180efe4fed56222d2847d60133739f38c8ca8
2018-07-06 17:37:16 +01:00
Mike Hommey 789f4ba458 Bug 1478919 - Remove the now unused linux64-clang-5 toolchain. r=dmajor
--HG--
extra : rebase_source : 1de38fc2e484ec02bcbe1fb1b58b97f5aba55b43
2018-07-27 15:34:07 +09:00
Mike Hommey 2538ec5e49 Bug 1478917 - Apply upstream patch fixing ld64 crash with LTO. r=dmajor,froydnj
While fiddling with clang (upgrading it and applying some miscompilation
patches), my mac LTO builds started to fail because ld64 would crash
during configure.

It turns out, it was crashing trying to print a warning it shouldn't
even print out, about failure to create a cache path.

This, in turn, is due to a pointer not being initialized in the ld64
code. I sent this upstream, and this was promptly fixed:
https://github.com/tpoechtrager/cctools-port/pull/57

However, since our last update of cctools-port, upstream landed a change
that broke support for tbd files if you don't compile against the new
libtapi library. Doing so is more work than I'm ready to put here,
so we just cherry-pick the fix.

--HG--
extra : rebase_source : 131952a5233bc379943c8eb124d377525f54202f
2018-07-27 15:14:06 +09:00
Andrew Halberstadt 15c53b6d46 Bug 1468812 - [ci] Support MOZ_FETCHES and fetch-content in run-task r=gps
This removes the 'use-artifacts' mechanism in favour of fetches. There are a
few pieces here that need to land atomically:

1. Remove use-artifact related code
2. Call 'fetch-content' from the run-task script
3. Convert existing tasks on top of fetches (jsshell, python unittest)
4. Stop calling 'fetch-content' from toolchain setup tasks (as this now gets handled in run-task)

Depends on D2166.

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

--HG--
extra : moz-landing-system : lando
2018-07-26 17:13:39 +00:00
Tudor-Gabriel Vîjială 7034598959 Bug 1476165 - Part 2: Update Android Gradle plugin to version 3.1.0. r=nalexander,snorp
MozReview-Commit-ID: LR1OWncvuwt

--HG--
extra : rebase_source : 6de8f8927e801789d559a7c361c7b434ae1f74c4
2018-07-17 13:20:19 +01:00
Sebastian Hengst 943a6cf31a Backed out changeset 61f33f8c8750 (bug 1468812) for Linux ccov mass failures (bug 1478211). a=backout 2018-07-25 18:05:09 +03:00
Andrew Halberstadt a3174ac509 Bug 1468812 - [ci] Support MOZ_FETCHES and fetch-content in run-task r=gps
This removes the 'use-artifacts' mechanism in favour of fetches. There are a
few pieces here that need to land atomically:

1. Remove use-artifact related code
2. Call 'fetch-content' from the run-task script
3. Convert existing tasks on top of fetches (jsshell, python unittest)
4. Stop calling 'fetch-content' from toolchain setup tasks (as this now gets handled in run-task)

Depends on D2166.

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

--HG--
extra : moz-landing-system : lando
2018-07-24 13:11:25 +00:00
Marco Castelluccio 73ba2e4524 Bug 1471339 - Introduce clang 7 toolchain build. r=glandium
--HG--
extra : rebase_source : 1609a57558151f11b9cdf3422c67ad4c3f695e12
2018-07-11 10:44:39 +02:00
Andrew Halberstadt e8a36b30d0 Bug 1468812 - [fetch-content] Implement ability to specify a per-fetch subdirectory to extract into r=gps
Currently 'fetch' artifacts are all extracted in the same directory, this could
make the extdir messy, or in the worst case, cause file name collisions.

Some artifacts are ok to extract into the same directory as they're already
bundled within the archive. But other artifacts are not. This patch keeps the
default behaviour (extracting everything into the same directory), but allows
task authors to specify per-artifact directories to extract into.

The syntax is:
path[>dest]@<task>

The 'dest' value will be a subdirectory of the MOZ_FETCHES_DIR environment
variable.

Depends on D2102.

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

--HG--
extra : moz-landing-system : lando
2018-07-18 17:52:43 +00:00
Tudor-Gabriel Vîjială f5b27fe2be Bug 1334940 - Re-enable SCCACHE for linux64-ccov. r=ted
MozReview-Commit-ID: 6BQt984Rl39

--HG--
extra : rebase_source : b92e2bd0daab858f49eefd1b07dd251346524649
2018-07-13 15:02:21 +01:00
Eric Rahm 6079cec11e Bug 1464501 - Part 1: Add rust-size toolchain. r=glandium
--HG--
extra : rebase_source : 104dc6ef69f288684b2bc3d95361dc9090de0c1a
extra : source : e891ab259427a65b92a880478d6884abf0d4a281
extra : histedit_source : 8e8d263b4a55a59e7b15e4861dd7b38cf016249b
2018-06-07 16:47:58 -07: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 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