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

7418 Коммитов

Автор SHA1 Сообщение Дата
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
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
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
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 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
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 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