Page MenuHomeSolus

Update rust to 1.39.0
ClosedPublic

Authored by livingsilver94 on Nov 8 2019, 12:09 PM.

Details

Summary

This patch is only needed to correctly build D7865 since Rust 1.38 cannot compile Rust 1.40.

Test Plan

Built ripgrep and Firefox successfully.

Diff Detail

Repository
R2839 rust
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

livingsilver94 created this revision.Nov 8 2019, 12:09 PM
livingsilver94 requested review of this revision.Nov 8 2019, 12:09 PM
livingsilver94 added a comment.EditedNov 8 2019, 12:12 PM

I'm statically linking our LLVM. This leads to a slightly reduced package size (see T8434). If anyone familiar with LLVM can tell me that the toolchain doesn't break its ABI often, I could even link Rust dynamically against it to save even more space.

This is fine with me. Eventually, to enable cross-lang PGO/LTO in firefox, both firefox and rust will need to link/use the same llvm/clang to maintain compatibility and reduce the risk of weird compiler mismatch errors. I think this is how you link it as a shared lib:

[llvm]
link-shared = true

@joebonrichie are you the LLVM maintainer? So that I know if your reply suffices or I have to wait for Core.

Link LLVM dynamically

@joebonrichie please notify me when you've pushed your LLVM 9 patch.

Actually build Rust dynamically against LLVM 9

livingsilver94 edited the summary of this revision. (Show Details)Nov 12 2019, 9:23 PM

I confirm, as @ermo anticipated, that Firefox 70 does not build using Rust 1.39.0.

Well, unless you want to patch it.

livingsilver94 edited the test plan for this revision. (Show Details)Dec 8 2019, 6:15 PM
livingsilver94 edited the summary of this revision. (Show Details)
livingsilver94 edited the summary of this revision. (Show Details)
JoshStrobl accepted this revision.Jan 9 2020, 9:31 AM
JoshStrobl added a subscriber: JoshStrobl.

LGTM, thanks!

This revision is now accepted and ready to land.Jan 9 2020, 9:31 AM
This revision was automatically updated to reflect the committed changes.