Commit Graph

1293 Commits

Author SHA1 Message Date
Stephen A Pohl
b25dbdce5c Bug 1290972: Remove linker flags for macOS that are no longer necessary and cause crashes such as bug 1471366 due to an inability to handle native exceptions when these flags are used. r=froydnj 2018-07-17 10:27:46 -04:00
Tiberius Oros
92ba19b150 Merge inbound to mozilla-central. a=merge 2018-07-10 12:45:13 +03:00
Nathan Froyd
5c5a455e97 Bug 1444171 - use the order file during re-link with clang-cl; r=glandium
Now that we've generated an order file of the first N functions invoked
during startup, let's tell the linker about said functions so it can
cluster them appropriately.
2018-07-09 18:36:14 -04:00
Chris Manchester
dc4c4637b0 Bug 1468547 - Re-factor gtest mach command to not invoke make when not necessary. r=mshal
MozReview-Commit-ID: 6j7t0YIZc8n

--HG--
extra : rebase_source : e4478904d4f4e54ead473435df2c9e9a47a9294c
2018-07-09 14:28:59 -07:00
Chris Manchester
ff7a5531ac Bug 1472857 - Allow rustc 1.27 to build in automation for the sake of the base-toolchains build. r=glandium
MozReview-Commit-ID: EQj9aLbbckA

--HG--
extra : rebase_source : 072ec286faefb00480ab51e099a36636cb05233b
2018-07-03 15:27:20 -07:00
Tiberius Oros
eacc3eda3e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-28 01:15:41 +03:00
Jacek Caban
29adb6362f Bug 1471293 - Support using llvm-objdump in dependentlibs.py r=glandium
MozReview-Commit-ID: 8b0o06EQh3n

--HG--
extra : rebase_source : e5a3296723d6a64db38427d4b30fb820d0516abd
2018-06-26 15:15:19 +02:00
Nathan Froyd
95af520ba8 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
72fd93fa0f 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.

--HG--
extra : rebase_source : 1b5f7a02ad8495d68cd29289f7beea59b8912183
2018-06-23 07:28:26 +09:00
Mike Hommey
733f22fb0d Bug 1471096 - Vendor rustc_version. r=froydnj
--HG--
extra : rebase_source : ea0b7697b33e1ec6554ba90a354c8b314293800c
2018-06-26 10:00:26 +09:00
Mike Hommey
0ddc27774e 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.

--HG--
extra : rebase_source : de968c61dc4ef337fdc28745c202334ac41763cd
2018-06-26 14:40:51 +09:00
Mike Hommey
354a9e27a0 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.

--HG--
extra : rebase_source : 7072e622e95f363d4a6c3a8e272d3445d998b592
2018-06-21 18:13:03 +09:00
Narcis Beleuzu
dfdddff94d Merge autoland to mozilla-central. a=merge 2018-06-21 12:46:57 +03:00
Makoto Kato
98b8c3e3a6 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
c913a59748 Merge central to inbound. a=merge 2018-06-21 04:19:13 +03:00
Mike Hommey
f73a72d4c0 Fixup moz.build error logic from bug 1465709. r=me 2018-06-21 07:26:48 +09:00
Mike Hommey
0d05f8f1bc Bug 1469766 - Update OOM hook on rustc 1.28 after rust PR 51543. r=froydnj
--HG--
extra : rebase_source : ac43ba616b4ed00f54b8c79f909174f8603604c6
2018-06-20 13:44:10 +09:00
Chris Manchester
30f730a545 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

--HG--
extra : rebase_source : faa44a40404b24f753ba25962397a1ca484de3fe
2018-06-13 22:33:23 -07:00
shindli
11cbcef059 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
25a7f13729 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

--HG--
extra : rebase_source : 4d9d4379a07eee5b7ee6ffde0e60d156c8c88333
2018-06-13 13:00:24 -07:00
Mike Hommey
d0e5083a98 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.

--HG--
extra : rebase_source : 6c097151046d088cf51f4755dd69bde97bb8bd8b
2018-05-31 16:36:05 +09:00
Henri Sivonen
e4805fd183 Bug 1466807 - Update encoding_rs to 0.8.0. r=emk
MozReview-Commit-ID: 30vmruy1kiL

--HG--
extra : rebase_source : 0e3e489fde0485919cd03529ba5d6d030863bfc1
2018-06-05 13:50:20 +03:00
Mike Hommey
8b091c97fd 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.

--HG--
extra : rebase_source : 458fed1ffd6f9294eefef61f10ff7a284af0d986
2018-05-29 08:48:47 +09:00
Kris Maglione
f8506d46d0 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

--HG--
extra : rebase_source : ceb091b9475a2b101156405a02a60015fc36da17
2018-05-10 10:36:53 -07:00
Tom Ritter
faac718e99 Bug 1457295 Trick clang+lld+lto into ordering NSModules correctly also r=glandium
MozReview-Commit-ID: 4JgOOVhA3YU

--HG--
extra : rebase_source : e99d6fdf715064339b01935eedc213bbe98a3deb
2018-04-27 09:29:37 -05:00
Matthew Gregan
c34ad7d35b 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

--HG--
extra : rebase_source : 6e8cf15241b0282406322cce29220a677edd1585
2018-05-10 12:11:51 +12:00
Coroiu Cristina
b11f8e3794 Backed out changeset b5fac38dc791 (bug 1457359) for build bustage on a CLOSED TREE 2018-05-11 04:17:18 +03:00
Matthew Gregan
f5a2e9785e 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

--HG--
extra : rebase_source : 299d9f8347d2f0ef0d66b9ea52a4ee7a31af0cd2
2018-05-10 12:11:51 +12:00
Ted Mielczarek
4fa1d9ed5a 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

--HG--
extra : rebase_source : 75f9a71fdd3f315d98a34f0209956e07c7372b4f
2018-03-14 14:07:15 -04:00
Xidorn Quan
c8ab3318eb Bug 1457524 part 5 - Add crates with tests into the list of RUST_TESTS. r=froydnj,heycam
MozReview-Commit-ID: AaENV1xKKTg

--HG--
extra : rebase_source : cad65a85a66df2a10d5074bc36d932319163be93
2018-05-02 12:01:33 +10:00
Xidorn Quan
1c8dc43017 Bug 1457524 part 1 - Use a list for rust tests. r=froydnj
MozReview-Commit-ID: 6A0hHClXDUE

--HG--
extra : rebase_source : 827bb569642aa2ad834b94f08af3f60b68552de4
2018-05-02 11:51:25 +10:00
Mike Hommey
ed54beeab0 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.

--HG--
extra : rebase_source : 08a85aa102b24380b1f6764effffcc909ef3191b
2018-05-01 10:30:03 +09:00
sotaro
666719aa81 Bug 1456350 - Forward webrender error log to gfxCriticalNote r=bholley 2018-04-27 16:48:39 +09:00
Nika Layzell
4f380cfe7d 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.




--HG--
rename : netwerk/base/rust-url-capi/.gitignore => netwerk/base/mozurl/.gitignore
2018-04-10 17:49:50 -04:00
Matt Brubeck
c6fc591471 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

--HG--
extra : rebase_source : 79e5684cba143f6215e7dcf9367f82227bca48c5
2018-04-05 15:51:14 -07:00
Dan Glastonbury
9e176607b5 Bug 1432779 - Rust vendor. r=jya
MozReview-Commit-ID: 5FQjIPBWTEZ
2018-03-24 10:57:58 +01:00
Emilio Cobos Álvarez
24cf27d33c 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
d6c6d38406 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
330ddd82bf 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
9a973356aa Bug 1379265 - Add C API for rsdparsa; r=rillian
MozReview-Commit-ID: FdhpTT5wzwI

--HG--
extra : rebase_source : 9b0188b6e3c2604da77250b9e004508e91fe4497
2017-06-30 12:54:12 -07:00
Jan Beich
a09324313a Bug 1442753 - Use in-tree copy of cubeb-sys even when cubeb-remoting is disabled. r=kamidphish
MozReview-Commit-ID: 3dGtrSqr9HW

--HG--
extra : rebase_source : 2d29251178092a5a6206659ee01f546ca657dcd1
2018-03-05 03:38:33 +00:00
Matt Brubeck
be08cdcdc1 Bug 1381576 - Use a Cargo workspace for rust crates. r=ted
MozReview-Commit-ID: K6B9SifddXu

--HG--
extra : source : bbae7807c164273f6bb123d680a4fc31202d7a61
extra : amend_source : 53505e25f63a8eb228e62a0a9f3bd3ed98950296
extra : histedit_source : 597464181d4b79f5ac1a511d23e2a05aefb266da%2C63b89f3699e0e9598c8355e7293f10795acc80e7
2018-03-01 14:33:35 -08:00
Emilio Cobos Álvarez
ebde436970 No bug: Update bindgen to 0.33. r=nox on a CLOSED TREE
MozReview-Commit-ID: 4PgOmtt3zrg


--HG--
rename : third_party/rust/env_logger/.cargo-checksum.json => third_party/rust/env_logger-0.4.3/.cargo-checksum.json
rename : third_party/rust/env_logger/Cargo.toml => third_party/rust/env_logger-0.4.3/Cargo.toml
rename : third_party/rust/cfg-if-0.1.1/LICENSE-APACHE => third_party/rust/env_logger-0.4.3/LICENSE-APACHE
rename : third_party/rust/env_logger/src/lib.rs => third_party/rust/env_logger-0.4.3/src/lib.rs
rename : third_party/rust/env_logger/src/regex.rs => third_party/rust/env_logger-0.4.3/src/regex.rs
rename : third_party/rust/env_logger/src/string.rs => third_party/rust/env_logger-0.4.3/src/string.rs
rename : third_party/rust/env_logger/tests/regexp_filter.rs => third_party/rust/env_logger-0.4.3/tests/regexp_filter.rs
2018-03-02 20:30:14 +01:00
shindli
0ba01aed1b 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
c94fb26dea Bug 1381576 - Use a Cargo workspace for rust crates. r=ted
MozReview-Commit-ID: K6B9SifddXu

--HG--
extra : rebase_source : 75fae593e8765ec5b1e616d10eda0bc52f1f7194
extra : histedit_source : 21b38586bcc4576fce5eadff9a3c77ccf5e21341
2018-03-01 14:33:35 -08:00
Emilio Cobos Álvarez
04ea4e6ee0 Bug 1432153: Update bindgen. r=xidorn
on a CLOSED TREE.

MozReview-Commit-ID: BJH6Y58oYtk


--HG--
rename : third_party/rust/proc-macro2/.cargo-checksum.json => third_party/rust/proc-macro2-0.2.2/.cargo-checksum.json
rename : third_party/rust/proc-macro2/.travis.yml => third_party/rust/proc-macro2-0.2.2/.travis.yml
rename : third_party/rust/proc-macro2/Cargo.toml => third_party/rust/proc-macro2-0.2.2/Cargo.toml
rename : third_party/rust/proc-macro2/src/lib.rs => third_party/rust/proc-macro2-0.2.2/src/lib.rs
rename : third_party/rust/proc-macro2/src/stable.rs => third_party/rust/proc-macro2-0.2.2/src/stable.rs
rename : third_party/rust/proc-macro2/src/strnom.rs => third_party/rust/proc-macro2-0.2.2/src/strnom.rs
rename : third_party/rust/proc-macro2/tests/test.rs => third_party/rust/proc-macro2-0.2.2/tests/test.rs
2018-03-02 15:49:56 +01:00
Kartikaya Gupta
2cfaff56ac Bug 1440664 - Update Cargo lockfiles and re-vendor rust dependencies. r=jrmuizel
MozReview-Commit-ID: IZncD4fgDk7

--HG--
extra : rebase_source : e40e805ac4f069920277515ec509bc29c68b42d5
2018-03-01 16:51:58 -05:00
Servo VCS Sync
f5b5dab005 No bug - Revendor rust dependencies 2018-02-28 20:07:52 +00:00
Servo VCS Sync
ecd7b0490b No bug - Revendor rust dependencies 2018-02-28 10:03:41 +00:00
Servo VCS Sync
8c5c2dd863 No bug - Revendor rust dependencies 2018-02-27 06:13:30 +00:00