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

7630 Коммитов

Автор SHA1 Сообщение Дата
Nick Alexander 3c83541616 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
`-Wl,--version-script` based on linker kind and not on the output of
`$LINKER -v`.

This is a cheap way to address a simple problem that has a complicated
ideal solution.  The underlying issue is that in some situations, when
targeting Android, a macOS system `ld` is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation.  The macOS system `ld` doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system `ld`.

The ideal solution is to test for linker capabilities dynamically.  We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure.  Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 22:38:44 +00:00
Mike Hommey 148c9de331 Bug 1498450 - Avoid the footgun from @depends-function comparison r=froydnj
While we do have some uses of @depends-function comparison in some
templaces, related to host/target, we ought to be using `is` comparisons
rather than `==` anyways, so we switch those, and prevent other kinds of
comparisons being used at all.

This unveils the one noted in
https://phabricator.services.mozilla.com/D7713?id=21357#inline-30414
(and surprisingly only that one), that we remove entirely since it was
doing nothing in practice. Bug 1492305 will have to add it back in a
proper form.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 13:44:08 +00:00
David Major d6200d9646 Bug 1427808 - Remove the now-unused win64-clang-cl-st-an toolchain. r=froydnj 2018-10-12 07:15:00 -04:00
David Major 56fefe876b Bug 1427808 - Fix libs for clang-plugin build. r=froydnj 2018-10-12 07:14:00 -04:00
Csoregi Natalia 28fe656de6 Merge inbound to mozilla-central. a=merge 2018-10-12 13:14:37 +03:00
Csoregi Natalia f00a0ea9cc Backed out 3 changesets (bug 1494069) for blocking 1498215. a=backout
Backed out changeset 9752f179b9c3 (bug 1494069)
Backed out changeset fe0fb280dbfc (bug 1494069)
Backed out changeset a2956764213e (bug 1494069)
2018-10-12 13:11:04 +03:00
Connor Sheehan 962fb415b2 Bug 1483941: add documentation about build telemetry r=ted
This commit adds some documentation about build telemetry
to the build system documentation. This doc should be used
as a reference during opt-in to build system telemetry,
and includes paths to the relevant files for users to audit
independently. Documentation regarding the schema types and
object properties was generated by the `jsonschema2rst` tool,
available on PyPI.

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

--HG--
extra : moz-landing-system : lando
2018-10-10 19:58:47 +00:00
Narcis Beleuzu e8f62dbf84 Backed out changeset b01876f4f16e (bug 1498215) for bustages on test_pathutils.py. CLOSED TREE 2018-10-11 23:56:45 +03:00
James Graham 766c447843 Bug 1498215 - Fix problem importing scandir when system scandir exists, r=davehunt
If scandir is already present on the system the attempt to import the
c helper library will currently find the c helper from the system
install which may well be an outdated verion, so causing mach to
break. To solve this this patch does two things:

* Stops importing scandir in files that are run unconditionally when
  invoking mach. This is generally considered good for performance
  reasons.

* Installs the vendored scandir into the virtualenv for `mach lint`
  rather than trying to import it directly from the source tree and so
  not getting the c helper library.

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

--HG--
extra : moz-landing-system : lando
2018-10-11 15:05:16 +00:00
Narcis Beleuzu e09f2e2622 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-12 06:53:11 +03:00
Mike Hommey a2461e26da Bug 1414287 - Remove now unused win32-clang-cl-st-an toolchain r=dmajor
Depends on D7845

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

--HG--
extra : moz-landing-system : lando
2018-10-09 08:40:16 +00:00
Mike Hommey de511e5cee Bug 1414287 - Use a 64-bits clang-cl for 32-bits static analysis builds r=dmajor
This also requires the 64-bits rust compiler and some build system
tweaks.

And since we make the 32-bits builds cross-compiles on CI, we also need
to adjust the MSVC build mozconfigs such that the host compiler points
to the right MSVC cl. Likewise, the DIA SDK is used for host things, so
use the 64-bits version or it.

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

--HG--
extra : moz-landing-system : lando
2018-10-10 17:53:06 +00:00
Tiberius Oros 3315c9957a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-11 01:12:20 +03:00
Kris Maglione f07a2d0fb0 Bug 1497976: Pass close_fds when running commands for configure. r=glandium
Running rustc with an open fd 4 sometimes causes it to fail with an obscure
error when it tries to connect to a job server on that fd. Closing the fd
solves the problem.

close_fds does what we need, and is the default value in Python 3, but not
in Python 2.

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

--HG--
extra : rebase_source : d94447019e3e698d7cf2c293b0a9b99769cf316a
2018-10-09 16:15:13 -07:00
Dave Hunt 046359060c Bug 1490253 - Replace pipenv with pip-tools for vendoring packages and dependencies; r=ahal
Depends on D7869

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

--HG--
extra : moz-landing-system : lando
2018-10-10 08:58:41 +00:00
Ted Mielczarek 1f36da7ff2 bug 1481612 - Add more actions to virtualenv_packages.txt and use them to include the unpacked Windows psutil wheel. r=gps
This patch adds two new actions to virtualenv_packages.txt processing:
windows and !windows. The former processes the rest of the action only on
Windows, and the latter processes it only on non-Windows.

These new features are used in virtualenv_packages.txt to use the
path to the unpacked Windows psutil wheel when on Windows, and build psutil
from source and use that path on other platforms.

This fixes the long-standing problem of not having psutil available on most
Windows systems (since they don't have the right set of Visual C++ build tools).

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

--HG--
extra : moz-landing-system : lando
2018-10-10 19:53:47 +00:00
Andrew Halberstadt 6bc809da2d Bug 1494069 - Vendor scandir==1.9.0 to third_party/python, r=davehunt
Scandir is a faster implementation of os.listdir since it caches file metadata
as it works. Using listdir and then calling things like os.path.isfile after
the fact will result in multiple system calls. Whereas with scandir, there will
only be a single system call per file.

Scandir is part of the stdlib in Python 3.6+, so the following can be used for
Python 2/3 compatible code:

    try
        from os import scandir, walk
    except ImportError:
        from scandir import scandir, walk

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

--HG--
extra : moz-landing-system : lando
2018-10-10 19:21:07 +00:00
Csoregi Natalia fbee84608f Backed out changeset f92dcf5319ae (bug 1490253) for bustage on test_mozbuild_reading.py. CLOSED TREE 2018-10-10 00:51:30 +03:00
Dave Hunt 4141a28060 Bug 1490253 - Replace pipenv with pip-tools for vendoring packages and dependencies; r=ahal
Depends on D7869

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

--HG--
extra : moz-landing-system : lando
2018-10-09 21:32:35 +00:00
Emilio Cobos Álvarez 2b00830e55 Bug 1496486 - Valgrind suppression. rs=froydnj
I rewrote the computed value implementation to avoid allocating and this tricked
Valgrind.

There's nothing uninitialized or unsafe from the code in:

  https://hg.mozilla.org/integration/autoland/rev/4dd15fa31474#l28.68
2018-10-09 19:08:42 +02:00
Emilio Cobos Álvarez 9f4495526d Bug 1496486 - Bump cbindgen. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D7756
2018-10-09 19:07:46 +02:00
Narcis Beleuzu e7a8994c37 Backed out 5 changesets (bug 1496486) for valgrind bustages. CLOSED TREE
Backed out changeset d2f1e35ee4b7 (bug 1496486)
Backed out changeset 7f843f4ee162 (bug 1496486)
Backed out changeset 2f629a60f12c (bug 1496486)
Backed out changeset 4dd15fa31474 (bug 1496486)
Backed out changeset e8d8e2f3f00b (bug 1496486)
2018-10-09 19:44:51 +03:00
Emilio Cobos Álvarez 3168cd9c74 Bug 1496486 - Bump cbindgen. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D7756
2018-10-09 17:33:28 +02:00
Sylvestre Ledru e7a0afe7cb Bug 1496903 - Fix the typos found by codespell 1.14 r=ahal
Depends on D7958

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

--HG--
extra : moz-landing-system : lando
2018-10-09 14:31:39 +00:00
Brindusan Cristian 3b4ca07db8 Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE
Backed out changeset 6b740afea403 (bug 1496486)
Backed out changeset 5cf44e254ac3 (bug 1496486)
Backed out changeset 8e465202c355 (bug 1496486)
Backed out changeset 86382b2249f6 (bug 1496486)
Backed out changeset ab92ed3e0a23 (bug 1496486)
2018-10-09 16:58:38 +03:00
Emilio Cobos Álvarez 791ac47786 Bug 1496486 - Bump cbindgen. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D7756
2018-10-09 15:33:06 +02:00
Chris Peterson 908795a253 Bug 583181 - Part 1: Add test for current navigator.buildID behavior. r=hsivonen
The incorrect LEGACY_BUILD_ID will be fixed in a subsequent changeset.

We must add https://www.mozilla.org/ to server-locations.txt and regenerate the mochitest certificates [1] because the new navigator.buildID test pretends to load content from https://www.mozilla.org/.

[1] https://searchfox.org/mozilla-central/source/build/pgo/certs/README

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

--HG--
rename : dom/tests/mochitest/bugs/test_bug351601.html => dom/tests/mochitest/bugs/test_navigator_buildID.html
extra : rebase_source : 1deb142930f1a7a570cf719c4cb2bed8adfeabe2
extra : source : 408bff32f9623513a271cdf043d11ba6d1318e03
2018-10-07 01:17:54 -07:00
Chris Peterson f9672fb3f4 Bug 583181 - Part 0: Remove unused Marketplace domains from mochitest whitelist. r=marco
Differential Revision: https://phabricator.services.mozilla.com/D7263

--HG--
extra : rebase_source : d1a21370b92a9adc575beac36b5942bb47c0e898
extra : intermediate-source : 5e17710450156b10310220a5158d426a3653b1d0
extra : source : b6c63b0952351471fdda8848ec98d283873023f5
2018-09-29 23:49:09 -07:00
Noemi Erli 8e3fe95bfb Backed out 3 changesets (bug 1414287) for causing bug 1497029 a=backout
Backed out changeset b8da3d4e6da0 (bug 1414287)
Backed out changeset 273e84414434 (bug 1414287)
Backed out changeset 76fafdaa9216 (bug 1414287)
2018-10-09 05:07:54 +03:00
Mike Hommey e5436a997c Bug 1414287 - Remove now unused win32-clang-cl-st-an toolchain r=dmajor
Depends on D7845

Differential Revision: https://phabricator.services.mozilla.com/D7846
2018-10-06 19:57:12 +09:00
Mike Hommey 10ee195be0 Bug 1414287 - Use a 64-bits clang-cl for 32-bits static analysis builds r=dmajor
This also requires the 64-bits rust compiler and some build system
tweaks.

Differential Revision: https://phabricator.services.mozilla.com/D7845
2018-10-06 19:57:11 +09:00
Ciure Andrei a48af06d13 Backed out 3 changesets (bug 1414287) for build bustages module machine type 'x64' conflicts with target machine type 'x86 CLOSED TREE
Backed out changeset 5cc491e4d9cb (bug 1414287)
Backed out changeset 98bb6d9eb63c (bug 1414287)
Backed out changeset 73dcff37f846 (bug 1414287)
2018-10-06 03:02:41 +03:00
Mike Hommey 2e131e0f55 Bug 1414287 - Remove now unused win32-clang-cl-st-an toolchain r=dmajor
Depends on D7845

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

--HG--
extra : moz-landing-system : lando
2018-10-05 22:56:11 +00:00
Csoregi Natalia 518c1edc03 Merge inbound to mozilla-central. a=merge 2018-10-05 07:43:18 +03:00
Mike Hommey 882e5b8d18 Backout changeset 85ac938c7c46 (bug 1492663) to give time to toolchains to build without blocking other landings. 2018-10-05 11:10:25 +09:00
Mike Hommey e4cc0ac662 Bug 1492663 - Upgrade most CI builds to clang 7 r=froydnj
The cctools-port linker links against libraries from clang (for LTO),
which have different SONAMEs depending on the clang version. Which means
the linker needs to be used along the same version of clang it was built
against. Thus we also make it depend on linux64-clang-7.

But changing the dependency is not enough, cf. bug 1471905, so also
touch its build script, which it turns out, we need to do anyways
because llvm-dsymutil was renamed to dsymutil.

Relatedly, all toolchains that are built using cctools-port need to use
linux64-clang-7 too.

Building compiler-rt 7 with the OSX 10.11 SDK fails because of some
newer APIs being used in compiler-rt for xray, but this is not a feature
we use, so disable that.

Differential Revision: https://phabricator.services.mozilla.com/D6766
2018-10-05 09:51:08 +09:00
Mike Hommey d19d35bd2e Bug 1495641 - Make clang-tidy toolchains use a clang-tidy/ directory instead of clang/. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D7582
2018-10-05 09:51:07 +09:00
Mike Hommey d605a2bfd3 Backout changeset 3ff4a396300c (bug 1495641) to give time to toolchains to build without blocking other landings. 2018-10-05 07:46:52 +09:00
Mike Hommey 460d9b3318 Bug 1495641 - Make clang-tidy toolchains use a clang-tidy/ directory instead of clang/. r=ted
Differential Revision: https://phabricator.services.mozilla.com/D7582
2018-10-05 07:41:27 +09:00
Mike Hommey 0580b59e77 Bug 1496327 - Remove --without-x r=froydnj
Bug 1282866 removed the only configuration where it did something.
Since then, using it only leads to a configure error.

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

--HG--
extra : moz-landing-system : lando
2018-10-04 13:54:18 +00:00
Guillaume GARDET 01c57dd3b8 Bug 1465731 - Fix armv6 build. r=glandiumd
ARM_ARCH setting is broken in build/autoconf/arch.m4 file,
when multiple lines match the pattern.
So, keep the 1st line only.
2018-07-16 03:18:00 +03:00
Kartikaya Gupta 5f7bc9a6a0 Bug 1497914 - Add a platform-specific piece into the symbol hash from generated files. r=mccr8
--HG--
extra : rebase_source : ca626a5357fb29a220f6c4e1cc3ee600b651eeec
2018-10-11 10:01:31 -04:00
shindli 3e5598a161 Backed out changeset 494eb5db5648 (bug 1465731) for bustages in the MOZBUILD file 2018-10-04 09:15:43 +03:00
Guillaume GARDET 5790c3ab65 Bug 1465731 - Fix armv6 build. r=glandium
ARM_ARCH setting is broken in build/autoconf/arch.m4 file,
when multiple lines match the pattern.
So, keep the 1st line only.
2018-10-03 04:22:00 +03:00
Noemi Erli 803184ef7d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-04 07:11:04 +03:00
Mike Shal e9a8c94db3 Bug 1496185 - Document MOZ_PARALLEL_BUILD in the tup backend; r=chmanchester
MozReview-Commit-ID: vkPjnKz56F

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

--HG--
extra : moz-landing-system : lando
2018-10-03 18:58:11 +00:00
Gurzau Raul 3295ecd3f1 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-02 19:07:23 +03:00
Mike Shal 7219d670fc Bug 1495593 - Use './mach' instead of 'mach' in tup docs; r=chmanchester
MozReview-Commit-ID: AXsQFqdIjqF

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

--HG--
extra : moz-landing-system : lando
2018-10-01 22:55:44 +00:00
Brindusan Cristian 9b5034705f Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-02 01:04:29 +03:00
Nathan Froyd d8685e6b76 Bug 1491419 - move --enable-reflow-perf to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd b0effdaae3 Bug 1491419 - move --enable-tasktracer to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd cf4c48d851 Bug 1491419 - move --enable-hardware-aec-ns to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd 2048436656 Bug 1491419 - move --enable-raw to moz.configure; r=nalexander 2018-10-01 14:51:27 -04:00
Nathan Froyd b318e37e44 Bug 1491419 - move MOZ_{SCTP,SRTP} to moz.configure; r=nalexander
These settings are just dependent on WebRTC being enabled.
2018-10-01 14:51:27 -04:00
Nathan Froyd 5ab704b3a9 Bug 1491419 - remove --enable-gamepad from old_configure_options; r=nalexander
Apparently we made gamepad support mandatory and ditched the option.
2018-10-01 14:51:27 -04:00
Nathan Froyd 4ab0b4cf0b Bug 1491419 - move --enable-verify-mar to moz.configure; r=nalexander 2018-10-01 14:51:28 -04:00
Nathan Froyd dc14f73882 Bug 1491419 - move --enable-bundled-fonts to moz.configure; r=nalexander 2018-10-01 14:51:28 -04:00
Nathan Froyd a259110dc9 Bug 1491419 - move --enable-maintenance-service to moz.configure; r=nalexander 2018-10-01 14:51:28 -04:00
Tom Prince f85b06c132 Bug 1492526: Don't build mar's as part of the build; r=firefox-build-system-reviewers,mshal,Callek
We need to sign parts of the contents of the archives, so the mar's that we
ship get built as part of the repackage task. Thus, there is no reason to also
create and upload as part of the build, just to throw them away.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 18:15:40 +00:00
Coroiu Cristina 44102e9f3d Backed out changeset 7652cf6fa0e4 (bug 1492663) for static analysis bustage
--HG--
rename : build/build-clang/clang-7-macosx64.json => build/build-clang/clang-6-macosx64.json
rename : taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh
2018-09-30 10:09:19 +03:00
Mike Hommey cb75aa87e4 Bug 1492663 - Upgrade most CI builds to clang 7 r=froydnj
The cctools-port linker links against libraries from clang (for LTO),
which have different SONAMEs depending on the clang version. Which means
the linker needs to be used along the same version of clang it was built
against. Thus we also make it depend on linux64-clang-7.

But changing the dependency is not enough, cf. bug 1471905, so also
touch its build script, which it turns out, we need to do anyways
because llvm-dsymutil was renamed to dsymutil.

Relatedly, all toolchains that are built using cctools-port need to use
linux64-clang-7 too.

Building compiler-rt 7 with the OSX 10.11 SDK fails because of some
newer APIs being used in compiler-rt for xray, but this is not a feature
we use, so disable that.

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

--HG--
rename : build/build-clang/clang-6-macosx64.json => build/build-clang/clang-7-macosx64.json
rename : taskcluster/scripts/misc/build-clang-6-linux-macosx-cross.sh => taskcluster/scripts/misc/build-clang-7-linux-macosx-cross.sh
extra : moz-landing-system : lando
2018-09-27 15:33:42 +00:00
Ciure Andrei a8953550a3 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-28 11:58:15 +03:00
Mike Shal a4782418de Bug 1494833 - Bump tup version to v0.7.8; r=chmanchester
This incorporates some fixes for ccache, icecream, and a better display
output (decreasing count instead of an increasing count). It may also
let us experiment with incremental rust support, though I think that
feature still needs some more work.

MozReview-Commit-ID: 7zPGiL9Ob6N

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

--HG--
extra : moz-landing-system : lando
2018-09-28 02:33:53 +00:00
Coroiu Cristina 8f256026f1 Merge mozilla-central to autoland a=merge ona CLOSED TREE 2018-09-28 00:41:04 +03:00
Chris Manchester 9b4e589152 Bug 1490147 - Require rustc 1.29. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D6998

--HG--
extra : moz-landing-system : lando
2018-09-26 22:18:25 +00:00
Benjamin Bouvier 2ab4b1419f Bug 1490948: Add support for extra bindgen flags when compiling Cranelift; r=froydnj
Some build flags are being passed by the build system: they're passed in a text
file called extra-bindgen-flags.in that's filled at configure time.

Other flags have to be inferred from the current target/host combination, in
Cranelift's build script directly. This is mostly cargo-culted from the
ServoBindings.toml file, and should probably be merged in the build system at
some point.

Some Windows-specific adjustments were needed to provide access to libclang for
bindgen support, by adding clang-cl to the plain Spidermonkey Windows builds.

--HG--
extra : rebase_source : 0bda40b1d1eb38c2657593f094c951013711d00a
extra : histedit_source : aad930a5f9099e299d385ae4de2deb81aed9b6d5
2018-09-25 15:31:22 +02:00
Nathan Froyd 18aa3c08fc Bug 1494384 - fix aarch64 __va_start checking in clang; r=dmajor
We need this so we can get a libclang to use for AArch64 bindgen.
2018-09-27 10:50:28 -04:00
David Major 93da7b7bda Bug 1492508: Merge upstream patch to pin the ASan DLL. r=ted
The ASan runtime wasn't designed to be unloaded, so pin it in memory.

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

--HG--
extra : rebase_source : 843fc91b3150f3b264e321ab89bf723a01fc8b3c
2018-09-26 17:24:16 -04:00
Brindusan Cristian 6d457f4a36 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-02 07:05:47 +03:00
Mike Hommey 9a846a77d5 Bug 1494216 - Use the -Bsymbolic-functions linker flag to build clang. r=froydnj
With libLLVM being a shared library exporting many symbols, all internal
calls using those symbols default to go through the PLT, which is
unnecessary (and costly) overhead. Using -Bsymbolic-functions makes
internal calls go directly to the right place without going through the
PLT.

Differential Revision: https://phabricator.services.mozilla.com/D7029
2018-10-02 12:36:11 +09:00
Narcis Beleuzu 84bc818ed3 Backed out changeset 11df51f97f13 (bug 1495293) for artifact build bustage 2018-10-02 05:36:29 +03:00
Mike Hommey 651b91efc4 Backout changeset 99b28f8874bb (bug 1494216) to give time to toolchains to build without blocking other landings. 2018-10-02 11:10:28 +09:00
Mike Hommey 4a3b202a51 Bug 1494216 - Use the -Bsymbolic-functions linker flag to build clang. r=froydnj
With libLLVM being a shared library exporting many symbols, all internal
calls using those symbols default to go through the PLT, which is
unnecessary (and costly) overhead. Using -Bsymbolic-functions makes
internal calls go directly to the right place without going through the
PLT.

Differential Revision: https://phabricator.services.mozilla.com/D7029
2018-10-02 11:10:03 +09:00
Kartikaya Gupta 4e68a766db Bug 1495293 - Make enable-rust-simd a JS option so JS crates get built with the RUSTC_BOOTSTRAP=1 flag in automation. r=froydnj 2018-10-01 21:15:27 -04:00
Mark Banner 3043f2a053 Bug 1482435 - Separate out nodejs finding logic from configure and use it for ESLint. r=firefox-build-system-reviewers,gps
This extracts the current logic for finding nodejs into its own module in mozbuild. Configure and ESLint then use it.

For ESLint, this will change the first location it looks for nodejs to be the .mozbuild directory.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 18:15:51 +00:00
Andi-Bogdan Postelnicu d3f9b58b9e Bug 1493641 - embed the libLLVM.dylib into clang-tidy artifact on macOS. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6697

--HG--
extra : moz-landing-system : lando
2018-09-24 20:44:27 +00:00
Mike Hommey b487ebbc58 Bug 1493093 - Allow to relax MOZ_NON_TEMPORARY_CLASS for some specific constructors r=andi
Differential Revision: https://phabricator.services.mozilla.com/D6566

--HG--
extra : moz-landing-system : lando
2018-09-24 22:47:12 +00:00
Rob Wu f8161bc611 Bug 1393570 - Set allowInheritPrincipal=false by default r=Gijs,glandium
This change prevents javascript:-URLs from being passed at the command
line. This restriction was already applied to every URL but the first.
Even the first URL did not result in any visible effect when Firefox is
started. Yet somehow the PGO profiler script managed to rely on it.

This commit ensures that "javascript:" URLs are not activated regardless of
position in the command line, and switches to a data:-URL for the PGO script to
achieve the (previously) desired effect of quitting the browser on startup.

Depends on D4929

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

--HG--
extra : moz-landing-system : lando
2018-09-18 11:54:44 +00:00
Chris Manchester 7bb5ab0ba0 Bug 1491967 - Document the difference between partial tree builds in Make and Tup. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D6433

--HG--
extra : moz-landing-system : lando
2018-09-21 19:05:51 +00:00
Chris Manchester 5426e697ab Bug 1492986 - Document expectations for out of tree objdirs and multiple objdirs in the Tup backend. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D6437

--HG--
extra : moz-landing-system : lando
2018-09-21 18:28:36 +00:00
Brindusan Cristian e48cea756e Merge inbound to mozilla-central. a=merge
--HG--
rename : toolkit/themes/shared/in-content/check-partial.svg => toolkit/themes/shared/icons/check-partial.svg
rename : browser/themes/shared/icons/check.svg => toolkit/themes/shared/icons/check.svg
2018-09-21 20:29:29 +03:00
Sylvestre Ledru 667c77d059 Bug 1493142 - Use 7 final tag to build libcxx r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D6488

--HG--
extra : moz-landing-system : lando
2018-09-21 13:58:30 +00:00
Ben Hearsum 648d8a8775 bug 1490119: Build separate updater that always embeds dep certificates. r=ted,firefox-build-system-reviewers
This patch gets us building an updater binary that always embeds the dep certificates (instead of release or nightly), and builds a new tests package that includes it.

This was originally D5900, but that was backed out due to busting artifact builds. I've fixed that by removing the Makefile that Ted pointed out is unnecessary.

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

--HG--
extra : moz-landing-system : lando
2018-09-21 10:07:27 +00:00
David Major 213fa4f492 Bug 1477490: Merge upstream ASan patch to unpoison thread stacks. r=ted 2018-09-20 17:40:38 -04:00
Mike Hommey 0848e2d157 Bug 1479232 - Only use one matcher for varDecl and parmVarDecl r=andi
ParmVarDecl being a subclass of VarDecl, using two matchers then caused
ScopeChecker::check to be called twice for ParmVarDecl nodes, once for
each match. But the code in ScopeCheck::check is written with the
assumption that it's called only once for such nodes.

Somehow, this didn't cause problems with clang up to version 6, but
makes the plugin spuriously warn about already_AddRefed not being used
as temporaries when used as argument in function declarations, with
clang 7.

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

--HG--
extra : moz-landing-system : lando
2018-09-20 08:17:52 +00:00
Thomas P. fde56b2dde Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 2018-09-20 21:21:38 +00:00
Andreea Pavel a6ba34f2ad Backed out 2 changesets (bug 1483780) for build bustages on a CLOSED TREE
Backed out changeset 2b0a42c589c5 (bug 1483780)
Backed out changeset 48d133cbafd3 (bug 1483780)
2018-09-21 05:43:03 +03:00
Thomas P. c047fdb3fb Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj
--HG--
extra : histedit_source : b7caa42560c3d8e7ba1dbf61fcacfe0698790801
2018-09-20 21:21:38 +00:00
Thomas P. dae33d978b Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj superreview=decoder
--HG--
extra : histedit_source : 6fd1a37c3fb5d8997be11f7846b2976fc7b8a647
2018-09-11 03:49:37 +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
Connor Sheehan 1d722a9ac1 Bug 1237610: update `submit_telemetry_data.py` r=ted
This commit updates submit_telemetry_data.py to send data
to the Telemetry pipeline. The script assumes the presence
of a "telemetry" directory within the statedir, and an
"outgoing" directory within the "telemetry" directory (otherwise
there is no data to submit). The script will create a
"submitted" directory and "telemetry.log" file if absent,
making the assumption that this is the first build telemetry
submission for that user. UUID values for submitted data points
are seeded from the filename, without the ".json" suffix.

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

--HG--
extra : moz-landing-system : lando
2018-09-20 18:54:07 +00:00
Margareta Eliza Balazs 92be42b8f3 Merge inbound to mozilla-central. a=merge 2018-09-20 16:24:21 +03:00
Mike Hommey e4d11fe477 Bug 1481338 - Disable -Werror for -Watomic-alignment r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D6347

--HG--
extra : moz-landing-system : lando
2018-09-20 02:05:24 +00:00
Bogdan Tara e956072fa9 Backed out changeset 96059b4f6d8a (bug 1490119) for breaking OSX builds r=bhearsum a=backout 2018-09-20 02:52:19 +03:00
Bogdan Tara e7c653959c Merge inbound to mozilla-central. a=merge 2018-09-20 00:58:18 +03:00
Ben Hearsum 11188446df bug 1490119: Add build system bits for building dep updater. r=firefox-build-system-reviewers,mshal,rstrong
This patch gets us building an updater binary that always embeds the dep certificates (instead of release or nightly), and builds a new tests package that includes it.

I had a lot of trouble getting the test package generated correctly due to the fact that things in "_tests" won't be included for test packages that aren't "common". My fix for that isn't ideal - I'm open to something better.

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

--HG--
extra : moz-landing-system : lando
2018-09-19 19:55:23 +00:00
arthur.iakab 1ee75a928a Merge inbound to mozilla-central a=merge 2018-09-19 05:18:50 +03:00
Mike Hommey 26306f585f Backout changeset b0abf5269c25 (bug 1492037) to give time to toolchains to build without blocking other landings. 2018-09-19 07:01:33 +09:00