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

7618 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 410b4939d9 Bug 1490549 - Make configure choose clang by default on all platforms r=froydnj
Now that we ship builds using clang on all platforms, pick it during
configure. It is still possible to opt-in to building other compilers by
setting CC/CXX (or even only CC) to the desired compiler.

Depends on D5829

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

--HG--
extra : moz-landing-system : lando
2018-09-14 18:01:23 +00:00
Mike Hommey 1beed8c891 Bug 1490549 - Change how host compilers are found r=froydnj
Before this change, we'd derive a host compiler and handle things as if
HOST_CC/HOST_CXX had been passed. With this change, we change the list
of compilers that are tested with check_prog instead.

Depends on D5828

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

--HG--
extra : moz-landing-system : lando
2018-09-14 17:40:52 +00:00
shindli 0c0c6fddd8 Backed out changeset aae4f349fa58 (bug 1479503) per developer's request on IRC a=backout
--HG--
rename : taskcluster/docker/static-analysis-build/Dockerfile => taskcluster/docker/infer-build/Dockerfile
2018-09-14 16:35:23 +03:00
Brindusan Cristian 99cbc0aec3 Merge inbound to mozilla-central. a=merge 2018-09-14 12:53:25 +03:00
Robert Bartlensky af9de513f7 Bug 1479503: Check infer in ./mach static-analysis autotest. r=nalexander
Adds infer to ./mach static-analysis autotest.

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

--HG--
rename : taskcluster/docker/infer-build/Dockerfile => taskcluster/docker/static-analysis-build/Dockerfile
extra : moz-landing-system : lando
2018-09-13 20:58:03 +00:00
Jim Chen 6ce80dbdc4 Bug 1480834 - 5. Keep target flag when building for Android on Linux; r=glandium
Currently, when building for Android x86-64 on Linux x86-64, we drop the
'--target' flag, which causes the build to fail. This patch adds a check
for OS mismatch, so we keep the '--target' flag in this situation.

Differential Revision: https://phabricator.services.mozilla.com/D4483
2018-09-13 12:09:26 -04:00
Jim Chen d968bd5148 Bug 1480834 - 2. Add x86-64 build support; r=nalexander
Add x86-64 as an option for Android builds in the build system.

Differential Revision: https://phabricator.services.mozilla.com/D4480
2018-09-13 12:09:25 -04:00
Jim Chen 054f1436df Bug 1480834 - 0. Drop mips and update NDK platform to 16; r=jchen
Differential Revision: https://phabricator.services.mozilla.com/D5602
2018-09-13 12:09:24 -04:00
Chris Peterson e58c4d5a41 Bug 1490575 - Remove Mulet comments from build files. r=froydnj
Mulet was a Firefox OS simulator that is no longer supported: https://wiki.mozilla.org/Mulet

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

--HG--
extra : rebase_source : d077c88b8446d0491b4af0dfe2198c4b980fa279
extra : source : 41301ab98bd094235b6995b18bcaa521f221c5f1
2018-09-11 23:07:32 -07:00
Thomas P. ac7fc2f5a6 Bug 1474488: add --enable-undefined-sanitizer with custom checks r=froydnj 2018-09-11 02:47:23 +00:00
Masatoshi Kimura 762361579f Bug 1485224 - Update Windows builders to VS 2017 15.8.4 and Windows SDK 17134. r=glandium
--HG--
extra : rebase_source : 15906168b0e2e2d545ea841cb3e11e7102bc9b39
2018-09-07 07:15:19 +09:00
Nathan Froyd 90c91d64dc Bug 1491901 - move MK*SHLIB to moz.configure; r=ted.mielczarek
It's nicer to have all that logic in one place, and to be able to common
up the Unix-y flags setting.  The Makefile constructs in string values
is gross, but it's no worse than we had before.
2018-09-19 10:03:42 -04:00
Henrik Skupin c8659bd663 Bug 905404 - [pgo] Add custom profile data in testing/profiles/profileserver. r=ahal
Add extra preferences for the profileserver script on-top of
the ones as inheritted from unittests.

--HG--
extra : rebase_source : 02d3297134e82c2425fc4c6c939cc5d0cc4a2c13
extra : histedit_source : 07f699b0ff8bec2a6eda7705a0fa13fb3b352f98
2018-09-06 08:47:46 +02:00
Ted Mielczarek 201bd292e7 Bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache; r=glandium
Currently mozconfig.cache overrides a few build options for sccache.
This patch moves them into toolchain.configure so that the build system
will set them properly when sccache is in use.  Additionally,
{CC,CXX}_WRAPPER are set in config.mk, so just avoid setting them when
sccache is in use.
2018-09-14 12:12:34 -04: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
Daniel Varga 8eac4fe0d9 Merge mozilla-central to mozilla-inbound 2018-09-13 05:50:34 +03:00
Mike Hommey 0a7e03bf20 Bug 1490542 - Remove the Linux LTO builds. r=froydnj
Now that Linux PGO builds also do LTO and all the Linux builds use
clang, there's not much use for separate LTO builds.

Differential Revision: https://phabricator.services.mozilla.com/D5632
2018-09-13 11:23:24 +09:00
Mike Hommey d60c232a5e Bug 1490618 - Use the right variable name for the new ASTMatcher API check r=froydnj
This will make the result properly displayed.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 12:18:13 +00:00
David Major 8a61079eb7 Bug 1489096: Use clang 7.0.0rc3 for Windows builds. r=glandium 2018-09-11 23:57:29 -04:00
Mike Hommey 1e441ae694 Bug 1481721 - Switch Linux nightlies and PGO builds to clang r=froydnj
And enable LTO on CI builds using clang + PGO.

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

--HG--
extra : moz-landing-system : lando
2018-09-11 22:52:29 +00:00
Mike Hommey 335daba18f Bug 1490218 - Disable sccache on PGO builds r=dmajor
Currently, sccache doesn't work at all with clang-cl (PGO or not, bug
1476604), and newer versions of sccache that do the right thing for PGO
flags with clang have other problems (see bug 1484897).

The benefit of sccache on PGO+LTO builds is however limited (the
profile-use half of the build doesn't benefit at all, and since it does
LTO as well, it's the most time-consuming part of the build), so in
order not to further block switching Linux builds to clang, let's just
disable sccache on PGO builds for now (the earlier we can switch to
clang, the more time it leaves to catch any problem that causes).

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

--HG--
extra : moz-landing-system : lando
2018-09-11 22:44:09 +00:00
Cosmin Sabou 6294a344fe Merge mozilla-central to mozilla-inbound. a=merge 2018-09-11 13:17:29 +03:00
Cosmin Sabou de7676288a Merge mozilla-inbound to mozilla-central. a=merge 2018-09-11 13:06:37 +03:00
Andreas Tolfsen 07dcb317a5 bug 1471281: build: make asan depend on --help; r=froydnj
The asan definition needs to depend on --help for the --enable-geckodriver
flag to depend on it through geckodriver_default.
2018-09-11 10:40:30 +01:00
Margareta Eliza Balazs e620c683cb Backed out 2 changesets (bug 1474488) for causing failures in build/src/obj-firefox/dist/include/mozilla/Assertions.h CLOSED TREE
Backed out changeset ffce46424c69 (bug 1474488)
Backed out changeset e4b9fa5f7592 (bug 1474488)
2018-09-11 10:59:28 +03:00
Tom Ritter 0f09d86a83 Bug 1489205 In expandlibs.m4, use the Windows form only when we are compiling on Windows r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D5172

--HG--
extra : moz-landing-system : lando
2018-09-11 03:20:06 +00:00
Robert Longson 63cb9a2572 Bug 1482196 - Increase minimum clang version to 3.9 r=froydnj 2018-09-10 18:59:07 +01:00
Thomas P. 357f9deb02 Bug 1474488 - add --enable-undefined-sanitizer with custom checks. r=froydnj 2018-09-11 02:47:23 +00:00
Daniel Varga 1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03:00
Mike Hommey f1afe5ceec Bug 1489340 - Remove xpcom/typelib r=froydnj
Nothing is using the xpt module anymore, which means we can remove it,
as well as the runtests.py script that runs its test, and the
integration of those tests in the build system.

Depends on D5221

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

--HG--
extra : moz-landing-system : lando
2018-09-07 13:55:38 +00:00
Sylvestre Ledru 6791a1aed7 Bug 1486759 - Cherry pick a lld fix to fix the Windows entry point r=dmajor
Not waiting for rc3 or final from llvm because the issue is pretty severe

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

--HG--
extra : moz-landing-system : lando
2018-09-07 13:05:31 +00:00
Mike Hommey cd06f032af Bug 1079662 - Always enable PIE. r=froydnj
Last attempt, a few years ago, blatantly failed because nautilus (the
GNOME file manager) can't start PIE executables, which look like shared
libraries, and that it thus considers not being executables.

Downstreams don't actually have the problem, because users won't be
launching Firefox from a file manager, but for mozilla.org builds, it is
a problem because users would download, then extract, and then likely
try to run the Firefox executable from a file manager.

So for mozilla.org builds, we still need to find a way around the
nautilus problem.

A .desktop file could be a solution, but .desktop files have not
actually been designed for this use case, which leads to:
- having to use an awful one-liner shell wrapper to derive the path
  to the executable from that of the .desktop file,
- not even being able to associate an icon,
- the .desktop file not being copiable to a location where .desktop
  files would normally go, because it would then fail to find the
  executable.

Another possibility is to go back to using a shell wrapper, but that's
not entirely appealing.

What we chose here is similar, where we have a small `firefox` wrapper
that launches the real `firefox-bin` (which is still leftover from those
old times where we had a shell wrapper, for reasons).

The small `firefox` wrapper is a minimalist C executable that just
finds the path to the `firefox-bin` executable and executes it with the
same args it was called with. The wrapper is only enabled when the
MOZ_NO_PIE_COMPAT environment variable is set, which we only take into
account on Linux. The variable is only really meant to be used for
mozilla.org builds, for the nautilus problem. Downstreams will just pick
the default, which is changed to build PIE.

On other platforms, PIE was already enabled by default, so we just
remove the --enable-pie configure flag.

Differential Revision: https://phabricator.services.mozilla.com/D5109
2018-09-08 07:41:21 +09:00
Mike Hommey ee56e638a0 Bug 1079662 - Always pass -rdynamic when linking with sanitizers. r=froydnj
When building executables as PIE, and because we use -Bsymbolic, which
symbols are exported from an executable varies based on the libraries
it's directly linked against, to fulfil their symbol needs. So when a
library depends on e.g. ASAN runtime symbols, and the linker finds that,
it will keep those ASAN symbols in the executable for the library. And
drop the other, unused symbols.

But when the executable then dlopen()s a library (e.g. shlibsign loading
libfreebl) that uses another set of ASAN symbols, including symbols that
none of the direct dependencies of the executable need, dlopen() fails
because of the missing symbols.

It's not currently an apparent problem because we don't enable PIE, and
we build Gecko executables with -rdynamic already (for mozjemalloc). But
we don't build non-Gecko executables this way (like shlibsign).

Differential Revision: https://phabricator.services.mozilla.com/D5108
2018-09-08 07:41:21 +09:00
Mike Hommey a5cbd7bc7e Bug 1489001 - Move most of mozconfig.linux to mozconfig.unix. r=froydnj
Bug 1487330 made mozconfig.asan use mozconfig.linux, but while that
worked out fine, it turns out that we do have mac builds using
e.g. mozconfig.asan, and that those can break when doing linux-specific
changes to mozconfig.linux.


--HG--
rename : build/unix/mozconfig.linux => build/unix/mozconfig.unix
2018-09-08 07:41:19 +09:00
Mike Hommey d974ecd01d Bug 1488632 - Don't disable the clang plugin on ASAN builds. r=dmajor
Somehow, bug 1488631 "fixes" the test failure that the original landing
of bug 1487330 caused.

Differential Revision: https://phabricator.services.mozilla.com/D5001
2018-09-08 06:51:22 +09:00
Mike Hommey 88314c2170 Bug 1488631 - Remove annotations that the clang plugin doesn't handle. r=andi
As per bug 1487622, annotations have side effects on codegen, one of
which changes a leak signature that the wpt harness doesn't match
against its whitelist anymore.

Interestingly, while looking at the issue, I found multiple moz_*
annotations that weren't actually looked for by the clang plugin,
making them useless. Even more interestingly, removing them changes
codegen in such a way that the leak signature mentioned above is not
altered anymore.

Differential Revision: https://phabricator.services.mozilla.com/D5000
2018-09-08 06:49:48 +09:00
Margareta Eliza Balazs f79a9159ca Backed out 2 changesets (bug 1485224) for perma bc3 failures e.g.: Error getting fileid for Z:\task_1536750533ad] WARNING: NS_ENSURE_TRUE CLOSED TREE
Backed out changeset fe2c607f4af7 (bug 1485224)
Backed out changeset f7a6e536532e (bug 1485224)
2018-09-12 15:37:19 +03:00
Masatoshi Kimura c7adec1ec3 Bug 1485224 - Update Windows builders to VS 2017 Update 8 and Windows SDK 17134. r=glandium
--HG--
extra : source : 2face0081dbf1ba256f6f533eea8b865e8360b78
2018-09-07 07:15:19 +09:00
Ted Mielczarek 4da2469474 bug 1237610 - use a mach setting to control telemetry submission. r=gps
Differential Revision: https://phabricator.services.mozilla.com/D4597

--HG--
extra : rebase_source : 4ff227ab9792f84c0a839c43f6ef91f5786cef69
2018-08-07 12:26:31 -04:00
Masatoshi Kimura 6e443c9a86 Bug 1414060 - move NONASCII to moz.configure; r=mshal 2018-09-10 18:57:40 -04:00
Mike Hommey f74b691a6e Bug 1488587 - Don't default to lld when building with clang LTO. r=dmajor
As described in c2b5cf7bde83, it is still preferable to build with BFD
ld when doing clang LTO, and one of the reasons we defaulted to lld in
the first place is that we didn't have the LLVM gold plugin on
automation, which, as of bug 1488307, we now have.

Differential Revision: https://phabricator.services.mozilla.com/D4987
2018-09-06 08:01:39 +09:00
Margareta Eliza Balazs a6dfec6935 Merge inbound to mozilla-central. a=merge 2018-09-05 12:45:27 +03:00
Bogdan Tara 32e713bf8b Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-05 02:43:23 +03:00
Mike Hommey 9dae4fbe09 Bug 1487931 - Avoid using linker scripts as file lists when doing LTO with BFD ld. r=froydnj
At least, when that combination doesn't work. This requires passing the
LTO flags to the compiler invocations for the test, which in turn
requires actually calling the linker directly on Windows, instead of
directly through the compiler, as when actually building.

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

--HG--
extra : moz-landing-system : lando
2018-09-04 21:49:16 +00:00
Mike Hommey 55896c33ae Bug 1488307 - Build the LLVM gold plugin. r=mshal
As much as it's tempting to use LLD for LTO, it still causes some
subtle problems with the build, and it's still better to keep using
BFD ld for the time being. Doing so requires the gold plugin, which
only requires to pass cmake the directory where the binutils headers
are, and they are part of the gcc toolchain headers.

Differential Revision: https://phabricator.services.mozilla.com/D4896
2018-09-05 09:36:42 +09:00
Cosmin Sabou c8483bebfa Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : gfx/doc/AsyncPanZoom-HighLevel.png => gfx/docs/AsyncPanZoomArchitecture.png
rename : gfx/doc/silkArchitecture.png => gfx/docs/SilkArchitecture.png
rename : gfx/doc/README.webrender => gfx/webrender_bindings/README.webrender
2018-09-01 12:27:26 +03:00
Ciure Andrei db22ef8d8a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-01 02:43:10 +03:00
Sebastian Hengst 4f39161869 Backed out 18 changesets (bug 1487647, bug 1487271, bug 1487001, bug 1487105, bug 1486845, bug 1485738, bug 1487595, bug 1347060, bug 1480900, bug 1487889) for accidential push of inbound to central. a=backout
Backed out changeset 331706d8558f (bug 1487595)
Backed out changeset d78b833293db (bug 1487595)
Backed out changeset f292ef31ef0b (bug 1487595)
Backed out changeset ef8c5c529210 (bug 1486845)
Backed out changeset 9cbc8592d649 (bug 1487889)
Backed out changeset 05a0118455e4 (bug 1487105)
Backed out changeset 78b8ff889992 (bug 1487105)
Backed out changeset 5a55e5b74107 (bug 1480900)
Backed out changeset ea2402bdef40 (bug 1347060)
Backed out changeset 3f831b709e37 (bug 1485738)
Backed out changeset d1c29bfb5ea9 (bug 1480900)
Backed out changeset 8e60483ec824 (bug 1480900)
Backed out changeset 328589a86dd1 (bug 1487647)
Backed out changeset d974ef1647f3 (bug 1480900)
Backed out changeset 0509636cc5d5 (bug 1487001)
Backed out changeset c57165730494 (bug 1487271)
Backed out changeset a55d81761fc4 (bug 1480900)
Backed out changeset eaa2d0e9b62d (bug 1480900)

--HG--
rename : gfx/docs/AsyncPanZoomArchitecture.png => gfx/doc/AsyncPanZoom-HighLevel.png
rename : gfx/webrender_bindings/README.webrender => gfx/doc/README.webrender
rename : gfx/docs/SilkArchitecture.png => gfx/doc/silkArchitecture.png
2018-09-01 02:01:23 +03:00
Sebastian Hengst 973b725f51 Bug 1485400 - Remove ')' from merge conflict. a=bustage-fix 2018-09-01 01:56:12 +03:00
Ciure Andrei d1376bd7ec Merge inbound to mozilla-central. a=merge 2018-09-01 01:40:48 +03:00
Mike Hommey 193ff6bb87 Bug 1487595 - Avoid using linker scripts as file lists when doing LTO with BFD ld. r=froydnj
At least, when that combination doesn't work.

Differential Revision: https://phabricator.services.mozilla.com/D4739
2018-09-01 07:21:03 +09:00
Mike Hommey 6b6cfecf98 Bug 1487595 - Error out instead of setting EXPAND_LIBS_LIST_STYLE to none. r=froydnj
Back before expandlibs was removed in bug 1429875, not using list files
was supported, but nowadays, it just leads to errors like the following:

*** No rule to make target 'libfake_so.list', needed by 'libfake.so'.  Stop.

We might as well error out during configure, rather than much later
during the build.

Differential Revision: https://phabricator.services.mozilla.com/D4738
2018-09-01 07:21:03 +09:00
Mike Hommey fbe830210b Bug 1487595 - Remove LIBS_DESC_SUFFIX and EXPAND_LIBS_ORDER_STYLE. r=froydnj
They're both unused since bug 1429875.

Differential Revision: https://phabricator.services.mozilla.com/D4737
2018-09-01 07:21:02 +09:00
Mike Hommey f8fa0c1926 Bug 1482268 - Upgrade binutils for clang builds to 2.31.1. r=froydnj
All the Linux builds using GCC uses the binutils bundled with GCC. This
gives us some leeway to update the binutils used for clang builds (using
the binutils toolchain as of bug 1486998) separately.

Since we only ship builds using GCC, we're more free to upgrade
binutils for clang builds, without worrying about the next merge.

This upgrades to the last released version of binutils, and applies the
patch from https://sourceware.org/bugzilla/show_bug.cgi?id=23591 on top,
so that asan fuzzing builds don't fail.

The GPG key used to sign the upstream tarball is unfortunately not
connected to the web of trust. I verified the contents matched what's in
the Debian archive (which has a different tarball, because some files
are removed/modified in Debian for license reasons ; there were no
differences besides those).

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

--HG--
extra : moz-landing-system : lando
2018-08-31 21:49:12 +00:00
ui.manish a5ea6dfab9 Bug 1435552 Remove NO_EM_RESTART from test harnesses; r=gbrown 2018-08-31 15:33:32 +02:00
Coroiu Cristina 71432717b8 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-08-31 19:18:33 +03: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
Gurzau Raul 3291b096a2 Backed out changeset e1eac066705f (bug 1487330) for permafailing with leaks at mozilla::net::nsStandardURL::TemplatedMutator on a CLOSED TREE 2018-08-31 04:39:10 +03:00
Mike Hommey 78c3a07f1f Bug 1487330 - Make mozconfig.{asan,lto,tsan} use mozconfig.linux. r=froydnj
Those mozconfigs do things in common that are already in
mozconfig.linux. Let's just use that.

This will make the build have the binutils toolchain in PATH rather than
passing it to CC/CXX, which is better because it also makes the build
use tools such as ar, ranlib, objcopy from the binutils toolchain,
rather than the old system ones.

Differential Revision: https://phabricator.services.mozilla.com/D4649
2018-08-31 07:50:56 +09:00
Gurzau Raul 09fe34b331 Merge inbound to mozilla-central. a=merge 2018-08-31 00:49:36 +03:00
Myk Melez 7978cd2fe4 Bug 1482810 - set COMPILE_FLAGS var to hide warnings for Rust crates r=chmanchester
In conjunction with the cc crate changes in https://github.com/alexcrichton/cc-rs/pull/342 (which I'll land in https://phabricator.services.mozilla.com/D4699), this hides warnings generated by C code in Rust crates (by removing warnings flags from CFLAGS when compiling Rust libraries).

MozReview-Commit-ID: 9CZgLGbWjbA

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

--HG--
extra : moz-landing-system : lando
2018-08-30 17:29:54 +00:00
Mike Hommey 6e78f08178 Bug 1486998 - Use the binutils toolchain instead of gcc for builds using clang. r=froydnj
This avoids downloading and unpacking a large package that we only use
for binutils when building with clang.

Differential Revision: https://phabricator.services.mozilla.com/D4516
2018-08-30 07:30:30 +09:00
Mike Hommey f3d7015c06 Bug 1486995 - Use fetch task for binutils source for the binutils toolchain. r=dmajor
While here, use nproc instead of hardcoding a -j value.

Differential Revision: https://phabricator.services.mozilla.com/D4515
2018-08-30 07:30:13 +09:00
Mike Hommey 93cd01c00d Bug 1487595 - Error out instead of setting EXPAND_LIBS_LIST_STYLE to none. r=froydnj
Back before expandlibs was removed in bug 1429875, not using list files
was supported, but nowadays, it just leads to errors like the following:

*** No rule to make target 'libfake_so.list', needed by 'libfake.so'.  Stop.

We might as well error out during configure, rather than much later
during the build.

Differential Revision: https://phabricator.services.mozilla.com/D4738
2018-09-01 08:55:41 +09:00
Mike Hommey e840c2d285 Bug 1487595 - Remove LIBS_DESC_SUFFIX and EXPAND_LIBS_ORDER_STYLE. r=froydnj
They're both unused since bug 1429875.

Differential Revision: https://phabricator.services.mozilla.com/D4737
2018-09-01 08:55:40 +09:00
Mike Hommey cf79ab0a63 Backout changeset c2b5cf7bde83 (bug 1488307) to give time to toolchains to build without blocking other landings. 2018-09-05 06:50:14 +09:00
Mike Hommey 6f7dce0af3 Bug 1488307 - Build the LLVM gold plugin. r=mshal
As much as it's tempting to use LLD for LTO, it still causes some
subtle problems with the build, and it's still better to keep using
BFD ld for the time being. Doing so requires the gold plugin, which
only requires to pass cmake the directory where the binutils headers
are, and they are part of the gcc toolchain headers.

Differential Revision: https://phabricator.services.mozilla.com/D4896
2018-09-05 06:50:13 +09:00
Mike Hommey 880d97b311 Bug 1487330 - Make mozconfig.{asan,lto,tsan} use mozconfig.linux. r=froydnj
Those mozconfigs do things in common that are already in
mozconfig.linux. Let's just use that.

This will make the build have the binutils toolchain in PATH rather than
passing it to CC/CXX, which is better because it also makes the build
use tools such as ar, ranlib, objcopy from the binutils toolchain,
rather than the old system ones.

Differential Revision: https://phabricator.services.mozilla.com/D4649
2018-08-31 17:25:37 +09:00
Ted Mielczarek eb72babf41 bug 1417646 - build geckodriver in cross-compile builds. r=ato
With patches from other bugs in place to use the right C compiler and cflags,
we can enable geckodriver on cross-compiles for macOS.

MozReview-Commit-ID: 5wqBiA6UCf
2018-07-05 07:19:24 -04:00
Hiroyuki Ikezoe 39f926dab0 Bug 1417646 - Add llvm-dsynutil/ into PATH. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4041
2018-08-23 13:07:36 +09:00
Ted Mielczarek 4cf1ee3119 bug 1237610 - slight cleanup in should_skip_dispatch. r=gps
MozReview-Commit-ID: HJLO82QZQVO

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

--HG--
extra : rebase_source : 534ce3a17bc7c47d3203ba2f6bcfcd6bca932d66
2018-05-16 12:26:52 -04:00
Ted Mielczarek bedd69ce23 bug 1237610 - move build system telemetry collection code to a common place. r=gps
The telemetry gathering code is currently split in two places, so move it
all to a common place. Followup patches will rewrite most of this code.

--HG--
extra : rebase_source : afd14940f7175f7ca730a3b90ad770f143bcb6c7
2018-08-07 11:27:26 -04:00
Landry Breuil 24b40917e5 Bug 1457092 - Define XP_*BSD for OpenBSD/NetBSD/FreeBSD. r=glandium
--HG--
extra : histedit_source : eb42e923719f997e8bcdf3a38e9904c0e97c9af2
2018-08-23 04:55:00 +03:00
Mike Hommey 357a8bb20c Bug 1486654 - Enable static analysis on all Linux CI builds. r=ted
And turn off separate static analysis build tasks.
2018-08-29 13:55:24 +09:00
Mike Hommey 99d57d4dfb Bug 1486652 - Make x86 linux builds actual cross builds. r=ted
The x86 linux builds originally were performed in x86 build environment.
That was a long time ago. Since then, they moved to x86-64 hosts with
x86 headers and libraries. But for reasons that might have to do with
the build system not really supporting cross-compilation nicely back
then, the build is still explicitly passing both --host and --target,
making those builds non-cross builds.

Since the toolchains used to build are for x86-64, the fact that --host
is for x86 actually prevents enabling the clang plugin, so we need to
turn these builds in actual cross builds if we want to enable the clang
plugin.
2018-08-29 13:50:02 +09:00
Dorel Luca 544b61c613 Backed out changeset 692efe8acba9 (bug 1486654) for wd failures on /builds/worker/workspace/build/tests/bin/geckodriver 2018-08-29 05:16:55 +03:00
Dorel Luca 05fb3381f3 Backed out changeset 9da60503ea49 (bug 1486652) for wd failures on /builds/worker/workspace/build/tests/bin/geckodriver 2018-08-29 05:16:13 +03:00
Mike Hommey 2ef817ea52 Bug 1486654 - Enable static analysis on all Linux CI builds. r=ted
And turn off separate static analysis build tasks.
2018-08-29 08:02:06 +09:00
Mike Hommey 49b5785ec6 Bug 1486652 - Make x86 linux builds actual cross builds. r=ted
The x86 linux builds originally were performed in x86 build environment.
That was a long time ago. Since then, they moved to x86-64 hosts with
x86 headers and libraries. But for reasons that might have to do with
the build system not really supporting cross-compilation nicely back
then, the build is still explicitly passing both --host and --target,
making those builds non-cross builds.

Since the toolchains used to build are for x86-64, the fact that --host
is for x86 actually prevents enabling the clang plugin, so we need to
turn these builds in actual cross builds if we want to enable the clang
plugin.
2018-08-29 08:02:05 +09:00
arthur.iakab 5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Andi-Bogdan Postelnicu 2238536677 Bug 1483953 - Add a FixIt hint for the ExplicitImplicitChecker analysis. r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D4191

--HG--
extra : moz-landing-system : lando
2018-08-24 14:11:26 +00:00
Andi-Bogdan Postelnicu 34a6c4ff8f Bug 1466427 - Migrate clang-tidy package from 5.0.1 to 7.0.0-rc2. r=glandium,janx
Differential Revision: https://phabricator.services.mozilla.com/D3980

--HG--
rename : tools/clang-tidy/test/misc-bool-pointer-implicit-conversion.cpp => tools/clang-tidy/test/bugprone-bool-pointer-implicit-conversion.cpp
rename : tools/clang-tidy/test/misc-forward-declaration-namespace.cpp => tools/clang-tidy/test/bugprone-forward-declaration-namespace.cpp
rename : tools/clang-tidy/test/misc-macro-repeated-side-effects.cpp => tools/clang-tidy/test/bugprone-macro-repeated-side-effects.cpp
rename : tools/clang-tidy/test/misc-string-constructor.cpp => tools/clang-tidy/test/bugprone-string-constructor.cpp
rename : tools/clang-tidy/test/misc-string-integer-assignment.cpp => tools/clang-tidy/test/bugprone-string-integer-assignment.cpp
rename : tools/clang-tidy/test/misc-suspicious-missing-comma.cpp => tools/clang-tidy/test/bugprone-suspicious-missing-comma.cpp
rename : tools/clang-tidy/test/misc-swapped-arguments.cpp => tools/clang-tidy/test/bugprone-swapped-arguments.cpp
rename : tools/clang-tidy/test/misc-unused-raii.cpp => tools/clang-tidy/test/bugprone-unused-raii.cpp
extra : moz-landing-system : lando
2018-08-24 12:39:58 +00:00
Andi-Bogdan Postelnicu d25759d92e Bug 1485949 - fix busted build of clang-plugin on MacOS native build. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4204

--HG--
extra : moz-landing-system : lando
2018-08-24 11:44:38 +00:00
Mike Hommey a6d35e4199 Bug 1481670 - Add a non-mangled version of the valgrind suppression for SaveWordToEnv. r=njn
This is similar to what was done with SaveToEnv in bug 1457999.
2018-08-24 21:44:12 +09:00
Mike Hommey 95f25c8a5d Bug 1485610 - Avoid copy relocations in binaries we build. r=froydnj
See bug 1485562 for an example of bad things that can happen with such
relocations, and see also
c90379ddfe/ELF/Relocations.cpp (L496-L537)
2018-08-24 08:57:04 +09:00
Mike Hommey 32f6c1b795 Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and
contains a backport of r339636.
2018-08-24 08:39:30 +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 a4d874c7b8 Bug 1485545 - Upgrade clang 7 toolchains to rc2. r=dmajor
It fixes a crash on LTO (https://bugs.llvm.org/show_bug.cgi?id=38597) and
contains a backport of r339636.
2018-08-24 07:33:38 +09:00
Nathan Froyd c1c5987ee2 Bug 1485716 - part 1 - always use frame pointers on aarch64 windows; r=dmajor
This support is not necessary, but the ABI conventions
page (https://docs.microsoft.com/en-us/cpp/build/arm64-windows-abi-conventions)
encourages people to use frame pointers for fast stack walking, and
using frame pointers means we're compatible with ETW, which is a Good
Thing.
2018-08-23 16:48:53 -04:00
Nathan Froyd e02e0b391b Bug 1397263 - move --enable-accessibility to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
Nathan Froyd e2773ad4fd Bug 1397263 - move ASOUTOPTION to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
Ted Mielczarek 5beac189a8 Bug 1397263 - move GNU_AS checks to toolchain.configure; r=glandium
The GNU_AS check in old-configure depended on running with the value
of $AS before it gets reset to just be the C compiler, which breaks when
we move setting AS into moz.configure.

This patch moves the GNU_AS check to toolchain.configure and changes it
so that it works when the assembler is the C compiler.  We do have to
fix things slightly for clang, because the previous check was
succeeding, but not because of clang: it was detecting the presence of
"GNU" in the output for GNU ld/gold and a message about the GNU GPL.
2018-10-03 20:29:29 -04:00
Nathan Froyd 9a1e9149b8 Bug 1397263 - move AS checks to toolchain.configure; r=glandium
This is a fairly straightforward port of the AS tool checks from old-configure
to toolchain.configure. AS is a little quirky in that we currently do a
normal-looking check for it, but then override that value to be the C compiler
for non-Windows builds, and ml[64]/armasm64 for Windows builds.

After migrating those checks, the only things left in the MOZ_DEFAULT_COMPILER
macro in compiler-opts.m4 were some unused bits, so I removed them:
* Setting of CPP/CXXCPP, which are set in toolchain.configure now
* Setting HOST_LDFLAGS to empty, which doesn't seem particularly useful.

There was also a quirky old test that the assembler was ml[64] when js-ctypes
is enabled that I removed, I don't think it provides any value since this
patch will ensure that we're using the right assembler for Windows builds.
2018-10-03 20:29:29 -04:00
Nathan Froyd 684e72b2ab Bug 1486905 - add a HOST_LINKER variable for cross windows builds; r=dmajor
This setup seems to work well enough to enable me to link
HOST_SIMPLE_PROGRAMS with an AArch64-cross setup.  Necessary library
paths are passed to the linker via -LIBPATH and HOST_LDFLAGS rather than
letting MSVC fish them out of the environment.  The change to
HOST_SIMPLE_PROGRAMS to pass HOST_LDFLAGS was necessary for this to
work, in addition to the HOST_LINKER changes.
2018-08-30 10:28:15 -04:00
Sebastian Hengst ceebee3842 Backed out 4 changesets (bug 1417646) for Webdriver missing geckodriver binary, at least on Linux x64 asan
Backed out changeset 1c7e3f8af2e3 (bug 1417646)
Backed out changeset 42ea09d91d7e (bug 1417646)
Backed out changeset 1a3c37471045 (bug 1417646)
Backed out changeset 7179a078b7b4 (bug 1417646)
2018-08-30 12:54:45 +03:00
Hiroyuki Ikezoe 84dbd47154 Bug 1417646 - Remove explicit ac_add_options --enable-geckodriver for linux32 build. r=me 2018-08-30 18:08:45 +09:00
Hiroyuki Ikezoe fde587cfd6 Bug 1417646 - Create a symlink named dsymutil to llvm-dsymutil. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D4041
2018-08-23 13:07:36 +09:00
Chris Peterson 1f8394cea3 Bug 1483761 - Enable clang's -Wtautological-overlap-compare warning. r=glandium
-Wtautological-overlap-compare is an opt-in warning added in clang 3.5. It warns about overlapping comparisons that are always true or false, such as:

if (x > 4 || x < 10) {} // warning! always true
int b = x < 2 && x > 5; // warning! always false
return x > 4 || x < 10; // warning! always true

https://clang.llvm.org/docs/DiagnosticsReference.html#wtautological-overlap-compare

There are currently no -Wtautological-overlap-compare warnings in mozilla-central.

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

--HG--
extra : rebase_source : e6aa211a338633e5fb7507b3a8f341709d72d6c9
2018-08-14 22:39:03 -07:00
Chris Peterson 8cddf640b9 Bug 1483761 - Enable clang's -Wshadow-field-in-constructor warnings. r=glandium
This opt-in warning catches bugs where a constructor modifies a constructor parameter that shadows member variable name. The code probably intended to change the member variable value, not the paramter. There are currently no -Wshadow-field-in-constructor warnings in mozilla-central.

https://clang.llvm.org/docs/DiagnosticsReference.html#wshadow-field-in-constructor-modified

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

--HG--
extra : rebase_source : 604ff90e036d536955db41351ee9ee97e8424d92
extra : intermediate-source : 712f538afc160f4efae2383130727edbd1dd70f6
extra : source : 300fff9a58515c7cac0647afc9ccc0e69bc8c5cb
2018-08-20 10:10:57 -07:00
Chris Peterson 874e8bf033 Bug 1483761 - Enable clang's -Wfloat-(overflow|zero)-conversion warnings. r=glandium
-Wfloat-overflow-conversion detects when a constant floating point value is converted to an integer type and will overflow the target type.

https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-overflow-conversion

-Wfloat-zero-conversion detects when a non-zero floating point value is converted to a zero integer value.

https://clang.llvm.org/docs/DiagnosticsReference.html#wfloat-zero-conversion

There are currently no -Wfloat-overlap-conversion warnings in mozilla-central. There is one -Wfloat-zero-conversion warning in a webrtc test. It doesn't block enabling this check because the webrtc tests are not compiled with warnings-as-errors.

media/webrtc/trunk/webrtc/modules/audio_coding/audio_network_adaptor/frame_length_controller_unittest.cc:255:54 [-Wfloat-zero-conversion] implicit conversion from 'const float' to 'int' changes non-zero value from 0.045000002 to 0

We can't enable all -Wfloat-conversion warnings (for any implicit conversion of a floating-point number into an integer) because there are currently over 1400 warnings. I spot checked a few of these -Wfloat-conversion warnings. I didn't find any obvious bugs, but there is some suspicious code, such as implicit conversions of floats to bools.

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

--HG--
extra : rebase_source : 589be9e593749c7000b1f89ca155e4f95a487f8f
2018-08-14 23:03:52 -07:00
Chris Peterson 863d823722 Bug 1483761 - Enable clang's -Wc++2a-compat warnings. r=glandium
Warn about C++ constructs whose meaning change in C++2a.

https://clang.llvm.org/docs/DiagnosticsReference.html#wc-2a-compat

So far the only -Wc++2a-compat check that I know of is for valid pre-C++2a code that inadvertently parses as C++2a's new <=> "spaceship" comparison operator. `f<&A::operator<=>();` is an example of a warning reported for a real project on GitHub. That code can be rewritten as `f< &operator<= >();`.

There are currently no -Wc++2a-compat warnings in mozilla-central.

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

--HG--
extra : rebase_source : 4ec8147ad3fe2d1ef7c543d100c660a000385786
2018-08-15 10:02:07 -07:00
Chris Manchester b8b943575b Bug 1481604 - Require nightly Cargo in addition to a particular rustc when building with tup. r=mshal
Our version check is removed as well, as the current required rustc version for
Firefox includes all features required to build with tup.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 20:39:33 +00:00
svoisen d9fce4a9d0 Bug 1466722 - Remove remaining references to nsCSSRuleProcessor since it has been removed. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D3928

--HG--
extra : moz-landing-system : lando
2018-08-22 01:29:39 +00:00
Mike Hommey 89dfab93fc Bug 1485210 - Add --sym-offsets=yes to valgrind command line. r=njn
When valgrind prints out backtraces, it prints raw addresses and symbol
names, but that doesn't help find the exact code that caused the errors,
because we don't know where the libraries are loaded.

With --sym-offsets=yes, it adds the offset from the symbol, which allows
to find the relevant code in the binary.
2018-08-22 13:44:38 +09:00
Andreea Pavel c8dfc19d97 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-08-22 06:38:49 +03:00
Andreea Pavel 883da574e8 Merge mozilla-inbound to mozilla-central. a=merge 2018-08-22 06:35:14 +03:00
Mike Hommey 9c245b8d05 Bug 1484888 - Apply upstream patch that fixes a clang crash with stack overflow on PGO + LTO on Linux. r=froydnj
For some reason, clang 6 crashes with a stack overflow on PGO + LTO on
Linux 64 bits. Clang 7 doesn't, but has other problems.

After some bisecting, I found the following:
- r322684 is the first revision that is broken on the release_60 branch.
- that revision is a cherry pick of r322313 from trunk, which is
  similarly broken.
- trunk was fixed by r322325, which, funnily enough, predates when
  r322313 was cherry-picked.

While the change from r322325 is relatively large, mixing multiple
different changes in a single commit, there also haven't been
significant changes to the same file on trunk since (one macro name
change, one documentation change, and a change related to debug info),
which would tend to indicate the change is not going to break anything,
or at least not more than upgrading to clang 7 would.

The exact part that fixes the issue could probably be found in this
large commit, but I didn't feel like digging into it further considering
the above.
2018-08-22 09:52:17 +09: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
Jan Beich e459b11dc1 Bug 1484535 - Allow C++ files to check MOZ_SYSTEM_ICU. r=froydnj 2018-08-21 16:02:00 +03:00
David Major e57877cd63 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium 2018-08-21 11:30:16 -04:00
Nathan Froyd 93ba371b66 Bug 1480558 - part 4 - add icudata support for aarch64 windows; r=mshal
yasm doesn't support aarch64, and trying to use GNU as with an MSVC
build seems like sadness waiting to happen.  Instead, we'll generate our
own assembly file that armasm64 will accept.
2018-08-21 11:00:34 -04:00
Nathan Froyd ad9e5941dc Bug 1480558 - part 1 - set AS appropriately on aarch64 windows; r=mshal 2018-08-21 11:00:35 -04:00
Margareta Eliza Balazs 751b15f741 Backed out changeset 1b533762e9cb (bug 1483835) for causing build bustage in /python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py on a CLOSED TREE 2018-08-21 17:03:40 +03:00
David Major e14b59ea94 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium
--HG--
extra : rebase_source : 4abacd94c31ca33d8388f5e0da22010320c561a8
2018-08-21 09:34:33 -04:00
Mike Hommey 6df1b75554 Fix Android bustage from bug 1484872. r=me on a CLOSED TREE 2018-08-21 09:14:28 +09:00
Mike Hommey d1714fc61d Bug 1484872 - Move LTO flags to python configure. r=froydnj 2018-08-21 08:40:26 +09:00
Mike Hommey 1b5bd092ec Bug 1484872 - Don't look for llvm-symbolizer for LTO builds. r=froydnj
Similar to bug 1478923.
2018-08-21 08:40:10 +09:00
Mike Hommey 7b448e6258 Bug 1484872 - Remove --enable-llvm-hacks. r=froydnj
It calls for cargo-culting its use when using clang, when it's specific
to skipping one linker flags for sanitizers.
2018-08-21 08:40:00 +09:00
Mike Hommey 6f1f972c02 Bug 1484872 - Remove MOZ_CFLAGS_NSS. r=froydnj
It hasn't been used since bug 1295937.
2018-08-21 08:39:49 +09:00
Mike Hommey 4debc3c875 Bug 1341222 - Avoid m4 breaking the sed expressions that set NSPR_INCLUDE_DIR and NSPR_LIB_DIR. r=froydnj 2018-08-21 07:25:00 +09:00
Masatoshi Kimura 20bf6de031 Bug 1484190 - Unblock MSVC 2017 15.8. r=dmajor
--HG--
extra : rebase_source : 9d43a9cec951deabcb224efcc6bea2be0e772394
extra : source : 36e41ebefc3512f840f646be3fc14f0f3b5b538d
2018-08-17 20:41:49 +09:00
Csoregi Natalia 0b0d5bd64a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-21 01:04:16 +03:00
Mike Hommey dc4c9b7cd4 Bug 1483937 - Still use GCC on MOZ_PGO builds that don't have FORCE_GCC. r=froydnj
Yay for inconsistencies in jobs between beta and central.
2018-08-21 06:50:30 +09: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 Hommey 9fb5fdb841 Bug 1484100 - No-op change to clang-win64.json to retrigger a clang-cl build from a decision task to make CoT happy again. r=me 2018-08-20 06:47:26 +09:00
Bob Clary 129bad1f48 Bug 1482887 - Remote automation should kill already running instances rather than dying, r=gbrown. 2018-08-18 10:47:12 -07:00
Bob Clary fbd6d3dfca Bug 1482878 - Use screencap to capture on physical android device screenshots, r=gbrown. 2018-08-18 10:47:12 -07:00
Bob Clary be2ccf78f3 Bug 1482874 - Handle Android 8.1 change for anr stack directory to contain individual files for traces, r=gbrown. 2018-08-18 10:47:12 -07:00
Dan Mosedale a39cf8c127 Bug 1484282 - Fix typo in mach bootstrap command recommendation, r=gps
MozReview-Commit-ID: 4qbrbuCfSVr
2018-08-17 19:35:02 -07:00
Daniel Varga 36e523e699 Merge mozilla-central to mozilla-inbound 2018-08-18 01:05:36 +03:00
Gabriele Svelto b48b3e4db0 Bug 1473821 - The MOZ_PGO_INSTRUMENTED environment variable is not used anymore so remove all remaining mentions of it r=gps
Differential Revision: https://phabricator.services.mozilla.com/D3219

--HG--
extra : moz-landing-system : lando
2018-08-17 16:40:10 +00:00
Mike Hommey f50e1c662a Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor
--HG--
extra : source : 5fcbe08fb321a5076f56c380b554c63068efbb00
2018-08-16 16:44:36 +09:00
Mike Hommey 41475291f5 Bug 1479800 - Build 32-bits compiler-rt for 64-bits clang-cl. r=dmajor
--HG--
extra : source : dccd5299c5ad9e4258eb7b08201f2f39164a2a54
2018-08-16 10:31:03 +09:00
arthur.iakab 07aa46fd13 Backed out 2 changesets (bug 1479800, bug 1483779)for frequent cgx and arm64 failures
Backed out changeset 5fcbe08fb321 (bug 1483779)
Backed out changeset dccd5299c5ad (bug 1479800)
2018-08-17 09:50:30 +03:00
Mike Hommey 152366b300 Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor 2018-08-17 10:19:52 +09:00
Mike Hommey 403fedb91f Bug 1479800 - Build 32-bits compiler-rt for 64-bits clang-cl. r=dmajor 2018-08-17 10:19:51 +09:00
Emilio Cobos Álvarez 583727a597 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:48:23 +02:00
Cosmin Sabou a1dcf34f94 Backed out changeset 4b9dcf8f2e6c (bug 1478813) for build bustages because cbindgen is missing. CLOSED TREE 2018-08-17 20:24:06 +03:00
Emilio Cobos Álvarez 1e9ffcebe9 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:02:34 +02:00
Mike Hommey 8ae8b977cb Backout changeset 1e71e61d1623 (bug 1479800) to give time to toolchains to build without blocking other landings. 2018-08-17 07:11:45 +09:00
Mike Hommey 4e5403653b Bug 1479800 - Build 32-bits compiler-rt for 64-bits clang-cl. r=dmajor 2018-08-17 07:10:07 +09:00
Tiberius Oros 2010f3a375 Merge autoland to mozilla-central. a=merge 2018-08-17 00:31:31 +03:00
Dan Mosedale 1fc4333268 Bug 1483595 - turn on NodeJS by default in the builds, r=gps, a=RyanVM
MozReview-Commit-ID: AlKuz8BTKM3
2018-08-16 10:54:10 -07:00
Dorel Luca 6e90fcf6e3 Backed out changeset d602a2f69ff8 (bug 1475573) on request from truber. a=backout 2018-08-16 17:49:01 +03:00
Mike Hommey 49dd99e3a3 Bug 1480631 - Switch Linux builds to clang. r=froydnj
This change switches most CI builds to clang, with a few exceptions:
- valgrind builds, until bug 1481670 is figured out.
- PGO and nightly builds, until that's fully tested.
- coverage builds, per bug 1471339 comment 17.
- base toolchain builds, to keep some builds on GCC even when we're
  fully switched to clang.
- any build that doesn't use build/unix/mozconfig.linux (e.g. probably
  all those driven by autospider.py, maybe others).
2018-08-16 10:32:33 +09:00
Ted Mielczarek 233bc083f6 bug 1461992 - add a voluptuous schema for build system telemetry. r=gps
This change adds a voluptuous schema for build system telemetry, replacing
the existing json schema file. Using voluptuous will make it easier to work
with the schema from Python code in the build system. A future commit will
use a Python module to provide a mach command to convert the voluptuous
schema to json schema format for consumption by other systems.

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

--HG--
extra : rebase_source : 067995385334d1dbc123f2db4245ef4e69d076c3
2018-08-03 15:41:20 -04:00
Bogdan Tara bde699c0ed Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-15 20:58:28 +03:00
Narcis Beleuzu 7c87bec62e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-15 12:57:18 +03:00
Narcis Beleuzu 23387914d5 Merge inbound to mozilla-central. a=merge 2018-08-15 12:48:57 +03:00
Mike Hommey 6e7a8d357e Bug 1483123 - Apply miscompilation fix from clang upstream. r=froydnj 2018-08-15 17:34:21 +09:00
Julian Seward 2a6490bec0 Bug 1479055 - Suppress Valgrind false positive in style::properties::longhands::clip_path::cascade_property. r=emilio.
--HG--
extra : rebase_source : 161c7fdcef4c242accb8d9894118d24318b9f39f
2018-08-15 07:19:20 +02:00
Tom Ritter 387aaf6096 Bug 1479878 Add a --skip-revert option to build-clang.py r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D2580

--HG--
extra : moz-landing-system : lando
2018-08-15 06:13:14 +00:00
Chris Manchester c346a68ae0 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
MozReview-Commit-ID: MVfplx9lN2

--HG--
extra : rebase_source : 10b4bd3dcc1386d782531206c84b66207297d00a
2018-08-10 12:07:29 -07:00
Mike Hommey 370eb66bdb Bug 1479055 - Upgrade valgrind to current git trunk. r=froydnj 2018-08-14 07:25:08 +09:00
Mike Hommey 6e62bce406 Bug 1481861 - Move the eh_frame sections when they are before the first executable section. r=froydnj
In some rare cases, it is possible for one of the eh_frame sections'
original address to be larger than the address of the injected code
section, which is added before the first executable section. Namely,
this happens in the rare case where that eh_frame section is smaller
than the injected code section, and is adjacent to the first executable
section. We obviously want to move the eh_frame sections in that case,
since one of them is in the way.
2018-08-14 07:25:07 +09:00
Dan Mosedale f1eec975a7 Bug 1482676 - configure should prefer .mozbuild copy of node
MozReview-Commit-ID: 91F4Z8GljkV
2018-08-13 09:24:56 -07:00
Narcis Beleuzu f4e5fb2d0f Backed out 2 changesets (bug 1474028) per chmanchester`s request. a=backout
Backed out changeset 52bd814d3589 (bug 1474028)
Backed out changeset 39a528147c34 (bug 1474028)
2018-08-12 21:22:45 +03:00
Dan Mosedale 228084f4e7 Bug 1481693 - Teach node.configure to prefer .mozbuild node to PATH, r=gps
MozReview-Commit-ID: 8PDuRECtC4M
2018-08-10 19:57:59 -07:00
Mike Hommey f4f54e5aeb Bug 1482330 - Upgrade to Android NDK r17b and API level 16 (JB). r=snorp
We're currently using NDK r15c, which is rather old, and happens to come
with a buggy gold linker. Let's use a more recent NDK, with a fixed
linker.

Unfortunately, we're currently at NDK API level 9, which the newer NDK
doesn't provide for x86 anymore. But that corresponds to Gingerbread
(2.3), which we've long stopped supporting. On the SDK side, we already
dropped support of versions before Jelly Bean, so we can do the same on
the NDK side. That corresponds to API level 16. So let's just use that
as a baseline.

Another change in the newer NDK is that the target-name changed from
i386-linux-android to i686-linux-android, so adjust for that in the
android x86 mozconfigs.
2018-08-11 09:47:41 +09:00
Bogdan Tara 347da2ba78 Backed out changeset 003838e8d110 (bug 1482330) for Adnroid build bustages on mozalloc_abort.cpp CLOSED TREE 2018-08-11 03:22:58 +03:00
Bogdan Tara 2f2b719960 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-08-11 01:01:18 +03:00
Mike Hommey ba8192bdee Bug 1482335 - Update clang 7pre toolchains to 7rc1. r=dmajor 2018-08-11 06:50:27 +09:00
Mike Hommey ee95699e6b Bug 1482330 - Upgrade to Android NDK r17b and API level 16 (JB). r=snorp
We're currently using NDK r15c, which is rather old, and happens to come
with a buggy gold linker. Let's use a more recent NDK, with a fixed
linker.

Unfortunately, we're currently at NDK API level 9, which the newer NDK
doesn't provide for x86 anymore. But that corresponds to Gingerbread
(2.3), which we've long stopped supporting. On the SDK side, we already
dropped support of versions before Jelly Bean, so we can do the same on
the NDK side. That corresponds to API level 16. So let's just use that
as a baseline.

Another change in the newer NDK is that the target-name changed from
i386-linux-android to i686-linux-android, so adjust for that in the
android x86 mozconfigs.
2018-08-11 06:50:21 +09:00
Narcis Beleuzu 96343e8f1f Backed out 3 changesets (bug 1484184, bug 1484190, bug 1484191) for bustages on test_toolchain_configure.py. CLOSED TREE
Backed out changeset dca5444170e0 (bug 1484190)
Backed out changeset 1ef81d07bc5b (bug 1484184)
Backed out changeset 2a42fd4df1bb (bug 1484191)
2018-08-20 19:49:37 +03:00
Masatoshi Kimura f985ebf143 Bug 1484190 - Unblock MSVC 2017 15.8. r=dmajor
--HG--
extra : rebase_source : b21ef13181d447cbbd822f073c80d982dd212dc4
extra : source : 5d24aab5c5a18b18edfd13cf786e94c545e36e94
2018-08-17 20:41:49 +09:00
Chris Manchester 2476269229 Bug 1474028 - Add a way to exclude libraries from the default build. r=ted
MozReview-Commit-ID: MVfplx9lN2

--HG--
extra : rebase_source : 3eb5352b5bc0d1b9be857c16efa5af0313afb6e7
2018-08-10 12:07:29 -07:00
Noemi Erli be6ab34c54 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 691b5b30b6c3b2ddece605c045ad913e466fdbab
2018-08-10 00:35:58 +03:00
Noemi Erli de9e45a850 Merge inbound to mozilla-central. a=merge 2018-08-10 00:31:09 +03:00
Chris Manchester 584157b2d3 Bug 1450078 - Require rust 1.28 in configure. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D2889

--HG--
extra : moz-landing-system : lando
2018-08-09 18:31:35 +00:00
David Heiberg c9661e61a3 Bug 1476661 - Ensure H2 dependencies are packaged alongside wptserve where needed, r=jgraham
MozReview-Commit-ID: 5tbXeHsvNI5
2018-08-09 11:38:37 +01:00
Daniel Varga 14af3949fc Backed out 3 changesets (bug 1480631) for failure at /home/cltbld/workspace/build/tests/talos/talos/run_tests.py
Backed out changeset ed7dba433629 (bug 1480631)
Backed out changeset dd64a5e6d4df (bug 1480631)
Backed out changeset 910a805c960d (bug 1480631)
2018-08-09 01:46:40 +03:00
Daniel Varga 31ff8cd9c8 Merge mozilla-central to mozilla inbound. a=merge 2018-08-09 01:10:56 +03:00
Mike Hommey d99b52b6ed Fix up for bug 1481727, because operator priorities are fucked up in C/C++. r=bustage on a CLOSED TREE 2018-08-09 07:07:14 +09:00
Mike Hommey 7be4cc3526 Fix up clang-tidy after bug 1480631. r=bustage 2018-08-09 06:37:11 +09:00
Mike Hommey 6fe1432f2e Bug 1480631 - Switch Linux builds to clang. r=froydnj
This change switches most CI builds to clang, with a few exceptions:
- valgrind builds, until bug 1481670 is figured out.
- PGO and nightly builds, until that's fully tested.
- coverage builds, per bug 1471339 comment 17.
- base toolchain builds, to keep some builds on GCC even when we're
  fully switched to clang.
- any build that doesn't use build/unix/mozconfig.linux (e.g. probably
  all those driven by autospider.py, maybe others).
2018-08-09 06:08:19 +09:00
Mike Hommey 29e5f32cce Bug 1480631 - Copy 32-bits libraries from gcc to clang. r=froydnj
We already copy the 64-bits libraries, but don't copy the 32-bits
libraries, which prevents building for linux32 by default.

Incidentally, this also makes the clang build system build the 32-bits
compiler-rt libraries, allowing e.g. 32-bits PGO.
2018-08-09 06:08:12 +09:00
Mike Hommey 6d197a0707 Bug 1481719 - Disable profile-instr-out-of-date warnings explicitly rather than allowing all warnings where they appear. r=dmajor 2018-08-09 06:07:33 +09:00
Mike Hommey fe9dd50d7f Bug 1481727 - Fix an elfhack corner case after bug 1423822. r=froydnj
Bug 1423822 moved the injected code section before the .text section.
When linking with lld, the text section is usually page aligned, and
starting a PT_LOAD. We inject code at the beginning of the PT_LOAD,
which means the PT_LOAD is going to be extended at least a page
downwards. And it means the preceding PT_LOAD can't finish in that same
page, so the overhead of the injected code is needs to account for the
page alignment.
2018-08-09 06:04:30 +09:00
Jesse Schwartzentruber abc4b27cb4 Bug 1475573 - Create --enable-fuzzing debug build job for Android x86 firefox. r=nalexander,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D2428

--HG--
extra : moz-landing-system : lando
2018-08-07 17:53:57 +00:00
Brindusan Cristian 91ec49bade Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-08 00:57:25 +03:00
Mike Hommey 57cabd17f2 Bug 1480688 - Don't try to move .eh_frame in case it's not necessary. r=froydnj
If the .eh_frame_hdr and .eh_frame sections are not between the elfhack
relocation and elfhack code sections, it's not going to change anything
to try to move it, so don't even try.

While here, adjust the adjacency test to error out when the section name
doesn't match, and account for the fact that the eh_frame_hdr section
might appear after eh_frame.

--HG--
extra : rebase_source : 7d3525abe75b5a014b39ce0bd406e8f78592ec39
2018-08-03 16:39:50 +09:00
Mike Hommey 9eb572df9c Bug 1481378 - Simplify mozconfig.linux32. r=ted
All CI builds for linux32 have been running on 64-bits hosts for a long
while now, and there are no 32-bits hosts left. We can remove the
special-casing that makes the linux32 builds behave differently
depending on the bit-width of the host.

Furthermore, configure has been able to deal with adding -m32 on its
own, so we don't need to add it to $CC/$CXX manually anymore.
2018-08-07 19:40:52 +09:00
Geoff Brown 8b4653a7b7 Bug 1480546 - Enhance logging for Android automation app wait; r=bc 2018-08-07 10:05:37 -06:00
Mike Hommey 6d4eb0a92e Bug 1464170 - Support PGO in clang builds on Linux. r=dmajor
This uses the same code path as for clang-cl builds.
2018-08-10 05:54:11 +09:00
Mike Hommey 601f45564e Bug 1481989 - Copy 32-bits libraries from gcc to clang. r=froydnj
We already copy the 64-bits libraries, but don't copy the 32-bits
libraries, which prevents building for linux32 by default.

Incidentally, this also makes the clang build system build the 32-bits
compiler-rt libraries, allowing e.g. 32-bits PGO.
2018-08-10 05:54:07 +09:00
Mike Hommey a228cc9fbd Bug 1481989 - Don't try to enable libstdc++ compat on Android. r=froydnj
We only enable libstdc++ compat on Android for the host parts, and
in practice, the target part has it not enabled at the moment because
libstdc++ can't be found. But making the clang toolchain capable of
building for x86 changes the deal for Android x86.
2018-08-10 05:53:59 +09:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Margareta Eliza Balazs a42d1c158f Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-16 12:33:23 +03:00
Panos Astithas 6a01b19a19 Bug 1257478 - Turn mercurial-setup into vcs-setup and add git support. r=gps
MozReview-Commit-ID: AD6gLqFm8Nn

--HG--
extra : rebase_source : 0214cdc6f6acaaf0621e25f30cb0a2c81849063e
2018-07-04 21:48:42 +03:00
Andreea Pavel 8ac372b9b7 Backed out changeset 6bfba6f64e7b (bug 1480688) for android build bustages on a CLOSED TREE 2018-08-04 12:53:55 +03:00
Mike Hommey 51c6d96684 Bug 1480688 - Don't try to move .eh_frame in case it's not necessary. r=froydnj
If the .eh_frame_hdr and .eh_frame sections are not between the elfhack
relocation and elfhack code sections, it's not going to change anything
to try to move it, so don't even try.

While here, adjust the adjacency test to error out when the section name
doesn't match.

--HG--
extra : rebase_source : 4b31712576fd3472bb94a2b9ab9542253f04cba8
2018-08-03 16:39:50 +09:00
Mike Hommey 64ff5e5cb1 Bug 1480654 - Allow empty eh_frame entries. r=froydnj
Somehow, when building with LTO, clang can end up creating a eh_frame
section with only one, empty, entry (which just looks like a 4-bytes
long section full of 0x00).

--HG--
extra : rebase_source : 385c05c7e447fe1c4bc261b79c7d56138e268458
2018-08-03 11:33:49 +09:00
Bogdan Tara f2cb75b28c Merge inbound to mozilla-central. a=merge 2018-08-03 13:16:27 +03:00
Nathan Froyd 879bf0a2bd Bug 1480553 - part 3 - add mappings for aarch64 in Windows configure paths; r=glandium
We need to add mappings for target.cpu to MSVC's arm64 name for
determining various paths, and we need to add an extra case to
get_vc_paths so the compiler can find all the necessary DLLs.
2018-08-02 21:40:40 -04:00
Cosmin Sabou de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Masatoshi Kimura feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Tudor-Gabriel Vîjială ae279dbf60 Bug 1473313 - Part 1: Set up geckoview build config for androidTest coverage runs. r=nalexander
This patch adds JaCoCo as a dependency for the geckoview androidTest configurations, as well as
the `mach android archive-geckoview-coverage-artifacts` command, and the `--enable-java-coverage`
mozconfig flag.

MozReview-Commit-ID: 36jNAzK44g3

--HG--
extra : rebase_source : 9edc37913a3929ad045270c601c77791d122e363
2018-07-24 11:44:24 +01:00
Mike Hommey 657b098b22 Bug 1480617 - Disable LTO when compiling dummy.c in elfhack. r=gps
For the same reason test-array.c and test-ctors.c need to be built
explicitly without LTO.

--HG--
extra : rebase_source : d037ef7cf1dd2d278c2918dbfee5b4f4c213e408
2018-08-03 07:45:55 +09:00
Narcis Beleuzu 31527185b4 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-03 01:34:26 +03:00
Mike Hommey baff96f6e4 Bug 1423822 - Stop disabling elfhack on lto builds. r=froydnj
--HG--
extra : rebase_source : fbe450139109173965de4ee5a8a7f71092aa34bc
2018-08-01 15:56:43 +09:00