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

8251 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 5091811073 Bug 1559301 - Straighten up C/C++ standard compiler flags. r=nalexander
- `info.type in ('clang-cl', 'clang', 'gcc')` is always true since MSVC
support was removed.
- For some reason, we didn't enforce C++14 on GCC.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 16:14:50 +00:00
Marian Raiciof b2b633e095 Bug 1526752 - [mozdevice] Update adb.py and other necessary files to support python3 r=ahal,davehunt
Improve support for Python 3 by running modernize over adb.py and a few other related changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 08:44:15 +00:00
Chris Manchester c74a1fa131 Bug 1558996 - Require rust 1.35 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D34794

--HG--
extra : moz-landing-system : lando
2019-06-13 06:02:05 +00:00
Bob Clary 2a1c46386f Bug 1559103 - RemoteAutomation should call parent class init first, r=gbrown.
Differential Revision: https://phabricator.services.mozilla.com/D34856

--HG--
extra : moz-landing-system : lando
2019-06-13 13:54:18 +00:00
Mike Hommey 85e29d1e3b Bug 1557583 - Add a --enable-frame-pointers option. r=chmanchester
We've been relying on frame pointers being indirectly enabled via things
like --enable-profiling for some time, but this doesn't scale because
some things may want frame pointers while wanting --disable-profiling.

So we move MOZ_FRAMEPTR_FLAGS to python configure and add a new option
to decide whether to enable frame pointers or not.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:30:46 +00:00
Mike Hommey 958968bcdc Bug 1557583 - Move --enable-*-sanitizers options to python configure. r=dmajor
But keep the corresponding logic in sanitize.m4.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 13:08:27 +00:00
Mike Hommey 44e96352da Bug 1557547 - Actively reject clang < 4.0 during configure. r=mshal
Bug 1394825 bumped the minimum version of clang we use on automation,
for the base toolchain jobs, and there's a libclang test for bindgen,
but we should reject the compiler in the first place.

The check to do that works in both C and C++, contrary to the original
3.6 test that was checking a C++ feature ; the test was later changed
for 3.9, using a check that would have worked in both C and C++, but
the C exception was left around. We remove it now.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:22:24 +00:00
Jan de Mooij dc18804805 Bug 1556646 part 2 - Rename JS_POSIX_NSPR to JS_WITHOUT_NSPR and remove --enable-posix-nspr-emulation configure flag. r=sfink,glandium
Stand-alone JS builds now default to without-NSPR on all platforms.

Note that the JS shell builds we do in automation pass --enable-nspr-build so they shouldn't be affected by
the JS shell changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 09:10:59 +00:00
Mike Hommey ff4ab7e28f Bug 1557855 - Use a sensible default for --with-android-ndk. r=nalexander
Use the same logic as for --with-android-sdk to use the NDK downloaded
by mach bootstrap by default.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:23:37 +00:00
Mike Hommey 177ad5806d Bug 1557855 - Change how --with-android-sdk is handled. r=nalexander
We make it have a default value only if the corresponding directory exists,
and make it throw a more explicit error when the explicitly given directory
doesn't exist.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:20:48 +00:00
Mike Hommey 4b49193e14 Bug 1557855 - Define MOZBUILD_STATE_PATH as an option. r=nalexander
Rather than taking it from the environment every time it's necessary.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 23:25:01 +00:00
Mike Hommey 47925b3f7a Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using fold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 04:43:45 +00:00
Bogdan Tara 12782914a5 Backed out changeset 2d8ad105aac8 (bug 1557507) on Glandium's request CLOSED TREE 2019-06-07 07:38:03 +03:00
Mike Hommey 6b74e0f7de Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using gold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:53 +00:00
Mike Hommey 7dcedba0bf Bug 1557213 - Don't try to use NDK clang. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33902

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:10 +00:00
David Major 5827377048 Bug 1557313 - Update ExplicitOperatorBoolChecker.cpp for clang trunk changes r=andi
https://reviews.llvm.org/rL360311 reworked the handling of `explicit` in `CXXConversionDecl`, and the `isExplicitSpecified()` method no longer exists. We can instead use `isExplicit()` which conveniently works on both old and new clangs. (Before 360311, `isExplicit()` just forwarded to `isExplicitSpecified()`.)

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

--HG--
extra : moz-landing-system : lando
2019-06-06 15:42:25 +00:00
Gerald Squelart b601187bf1 Bug 1492121 - Suppress dlopen leak triggered by next patch - r=njn
Valgrind report:
```
TEST-UNEXPECTED-FAIL | valgrind-test | 192 bytes in 3 blocks are definitely lost at malloc / dl_open_worker / _dl_catch_error / _dl_open
==2561== 192 bytes in 3 blocks are definitely lost in loss record 348 of 399
==2561==    at 0x4C2B240: malloc+112 (vg_replace_malloc.c:298)
==2561==    by 0x4012919: dl_open_worker+1977 (dl-open.c:457)
==2561==    by 0x400DD55: _dl_catch_error+101 (dl-error.c:178)
==2561==    by 0x4011CC9: _dl_open+185 (dl-open.c:633)
==2561==    by 0x5051F65: dlopen_doit+101 (dlopen.c:67)
==2561==    by 0x400DD55: _dl_catch_error+101 (dl-error.c:178)
==2561==    by 0x50522EB: _dlerror_run+123 (dlerror.c:164)
==2561==    by 0x5051EE0: dlopen@@GLIBC_2.2.5+48 (dlopen.c:88)
==2561==    by 0x1148FC: GetLibHandle (xpcom/glue/standalone/nsXPCOMGlue.cpp:86)
==2561==    by 0x1148FC: ReadDependentCB (xpcom/glue/standalone/nsXPCOMGlue.cpp:136)
==2561==    by 0x1148FC: XPCOMGlueLoad (xpcom/glue/standalone/nsXPCOMGlue.cpp:306)
==2561==    by 0x1148FC: mozilla::GetBootstrap(char const*, mozilla::LibLoadingStrategy)+572 (xpcom/glue/standalone/nsXPCOMGlue.cpp:374)
==2561==    by 0x114213: InitXPCOMGlue(mozilla::LibLoadingStrategy)+131 (browser/app/nsBrowserApp.cpp:223)
==2561==    by 0x113E6B: main+219 (browser/app/nsBrowserApp.cpp:284)
```

Nothing due directly to this patch, so it is likely a dlopen issue.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 06:20:23 +00:00
Mike Hommey 1c5cf6c437 Bug 1519954 - Pick binaries from mach bootstrap first on local developer builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33884

--HG--
extra : moz-landing-system : lando
2019-06-06 01:22:21 +00:00
Mike Hommey cbb9f80c77 Bug 1556880 - Support GCC ARM preprocessor defines to detect the ARM target. r=chmanchester
Also set `fpu` to None for when we don't find it.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:53:01 +00:00
Mike Hommey 985a376afa Bug 1526857 - Improve bindgen configuration wrt clang. r=chmanchester
The current setup for bindgen relies on either finding clang/libclang
from the output of llvm-config, or from the paths given via the
configure flags --with-clang-path/--with-libclang-path.

One _very_ common problem is that the llvm-config we end up using does
not correspond to the clang used for compilation, which has some
undesirable side effect, like failing to build.

So instead of relying on llvm-config, we do the following:
- when the compiler is clang, we just use that
- when the compiler is clang-cl, we use clang from the same directory
- otherwise, we either try to find clang in PATH, or rely on
  --with-clang-path.

Once clang is found, we try to deduce the location of the corresponding
libclang via the output of `clang -print-search-dirs`, or rely on
--with-libclang-path.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:48:20 +00:00
Andrew Sutherland 4e20ede87a Bug 1533802 - Sticky nesting for C++, Rust, JS r=kats
These are the changes from https://github.com/mozsearch/mozsearch/pull/212
(including the typo fixes requested today.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 20:49:34 +00:00
Yaron Tausky 7892bfc18a Bug 1554989 - Fix implicit checker on inheriting constructors r=andi
Inheriting constructors are implicitly introduced via a using-declaration.
Since the C++ grammar doesn't allow attributes on using-declarations, it
is currently impossible to add MOZ_IMPLICIT to implicit inheriting
constructors.

This commit changes the AST matcher such that it ignores inheriting
constructors altogether. If they are inheriting from an implicit inherited
constructor, that constructor's check should be enough to ensure that no
constructors are unintentionally implicit.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 11:36:46 +00:00
David Major 6fe1e35fab Bug 1553864 - Clean up some VS2015 PGO build config code r=nalexander
This code was already dead during the VS2017 era (since that compiler changed to the `Hostx64\x86` path scheme), let alone clang-cl.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 20:30:31 +00:00
Mike Shal e52ded1092 Bug 1553065 - Move profile-use mozconfig info into common mozconfigs; r=firefox-build-system-reviewers,chmanchester
The 3-tier PGO builds used a separate mozconfig called 'profile-use' for
the final tier. This created a problem when it rode to beta, since the
same mozconfig was used for all trees, which meant we ended up with
nightly branding on beta builds.

With the PGO-enabling logic in common mozconfigs, we can enable it by
setting the MOZ_PGO_PROFILE_USE environment variable from the task
definition. All of the final-tier PGO builds now use the nightly, beta,
etc mozconfigs like before, so branding should be intact.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:56:16 +00:00
Mike Shal f5680f2fee Bug 1553065 - Use MOZ_LTO environment variable in mozconfig.unix; r=firefox-build-system-reviewers,chmanchester
This makes it consistent with bug 1530908 and 1536194.

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

--HG--
extra : moz-landing-system : lando
2019-05-31 23:56:12 +00:00
Cosmin Sabou 85466f08fd Backed out 2 changesets (bug 1486042) for causing crashes @ servo_arc::Arc<T>::drop_slow. CLOSED TREE
Backed out changeset 5e85998c4d97 (bug 1486042)
Backed out changeset d083a8bd98ed (bug 1486042)
2019-06-01 02:19:19 +03:00
Nathan Froyd 915bec197e Bug 1486042 - default clang-cl pgo to use cross-language LTO; r=dmajor
This change is a little bit of a cheat, because of course MSVC doesn't
do cross-language LTO by default, but it seems consistent.

Depends on D33317

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

--HG--
extra : moz-landing-system : lando
2019-05-31 17:24:02 +00:00
Gijs Kruitbosch 871405553f Bug 1196094 - use e10s when doing PGO profiling, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32329

--HG--
extra : moz-landing-system : lando
2019-05-31 14:18:05 +00:00
Gijs Kruitbosch fd337bafb4 Bug 1196094 - disable _exit in child processes when generating profile information, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D33269

--HG--
extra : moz-landing-system : lando
2019-05-31 14:17:47 +00:00
Mark Banner b7e2ea03ab Bug 1555300 - .eslintignore no longer needs to ignore directories with no js files. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D32993

--HG--
extra : source : 0d2958471c0885b7acdfbeba557b109f1b403da4
2019-05-31 08:49:17 +00:00
Mihai Alexandru Michis 5e31eadf72 Backed out changeset 0d2958471c08 (bug 1555300) for spidermonkey bustages. CLOSED TREE 2019-05-31 12:17:38 +03:00
Mark Banner ef018717ee Bug 1555300 - .eslintignore no longer needs to ignore directories with no js files. r=mossop
Differential Revision: https://phabricator.services.mozilla.com/D32993

--HG--
extra : moz-landing-system : lando
2019-05-31 08:49:17 +00:00
Mike Hommey cfe985532a Bug 1554928 - Remove configure options that have been deprecated for a while. r=nalexander
- DISABLE_SHARED_JS and DISABLE_EXPORT_JS have been deprecated for 3
years,
- MOZ_JEMALLOC4 has been deprecated for 2 years.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 02:01:02 +00:00
Cosmin Sabou 4b7060c540 Backed out changeset f593f5a5bfa3 (bug 1555346) for build bustages on llvm-profdata. CLOSED TREE 2019-05-29 19:14:25 +03:00
Nathan Froyd 74a42ff95b Bug 1555346 - require llvm-profdata when using pgo with clang{,-cl}; r=dmajor
Detecting problems earlier is better than detecting them later.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 15:59:18 +00:00
Ehsan Akhgari 4cb428d268 Bug 1555205 - Move db/sqlite3 to third_party/; r=mak
Differential Revision: https://phabricator.services.mozilla.com/D32939

--HG--
rename : db/sqlite3/README => third_party/sqlite3/README
rename : db/sqlite3/README.MOZILLA => third_party/sqlite3/README.MOZILLA
rename : db/sqlite3/src/moz.build => third_party/sqlite3/src/moz.build
rename : db/sqlite3/src/sqlite.symbols => third_party/sqlite3/src/sqlite.symbols
rename : db/sqlite3/src/sqlite3.c => third_party/sqlite3/src/sqlite3.c
rename : db/sqlite3/src/sqlite3.h => third_party/sqlite3/src/sqlite3.h
extra : moz-landing-system : lando
2019-05-29 10:16:29 +00:00
Kagami Sascha Rosylight 4d696c5df3 Bug 1554186: Fix Python 3 negative import level error r=glandium
Negative value for import level is obsolete in Python 3, which was used on Py2 for implicit relative import. This change ensures the level value to be >=0 on Py3 to fix test failures.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 07:58:19 +00:00
Justin Wood dbf256c14c Bug 1547730 - Update a build moz.configure function, to support py3 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D28115

--HG--
extra : moz-landing-system : lando
2019-05-28 14:28:43 +00:00
Mihai Alexandru Michis bf0f822195 Backed out changeset 8b110b9889c3 (bug 1196094) as requested by Gijs. 2019-05-28 16:01:19 +03:00
Mike Hommey 69fe19f2a6 Bug 1554043 - Make the valgrind-test error when valgrind exits with a non-zero code slightly more useful. r=dmajor
The exit code from valgrind may subtly indicate how it failed (like, if
it's 139 or 137, which would mean respectively segfault or killed by
something external), which is currently completely hidden, making
diagnostics of things like bug 1545094 harder.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 11:47:13 +00:00
Gijs Kruitbosch bd641f5fa6 Bug 1196094 - use e10s when doing PGO profiling, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32329

--HG--
extra : moz-landing-system : lando
2019-05-27 09:05:21 +00:00
Nathan Froyd 0839a1bd24 Bug 1542746 - remove code for frontend-based PGO instrumentation; r=dmajor
We're moving to IR-level PGO instrumentation for clang-cl.  We've also
moved to using static linker ordering files, which was the primary
application of the previous style of PGO instrumentation.  We therefore
we no longer need this code.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:00:38 +00:00
Nathan Froyd 875e72df9f Bug 1542746 - switch clang{,-cl} to use IR-based instrumentation for PGO; r=firefox-build-system-reviewers,chmanchester
This form of instrumentation is more like our other platforms, and also
opens the possibility of interacting properly with Rust IR-level PGO.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 19:52:41 +00:00
Nathan Froyd 2b3a15afe9 Bug 1542746 - use a static MOZ_PROFILE_ORDER_FILE; r=nalexander,chmanchester
We're planning on switching to IR-based profiling, so we can't use the
frontend-based instrumentation to collect the order in which functions
are executed...at least not during the build itself.  Performance tests
indicate that not having the order information decreases performance
significantly.  So we're going to check in static files for Win32 and
Win64 and use those to perform the ordering.  It's OK if these files are
slightly out of date; as of this writing, builds that generate and then
use these files complain that ~1/3 of the functions can't be found (!).
We're just trying to do something slightly smarter than whatever the
linker default is.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:54:59 +00:00
Nathan Froyd 93a44ee14e Bug 1553972 - make --with-pgo-profile-path take a directory; r=nalexander
e10s profiling or IR-based PGO instrumentation will both produce
multiple `.profraw` files that need to be handled in some way.  Since
clang's `-fprofile-generate` option takes a directory, it seems fitting
to make `--with-pgo-profile-path` mirror that by taking a directory, and
letting `merge_profdata.py` deal with whatever files it might find in
said directory.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:53:59 +00:00
Kagami Sascha Rosylight bead355959 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-23 03:57:17 +00:00
Mike Hommey 146d61ba71 Bug 1530650 - Add --cap-lints warn to RUSTFLAGS when not building with --enable-warnings-as-errors. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32080

--HG--
extra : moz-landing-system : lando
2019-05-22 12:59:01 +00:00
Chris Manchester a18c4d2cbd Bug 1553339 - Abandon "2" in name of sccache toolchain artifacts. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D32218

--HG--
extra : moz-landing-system : lando
2019-05-22 21:06:16 +00:00
Brindusan Cristian 952521e616 Backed out changeset fa4c37c31dfd (bug 1550956) as requested by mikedeboer on IRC for causing mach to stop working on Python 2. a=backout 2019-05-22 12:33:23 +03:00
Kagami Sascha Rosylight 2dd546dac6 Bug 1550956: Import builtins in Python 3 compatible way r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D30790

--HG--
extra : moz-landing-system : lando
2019-05-21 18:38:46 +00:00