Commit Graph

1288 Commits

Author SHA1 Message Date
Tiberius Oros
4f9786d789 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-28 01:15:41 +03:00
Jacek Caban
8eced8d962 Bug 1471293 - Support using llvm-objdump in dependentlibs.py r=glandium
MozReview-Commit-ID: 8b0o06EQh3n
2018-06-26 15:15:19 +02:00
Nathan Froyd
4eb2e36b22 Bug 1299278 - remove --with-servo configure option; r=nalexander
This option is no longer needed.
2018-06-27 12:57:39 -04:00
Mike Hommey
c3cc42fd41 Bug 1471096 - Choose OOM hooking version to use at build time rather than configure time. r=froydnj
When I originally implemented bug 1458161, this is how it was done, but
it was suggested to use a configure-time check. This turned out to not
be great, because the rust compiler changes regularly, and we don't run
the configure tests when the version changes. When people upgraded their
rust compiler to 1.27, the code subsequently failed to build because the
features were still set for the previous version they had installed.
2018-06-23 07:28:26 +09:00
Mike Hommey
6e9e91d96b Bug 1471096 - Vendor rustc_version. r=froydnj 2018-06-26 10:00:26 +09:00
Mike Hommey
d090be0e8b Bug 1471132 - Change how static xpcom components are linked. r=froydnj
Overall, this makes the whole setup less fragile, and make it work with
LTO in more situations.
2018-06-26 14:40:51 +09:00
Mike Hommey
a3c7fb2e87 Bug 1470127 - Move binary checks to a standalone script. r=froydnj
We perform, on the binaries we build, a series of check, that are
implemented as half-baked make commands, invoked after linking them.

- check libstdc++ symbol versions to ensure binary compatibility with
  a baseline.
- check glibc symbol versions to ensure binary compatibility with a
  baseline.
- check that target binaries don't contain text relocations.
- check that libmozglue is linked before libc on android.
- on libxul, check that NSModules are laid out correctly.
- on libxul, check that there is more than one PT_LOAD segment.

Those checks happen to work where they matter, but their setup is
unreliable. For example, the checks for symbol versions are supposed to
work for libclang-plugin on cross osx builds, but in fact, don't,
because the readelf path doesn't exist, and the command doesn't fail in
that case.

So move them all to a standalone script, performing the checks more
thoroughly (especially the NSModules one, where we now also check that
they are all adjacent), and more verbosely.
2018-06-21 18:13:03 +09:00
Narcis Beleuzu
39307ff03d Merge autoland to mozilla-central. a=merge 2018-06-21 12:46:57 +03:00
Makoto Kato
16a9c07150 Bug 1469760 - Add hid.dll and msimg32.dll to delay load dlls r=dmajor
hid.dll and msimg32.dll are unused at start up on Windows 10 RS4, so we can
move these dlls to delay load dll.

Differential Revision: https://phabricator.services.mozilla.com/D1722
2018-06-20 14:24:50 +00:00
Cosmin Sabou
99bcdf3c59 Merge central to inbound. a=merge 2018-06-21 04:19:13 +03:00
Mike Hommey
7ec71ba3d5 Fixup moz.build error logic from bug 1465709. r=me 2018-06-21 07:26:48 +09:00
Mike Hommey
5bb37d4078 Bug 1469766 - Update OOM hook on rustc 1.28 after rust PR 51543. r=froydnj 2018-06-20 13:44:10 +09:00
Chris Manchester
b3d668560d Bug 1319228 - Build dependentlibs.list in the tup backend, create a group for shared libraries to be used as its input. r=mshal
MozReview-Commit-ID: 5nDZpTcqVfv
2018-06-13 22:33:23 -07:00
shindli
718f5156bf Backed out 6 changesets (bug 1319228) for Btup bustages on Linux x64 on a CLOSED TREE
Backed out changeset 2eedbab9137b (bug 1319228)
Backed out changeset 6ba05238789f (bug 1319228)
Backed out changeset badf116dde30 (bug 1319228)
Backed out changeset a218f97e1b48 (bug 1319228)
Backed out changeset d3c835477d11 (bug 1319228)
Backed out changeset 3f3fa38b1a5f (bug 1319228)
2018-06-14 00:46:46 +03:00
Chris Manchester
0c2e664f4c Bug 1319228 - Build dependentlibs.list in the tup backend, create a group for shared libraries to be used as its input. r=mshal
MozReview-Commit-ID: 3nvHaS5ZcIg
2018-06-13 13:00:24 -07:00
Mike Hommey
9ceda51944 Bug 1465709 - Hook rust OOM handler on rustc 1.28. r=froydnj
Bug 1458161 added a rust OOM handler based on an unstable API that was
removed in 1.27, replaced with something that didn't allow to get the
failed allocation size.

Latest 1.28 nightly (2018-06-13) has
https://github.com/rust-lang/rust/pull/50880,
https://github.com/rust-lang/rust/pull/51264 and
https://github.com/rust-lang/rust/pull/51241 merged, which allow to
hook the OOM handler and get the failed allocation size again.

Because this is still an unstable API, we explicitly depend on strict
versions of rustc. We also explicitly error out if automation builds
end up using a rustc version that doesn't allow us to get the allocation
size for rust OOM, because we don't want that to happen without knowing.
2018-05-31 16:36:05 +09:00
Henri Sivonen
82e31ed8ef Bug 1466807 - Update encoding_rs to 0.8.0. r=emk
MozReview-Commit-ID: 30vmruy1kiL
2018-06-05 13:50:20 +03:00
Mike Hommey
e1bb044842 Bug 1464522 - Count static initializers from the crash reporter symbol files. r=froydnj
The crash reporter symbol files are the easiest cross-platform way to
find static initializers. While some types of static initializers (e.g.
__attribute__(constructor) functions) don't appear there in a notable
way, the static initializers we do care the most about for tracking do
(static initializers from C++ globals). As a matter of fact, there is
only a difference of 2 compared to the currently reported count of 125
on a linux64 build, so this is a good enough approximation. And allows
us to easily track the count on Android, OSX and Windows builds, which
we currently don't do.

The tricky part is that the symbol files are in
dist/crashreporter-symbols/$lib/$fileid/$lib.sym, and $fileid is hard to
figure out. There is a `fileid` tool in testing/tools, but it is a
target binary, meaning it's not available on cross builds (OSX,
Android).

So the simplest is just to gather the data while creating the symbol
files, which unfortunately requires to go through some hoops to make it
happen for just the files we care about.
2018-05-29 08:48:47 +09:00
Kris Maglione
a4f45d8930 Bug 1460600: Remove unsupported --enable-system-hunspell flag. r=glandium
Our bundled Hunspell now significantly differs from upstream Hunspell. Most
importantly, it supports loading dictionaries from jar: URIs, which is now a
requirement for loading bundled and extension dictionaries. This means that
system Hunspell libraries are no longer compatible with our spell checker
code. We should remove the option to use them so that users don't fall into
the trap of trying to use them.

MozReview-Commit-ID: 2ihJe6YOnGf
2018-05-10 10:36:53 -07:00
Tom Ritter
effbd2f936 Bug 1457295 Trick clang+lld+lto into ordering NSModules correctly also r=glandium
MozReview-Commit-ID: 4JgOOVhA3YU
2018-04-27 09:29:37 -05:00
Matthew Gregan
cfc9ae7b8d Bug 1457359 - Update mp4parse and disable FallibleVec when jemalloc is disabled. r=glandium,jya
Update mp4parse-rust to 0c8e1d91464aaa63b82ebf076b63cda1df4230d1, which adds
uuid parsing support and exports the mp4parse_fallible feature from
mp4parse_capi.

Update gkrust to pass MOZ_MEMORY as a feature, and use that to conditionally
enable mp4parse_fallible/FallibleVec.

MozReview-Commit-ID: 2HDYbL2CGgJ
2018-05-10 12:11:51 +12:00
Coroiu Cristina
47426e1f44 Backed out changeset b5fac38dc791 (bug 1457359) for build bustage on a CLOSED TREE 2018-05-11 04:17:18 +03:00
Matthew Gregan
4eadaf059e Bug 1457359 - Update mp4parse and disable FallibleVec when jemalloc is disabled. r=glandium,jya
Update mp4parse-rust to 0c8e1d91464aaa63b82ebf076b63cda1df4230d1, which adds
uuid parsing support and exports the mp4parse_fallible feature from
mp4parse_capi.

Update gkrust to pass MOZ_MEMORY as a feature, and use that to conditionally
enable mp4parse_fallible/FallibleVec.

MozReview-Commit-ID: 2HDYbL2CGgJ
2018-05-10 12:11:51 +12:00
Ted Mielczarek
18f85c3f20 bug 1408502 - embed natvis info for Gecko types in our PDB files. r=froydnj
MSVC supports XML natvis files for pretty-printing types in the debugger:
https://docs.microsoft.com/en-us/visualstudio/debugger/create-custom-views-of-native-objects

The gecko.natvis in this commit is from vlad's github repo:
https://github.com/mozilla/moz-dev-contrib/blob/master/windows/Gecko.natvis

This change simply makes the linker embed this natvis file into xul.pdb
when linking xul.dll, so that Microsoft's debuggers can more usefully
display Gecko data types. With this file in-tree it should be easy for
developers to make additions or improvements.

MozReview-Commit-ID: JZhxyaDODC1
2018-03-14 14:07:15 -04:00
Xidorn Quan
46240e1db6 Bug 1457524 part 5 - Add crates with tests into the list of RUST_TESTS. r=froydnj,heycam
MozReview-Commit-ID: AaENV1xKKTg
2018-05-02 12:01:33 +10:00
Xidorn Quan
75a0bb550a Bug 1457524 part 1 - Use a list for rust tests. r=froydnj
MozReview-Commit-ID: 6A0hHClXDUE
2018-05-02 11:51:25 +10:00
Mike Hommey
9c440bd5ae Bug 1458161 - Hook rust OOM handler. r=froydnj
OOM rust crashes are currently not identified as such in crash reports
because rust libstd handles the OOMs and panics itself.

There are unstable ways to hook into this, which unfortunately are under
active changes in rust 1.27, but we're currently on 1.24 and 1.27 is not
released yet. The APIs didn't change between 1.24 and 1.26, so it's
fine-ish to use them as long as we limit their use to those versions.

As long as the Firefox versions we ship (as opposed to downstream) use
the "right" version of rust, we're good to go.

The APIs are in their phase of stabilization, so there shouldn't be too
many variants of the code to support.
2018-05-01 10:30:03 +09:00
sotaro
e777c1dfd4 Bug 1456350 - Forward webrender error log to gfxCriticalNote r=bholley 2018-04-27 16:48:39 +09:00
Nika Layzell
fa90e183ed Bug 1444151 - Part 3: Only create a single allocation for MozURL objects, which is managed by rust, r=valentin
This patch rewrites the rust-url-capi crate as the mozurl crate, which
provides a threadsafe MozURL object which is compatible with the
previous MozURL class.

Creating a MozURL this way performs a single allocation, which contains
only a rust-url Url object and an atomic refcnt, however it is fully
compatible with the C++ RefPtr type.

This patch also exposes methods for accessing dependent substrings of
the serialized spec, meaning that string copies can be avoided in many
situations when inspecting attributes of the MozURL.
2018-04-10 17:49:50 -04:00
Matt Brubeck
fd5ba6a5e3 Bug 1451945 - Remove syn dependency from gkrust-shared. r=ted
Remove the syn dependency from gkrust-shared, which was added in bug 1373878
as a workaround for this Cargo bug:

https://github.com/rust-lang/cargo/issues/3923

MozReview-Commit-ID: L34J0davEYd
2018-04-05 15:51:14 -07:00
Dan Glastonbury
93b2f3cb5e Bug 1432779 - Rust vendor. r=jya
MozReview-Commit-ID: 5FQjIPBWTEZ
2018-03-24 10:57:58 +01:00
Emilio Cobos Álvarez
1980d9800b Bug 1447611: Remove --enable-stylo and --enable-stylo-build-bindgen. r=froydnj
Will remove the prefs and stuff in a followup.

MozReview-Commit-ID: HVyfbHOEQYI
2018-03-21 19:13:26 +01:00
Csoregi Natalia
96a3c6af7f Backed out 4 changesets (bug 1447611) for mass failures due to --enable-stylo removal. CLOSED TREE
Backed out changeset c6193142bbcf (bug 1447611)
Backed out changeset 01ada1c5a95f (bug 1447611)
Backed out changeset 86c9fed44da2 (bug 1447611)
Backed out changeset bb84ac6e1468 (bug 1447611)
2018-03-21 19:01:07 +02:00
Emilio Cobos Álvarez
365f932cec Bug 1447611: Remove --enable-stylo and --enable-stylo-build-bindgen. r=froydnj
Will remove the prefs and stuff in a followup.

MozReview-Commit-ID: HVyfbHOEQYI
2018-03-21 17:24:41 +01:00
Paul Ellenbogen
9a71bf8a87 Bug 1379265 - Add C API for rsdparsa; r=rillian
MozReview-Commit-ID: FdhpTT5wzwI
2017-06-30 12:54:12 -07:00
Jan Beich
0c484d0391 Bug 1442753 - Use in-tree copy of cubeb-sys even when cubeb-remoting is disabled. r=kamidphish
MozReview-Commit-ID: 3dGtrSqr9HW
2018-03-05 03:38:33 +00:00
Matt Brubeck
c2754a98c0 Bug 1381576 - Use a Cargo workspace for rust crates. r=ted
MozReview-Commit-ID: K6B9SifddXu
2018-03-01 14:33:35 -08:00
Emilio Cobos Álvarez
0608c7b54a No bug: Update bindgen to 0.33. r=nox on a CLOSED TREE
MozReview-Commit-ID: 4PgOmtt3zrg
2018-03-02 20:30:14 +01:00
shindli
ac7d5da2a8 Backed out 3 changesets (bug 1381576) for Bugzilla linting failure on a CLOSED TREE
Backed out changeset 3bc1743ad418 (bug 1381576)
Backed out changeset bbae7807c164 (bug 1381576)
Backed out changeset 1ea18b70b170 (bug 1381576)
2018-03-02 21:17:20 +02:00
Matt Brubeck
b8a0367eed Bug 1381576 - Use a Cargo workspace for rust crates. r=ted
MozReview-Commit-ID: K6B9SifddXu
2018-03-01 14:33:35 -08:00
Emilio Cobos Álvarez
68d91381db Bug 1432153: Update bindgen. r=xidorn
on a CLOSED TREE.

MozReview-Commit-ID: BJH6Y58oYtk
2018-03-02 15:49:56 +01:00
Kartikaya Gupta
42b16028e1 Bug 1440664 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: IZncD4fgDk7
2018-03-01 16:51:58 -05:00
Servo VCS Sync
e875f9a769 No bug - Revendor rust dependencies 2018-02-28 20:07:52 +00:00
Servo VCS Sync
2946a01ddb No bug - Revendor rust dependencies 2018-02-28 10:03:41 +00:00
Servo VCS Sync
29a6ca8bb3 No bug - Revendor rust dependencies 2018-02-27 06:13:30 +00:00
Dan Glastonbury
1631c972af Bug 1440538 - P5: Vendor rust crates. r=rillian
MozReview-Commit-ID: 5YkwigTZxYG
2018-02-13 15:05:37 +10:00
Ralph Giles
63daf4f595 Bug 1440449 - Remove codegen-units limit for debug builds. r=froydnj
Starting with Rust 1.24, the default codegen-units limit is 16,
with jobserver control to avoid overprovisioning. Remove our
previous fixed limit of 4 threads for debug builds.

For release, retain codegen-units=1 to make sure we get the
most complete optimization results.

Thanks to Simon Sapin for the suggestion.

MozReview-Commit-ID: FmYF4DcmBvt
2018-02-22 11:58:50 -08:00
Csoregi Natalia
8782e681b5 Backed out 5 changesets (bug 1379265) for GTest crashes on RsdparsaSdpAttributeList::GetGroup. a=backout
Backed out changeset addf903ba015 (bug 1379265)
Backed out changeset 51f51dfe6095 (bug 1379265)
Backed out changeset 443378a6ed7a (bug 1379265)
Backed out changeset 0ea22b056105 (bug 1379265)
Backed out changeset d85d78ba8ccd (bug 1379265)
2018-02-24 12:58:24 +02:00
Sebastian Hengst
4e51639fe3 merge mozilla-central to autoland on a CLOSED TREE 2018-02-24 03:07:44 +02:00
Paul Ellenbogen
297dfa111d Bug 1379265 - Add C API for rsdparsa; r=rillian
MozReview-Commit-ID: FdhpTT5wzwI
2017-06-30 12:54:12 -07:00